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
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
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 : 08/11/2023
Merci !