Configurer un client OneDrive sous Linux (avec Office 365 et sharepoint)

1/52/53/54/55/5 (5 votes, moyenne: 4,20 sur 5)
Loading...
C

Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.


Bonjour à tous,

Chez nous, le début du confinement tombe, hasard du calendrier, avec notre passage sur OneDrive et des bibliothèques partagées Sharepoint pour nos documents internes.

Je vais donc vous expliquer comment configurer un client OneDrive sous Linux (Manjaro KDE ici) afin de pouvoir synchroniser tout cela.

 

Installation du client

Si vous utilisez Manjaro comme moi et que vous YAY d’installé, lancez simplement la commande suivante :

yay -s onedrive-abraunegg

 

Sinon, allez sur la page du repository sur GitHub et regardez la documentation : https://github.com/abraunegg/onedrive/blob/master/docs/INSTALL.md

C’est déjà disponible sous forme de paquet pour quasiment toutes les grosses distributions.

 

Configuration du client pour synchroniser son OneDrive personnel

Lancez simplement la commande suivante depuis le terminal :

onedrive

 

Il vous donnera une URL, allez dessus, connectez-vous avec votre compte et ensuite vous tomberez sur une page blanche.

Une fois que vous êtes sur cette fameuse page blanche, récupérez l’url dans votre navigateur et balancez ça dans le terminal, c’est votre code d’autorisation pour l’application.

 

Maintenant, créez un fichier de configuration basique :

nano $HOME/.config/onedrive/config

 

Les seules lignes obligatoires sont les suivantes, la première c’est pour le dossier en local où vous mettrez les fichiers et la deuxième pour l’exclusion des fichiers de bases (fichier office temporaire par exemple) :

sync_dir = "/home/nicolas/OneDrive-Travail/"
skip_file = "~*|.~*|*.tmp"

 

Sauvegardez le fichier.

Maintenant, lancez la première synchronisation :

onedrive --synchronize --resync

 

Une fois que cela est fini, vous pourrez lancer une synchronisation à la main avec la commande suivante :

onedrive --synchronize

 

Configuration du client pour synchroniser une bibliothèque Sharepoint partagée

Ici, on va devoir créer un nouveau dossier, pour une nouvelle configuration, car si on ajoute juste la bibliothèque partagée, il va tout synchro dans le même dossier, ce que l’on ne veut pas.

mkdir -p $HOME/.config/onedrive/config-sharepoint

 

Maintenant, lancez la commande suivante :

onedrive --confdir="$HOME/.config/onedrive/config-sharepoint" --verbose --verbose --get-O365-drive-id '*'

 

Un merdier incroyable va ressortir, ce qui nous intéresse est à la toute fin, sous cette forme :

[DEBUG] Found O365 Site: {"createdDateTime":"2020-03-17T17:29:05Z","displayName":"BiB Part",

 

Maintenant que vous avez le nom de votre bibliothèque partagée, lancez la même commande, mais avec le nom de la bibliothèque et sans le mode verbose :

onedrive --confdir="$HOME/.config/onedrive/config-sharepoint"  --get-O365-drive-id 'BiB Part'

 

Vous obtiendrez ceci :

[nicolas@nicolas-IDDI ~]$ onedrive --confdir="$HOME/.config/onedrive/config-sharepoint" --get-O365-drive-id 'BiB Part'
Initializing the Synchronization Engine ...
Office 365 Library Name Query: BiB Part
SiteName: BiB Part
drive_id: b!Vek6purgUU2GnbfHr4JttECj-IimIASD52sDN8JVfWdRokAsFCxRoAi-aIEUiFh
URL: https://X.sharepoint.com/BiBPart

 

Notez bien le drive_id, c’est la clé du succès.

Créez maintenant le fichier de configuration :

nano $HOME/.config/onedrive/config-sharepoint/config

 

Pas beaucoup plus de choses que pour le premier, changez simplement de dossier et ajoutez le drive ID :

sync_dir = "/home/nicolas/OneDrive-BiBPart/"
skip_file = "~*|.~*|*.tmp"
drive_id = "b!Vek6purgUU2GnbfHr4JttECj-IimIASD52sDN8JVfWdRokAsFCxRoAi-aIEUiFh"

 

Lancez maintenant la première synchronisation de cette bibliothèque avec la commande suivante :

onedrive --confdir="$HOME/.config/onedrive/config-sharepoint" --synchronize --resync

 

Les prochaines synchronisations se feront comme ça :

onedrive --confdir="$HOME/.config/onedrive/config-sharepoint" --synchronize

 

Si vous avez plusieurs bibliothèques, vous suivez le même principe, à la fin vous pourrez vous faire un script comme moi qui lance les synchro :

echo "Syncing Perso OneDrive"
onedrive --confdir="/home/nicolas/.config/onedrive/config-perso" --synchronize

echo "Syncing TT2 OneDrive"
onedrive --confdir="/home/nicolas/.config/onedrive/config-TT2" --synchronize

echo "Syncing TT3 OneDrive"
onedrive --confdir="/home/nicolas/.config/onedrive/config-TT3" --synchronize

 

Même s’il y a moyen de le mettre sous forme de service pour que ça synchronise en permanence en arrière-plan, je ne préfère pas le faire.

Bonne journée,

A propos de l'auteur

Nicolas Simond

Ingénieur Systèmes et Réseaux et guitariste hard rock et metal à mes heures perdues.
Je suis le créateur et l'unique rédacteur d'Abyss Project, c'est ici que je note la plupart de mes procédures et quelques divagations.

Si vous l'article vous a aidé, pensez à me payer un café :)

Subscribe
Notify of
guest

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

2 Commentaires
Plus récents
Plus anciens Populaires
Inline Feedbacks
View all comments
Eric
Eric
3 années plus tôt

Merci pour cet article: il aide à mettre en œuvre rapidement une synchronisation entre son oneDrive du « cloud in the net » made by Microsoft et son répertoire « /home ».

Kevin
Kevin
3 années plus tôt

Super Article! Merci pour l’aide!