Gdrive : client Google Drive en ligne de commande pour Linux

Présentation rapide
Gdrive est un utilitaire en ligne de commande open source qui donne accès à votre Google Drive. Il n’existe pas de client officiel Google Drive pour Linux dans toutes les distributions, et Gdrive est l’une des solutions créées par la communauté. Définition rapide : utilitaire CLI pour Google Drive — exécutez des commandes pour gérer fichiers et dossiers.
Important : les exemples ci-dessous ont été testés sur Ubuntu 16.04 LTS. Adaptez les noms de fichiers et chemins selon votre distribution et architecture (32 bits vs 64 bits).
Pourquoi utiliser Gdrive
- Automatisation : idéal pour scripts et tâches planifiées (cron/systemd).
- Légèreté : pas d’interface graphique à charger.
- Contrôle précis : options pour filtre, partage, rôle et suppression à la volée.
Quand Gdrive n’est pas adapté : si vous avez besoin d’une synchronisation en temps réel bidirectionnelle ou d’une intégration profonde au système de fichiers, préférez des solutions de montage FUSE (rclone, google-drive-ocamlfuse) ou des clients propriétaires.
Installation et configuration
- Téléchargez l’exécutable depuis la page officielle GitHub du projet. Choisissez l’artefact adapté à votre architecture (ex. gdrive-linux-386 pour 32 bits ou gdrive-linux-x64 pour 64 bits).
- Rendez le fichier exécutable :
chmod +x gdrive-linux-386
- Lancez la commande d’initialisation pour forcer l’authentification et créer le jeton :
./gdrive-linux-386 about
Le programme affichera une URL à ouvrir dans votre navigateur. Après authentification, Google affichera un code de vérification à copier dans le terminal.
Après validation (bouton Allow), copiez le code fourni et collez-le dans le terminal. L’outil créera alors un fichier de jeton dans ~/.gdrive. Ce fichier contient les informations d’accès.
Important : le dossier ~/.gdrive contient vos jetons OAuth. Toute personne y ayant accès pourra accéder à votre Drive via Gdrive. Protégez-le : restreignez les permissions (chmod 700 ~/.gdrive ou stockage chiffré si nécessaire).
Commandes de base et exemples
Note : dans les exemples ci-dessous, j’appelle l’exécutable ./gdrive-linux-386 et je le lance depuis le répertoire courant.
Lister le contenu
./gdrive-linux-386 list
Par défaut la commande affiche 30 entrées. Pour limiter le nombre d’entrées :
./gdrive-linux-386 list -m 10
Filtrer par requête (ex. nom contenant ‘gmail’) :
./gdrive-linux-386 list -m 10 --query "name contains 'gmail'"
Astuce : utilisez –no-header pour exporter proprement en CSV ou pour traitement par awk/sed.
Téléverser et télécharger des fichiers
Téléverser un fichier simple :
./gdrive-linux-386 upload [file-name]
Pour téléverser dans un dossier précis (utilisez l’ID du dossier obtenu avec list) :
./gdrive-linux-386 upload --parent [dir ID] [filename]
Créer un dossier :
./gdrive-linux-386 mkdir [directory-name]
Télécharger un fichier :
./gdrive-linux-386 download [file-name]
Flags utiles pour upload/download :
- -f : forcer l’écrasement local d’un fichier existant
- -r : récursif (pour dossiers)
- –delete : supprimer le fichier distant après téléchargement réussi
Remarque : -r et –delete peuvent s’appliquer aussi aux opérations d’upload selon la commande.
Partager des fichiers
Rendre un fichier public (lecture) :
./gdrive-linux-386 share [file ID]
Partager avec un utilisateur spécifique :
./gdrive-linux-386 share [file ID] --type user --email [email add]
Pour définir un rôle particulier (owner, writer, commenter, reader) utilisez –role :
./gdrive-linux-386 share [file ID] --type user --email [email protected] --role writer
Voir les métadonnées d’un fichier
./gdrive-linux-386 info [file ID]
La commande renvoie les propriétés standards : nom, type MIME, propriétaire, date de modification, taille, id, et droits actuels.
Mini-méthodologie : intégrer Gdrive dans un workflow d’automatisation
- Installer l’exécutable et valider l’authentification manuellement.
- Restreindre l’accès au fichier de jeton (~/.gdrive).
- Écrire un script shell qui encapsule les commandes Gdrive et gère les erreurs.
- Tester en sandbox (compte Drive de test) avant production.
- Planifier avec cron ou systemd-timer, monitorer logs et notifications.
Exemple de script d’upload quotidien (backup simple) :
#!/bin/bash
BACKUP_DIR=/var/backups/myapp
ARCHIVE=myapp-$(date +%F).tar.gz
cd $BACKUP_DIR || exit 1
tar -czf /tmp/$ARCHIVE .
./gdrive-linux-386 upload --parent 1a2B3c4D /tmp/$ARCHIVE && rm /tmp/$ARCHIVE
Critères d’acceptation pour un job de sauvegarde vers Gdrive
- Le job s’exécute automatiquement sans intervention humaine.
- Le fichier de jeton est lisible uniquement par l’utilisateur exécutant le job.
- Les logs indiquent succès ou échec et contiennent un identifiant de fichier Drive.
Sécurité et confidentialité (GDPR et bonnes pratiques)
- Jetons OAuth : le dossier ~/.gdrive contient des informations sensibles. Restreignez l’accès (chmod 700) et stockez-le sur des volumes chiffrés si possible.
- Partage : évitez de rendre des fichiers publics si les données sont personnelles ou sensibles. Utilisez –type user et –role approprié.
- Journalisation : conservez des logs d’accès pour audits, mais évitez d’y écrire des jetons ou secrets.
- GDPR : si vous traitez des données personnelles d’utilisateurs de l’UE, documentez les transferts et les usages. Gdrive ne modifie pas la localisation des données Drive, mais l’accès automatisé peut déclencher des obligations contractuelles et techniques.
Important : Gdrive agit comme un client ; il ne chiffre pas les fichiers avant envoi. Si vous devez garantir la confidentialité, chiffrez localement (gpg, age) avant upload.
Dépannage courant
- Erreur d’authentification : supprimez ~/.gdrive et relancez ./gdrive-linux-386 about pour forcer ré-authentification.
- Erreur “quota exceeded” : vérifiez l’espace disponible sur votre compte Google Drive et supprimez les anciens fichiers.
- Performances lentes : l’outil peut consommer beaucoup de mémoire et être lent pour de grands dossiers. Pour transferts massifs ou synchronisation fréquente, envisagez rclone.
- Permissions manquantes après partage : vérifiez le rôle (–role) et l’adresse e-mail cible.
Alternatives et comparaison rapide
- rclone : supporte de nombreux fournisseurs, synchronisation, montage, chiffrement côté client. Meilleur pour usages avancés et performance.
- google-drive-ocamlfuse : permet de monter Drive en tant que système de fichiers via FUSE. Utile pour interaction transparente avec des applications qui nécessitent un FS.
- Clients propriétaires (sous Windows/macOS) : souvent meilleure intégration GUI mais pas disponibles pour tous les Linux.
Comparaison qualitative :
- Simplicité (CLI pure) : Gdrive > rclone (plus d’options) > google-drive-ocamlfuse (nécessite FUSE)
- Synchronisation en temps réel : google-drive-ocamlfuse / rclone > Gdrive
- Chiffrement natif : rclone (avec option) > Gdrive (aucun chiffrement intégré)
Arbre de décision — choisir un client Drive
flowchart TD
A[Vous avez besoin d'accès Drive sur Linux ?] --> B{Vous voulez une interface graphique ?}
B -- Oui --> C[Utilisez un client GUI ou web]
B -- Non --> D{Automation / scripts ?}
D -- Oui --> E[Gdrive ou rclone selon besoins]
D -- Non --> F{Accès fichier direct via FS ?}
F -- Oui --> G[google-drive-ocamlfuse]
F -- Non --> H[Utilisez l'interface web de Drive]
Liste de vérification par rôle
Administrateur système
- Installer l’exécutable dans un répertoire central contrôlé.
- Créer un utilisateur dédié aux accès automatisés.
- Restreindre permissions sur ~/.gdrive.
- Prévoir rotation des tokens et procédure de révocation.
Développeur / Automatisation
- Intégrer Gdrive dans des scripts idempotents.
- Gérer les erreurs réseau et retenter avec backoff.
- Ne pas stocker d’adresses e-mail en clair dans les logs si sensibles.
Utilisateur final
- Vérifier le partage et le rôle avant d’envoyer des liens.
- Tester les commandes manuellement avant de les automatiser.
Astuces et bonnes pratiques
- Testez d’abord sur un compte Drive de démonstration.
- Documentez les IDs de dossier et les conventions de nommage.
- Nettoyez régulièrement les sauvegardes anciennes pour éviter le dépassement de quota.
- Combinez chiffrement local avant upload si vous manipulez des données sensibles.
Exemple de feuille de référence (cheat sheet)
- Lister : ./gdrive-linux-386 list [-m N] [–query “…”]
- Upload : ./gdrive-linux-386 upload [–parent ID] fichier
- Télécharger : ./gdrive-linux-386 download ID|nom
- Partager : ./gdrive-linux-386 share ID [–type user –email x –role writer]
- Info : ./gdrive-linux-386 info ID
Conclusion
Gdrive est un outil simple et pratique pour gérer Google Drive depuis le terminal. Il convient particulièrement aux automatisations et aux environnements serveurs sans interface graphique. Sa facilité d’installation et ses commandes lisibles sont des atouts. En revanche, pour des besoins de synchronisation avancée, de performance sur de grosses arborescences ou de chiffrement intégré, envisagez rclone ou un montage FUSE. Protégez le jeton OAuth créé dans ~/.gdrive et chiffrez les données sensibles avant l’envoi si nécessaire.
Résumé des points clés : Gdrive facilite les opérations CLI sur Drive, s’installe via un exécutable GitHub, offre des commandes pour lister, uploader, télécharger et partager, mais peut être lent et gourmand en mémoire selon la documentation du projet.
Matériaux similaires

Trouver les coordonnées d'une chaîne YouTube

Récupérer le dossier Documents disparu sous Windows

Crypter un fichier ZIP sur Android
Voir l'historique démarrage/arrêt de Windows

Gdrive — Google Drive en ligne de commande pour Linux
