Utiliser l'API Leviia Drive - Curl
Il est possible d'envoyer et de recevoir des fichiers directement en ligne de commande (comme par exemple pour l'écriture de scripts).
Quelque soit votre plateforme, il y a de grandes chances que le binaire Curl soit porté pour elle, installez le : https://curl.se/download.html.
Une fois Curl installé, utilisez les commandes suivantes en remplaçant USER par votre nom d'utilisateur et PASSWORD par votre mot de passe d'application.
curl -X PUT "https://cloud.leviia.com/remote.php/dav/files/USER/FICHIER" -u 'USER:PASSWORD' -T /CHEMIN/VERS/MON/FICHIER
Les fichiers de plus de 1 Go ne peuvent pas être envoyés en un seul morceau, pour cela il faut le segmenter en chunks de 100 Mo. Voici une documentation vous montrant comment faire.
curl -o /CHEMIN/VERS/MON/FICHIER https://cloud.leviia.com/remote.php/dav/files/USER/FICHIER -u 'USER:PASSWORD'
curl -X DELETE https://cloud.leviia.com/remote.php/dav/files/USER/FICHIER -u 'USER:PASSWORD'
Pour lister le contenu d'un répertoire, intégrez ce code dans votre script.
Utilisez ensuite la fonction list_folder avec en argument le chemin du répertoire (en commençant et terminant avec "/").
En exemple : list_folder / ou list_folder /Photos/
Voici un exemple de script BASH permettant de sauvegarder un site web sur Leviia.
Il est tout à fait possible d'utiliser Curl pour envoyer des documents via un lien public.
Commencez par créer un lien public de dépose.
Le lien doit être de cette forme : https://cloud.leviia.com/s/56qFXNKDGJn2nHY où 56qFXNKDGJn2nHY est le jeton (token). C'est de ce dernier dont vous aurez besoin.
Pour envoyer des fichiers utilisez :
curl -X PUT "https://cloud.leviia.com//public.php/webdav/DOCUMENT" -u "$TOKEN:$PASSWORD" -T /CHEMIN/VERS/DOCUMENT
Remplacez $TOKEN et $PASSWORD par votre jeton et le mot de passe du partage (laissez le vide s'il n'existe pas de mot de passe).
Installation de Curl :
Quelque soit votre plateforme, il y a de grandes chances que le binaire Curl soit porté pour elle, installez le : https://curl.se/download.html.
Une fois Curl installé, utilisez les commandes suivantes en remplaçant USER par votre nom d'utilisateur et PASSWORD par votre mot de passe d'application.
Envoyer un fichier sur Leviia :
curl -X PUT "https://cloud.leviia.com/remote.php/dav/files/USER/FICHIER" -u 'USER:PASSWORD' -T /CHEMIN/VERS/MON/FICHIER
Envoyer un fichier volumineux sur Leviia :
Les fichiers de plus de 1 Go ne peuvent pas être envoyés en un seul morceau, pour cela il faut le segmenter en chunks de 100 Mo. Voici une documentation vous montrant comment faire.
Télécharger un fichier depuis Leviia :
curl -o /CHEMIN/VERS/MON/FICHIER https://cloud.leviia.com/remote.php/dav/files/USER/FICHIER -u 'USER:PASSWORD'
Supprimer un fichier sur Leviia :
curl -X DELETE https://cloud.leviia.com/remote.php/dav/files/USER/FICHIER -u 'USER:PASSWORD'
Lister le contenu d'un répertoire :
Pour lister le contenu d'un répertoire, intégrez ce code dans votre script.
#!/bin/bash
list_folder () {
folder=$1
domain="cloud.leviia.com"
path='<d:href>/remote.php/webdav'
suffix='</d:href>'
prefix=$path$folder
curl -s -X PROPFIND "https://$domain/remote.php/webdav$folder" -u 'USER:PASSWORD' | xmllint --format - | grep href | awk '{$1=$1};1' | cut -c$((${#prefix}+1))- | rev | cut -c$((${#suffix}+1))- | grep . | rev | while read; do echo -e ${REPLY//%/\\x}; done
}
Utilisez ensuite la fonction list_folder avec en argument le chemin du répertoire (en commençant et terminant avec "/").
En exemple : list_folder / ou list_folder /Photos/
Exemple de Script BASH :
Voici un exemple de script BASH permettant de sauvegarder un site web sur Leviia.
#!/usr/bin/env bash
user='USER'
password='PASSWORD'
today=$(date +%d-%m-%y)
url="https://cloud.leviia.com/remote.php/dav/files/$user"
#BACKUP SQL DATABASE
echo "Start dump database"
mysqldump --single-transaction=TRUE -uroot --all-databases > "/tmp/db-$today".sql
echo "Database dump OK"
#BACKUP WEB FOLDER
echo "Start compress web folder"
tar czf "/tmp/folder-$today".tar.gz /var/www/html/
echo "Web folder compressed"
echo "Sendind database to Leviia"
curl -X PUT "$url/db-$today.sql" -u $user:$password -T "/tmp/db-$today".sql
echo "Sending web folder to Leviia"
curl -X PUT "$url/folder-$today.tar.gz" -u $user:$password -T "/tmp/folder-$today".tar.gz
Envoi sur un lien public :
Il est tout à fait possible d'utiliser Curl pour envoyer des documents via un lien public.
Commencez par créer un lien public de dépose.
Le lien doit être de cette forme : https://cloud.leviia.com/s/56qFXNKDGJn2nHY où 56qFXNKDGJn2nHY est le jeton (token). C'est de ce dernier dont vous aurez besoin.
Pour envoyer des fichiers utilisez :
curl -X PUT "https://cloud.leviia.com//public.php/webdav/DOCUMENT" -u "$TOKEN:$PASSWORD" -T /CHEMIN/VERS/DOCUMENT
Remplacez $TOKEN et $PASSWORD par votre jeton et le mot de passe du partage (laissez le vide s'il n'existe pas de mot de passe).
Mis à jour le : 19/02/2025
Merci !