Nota :
Contributeurs, les sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
Gras
Il y a plusieurs solutions client/serveur pour héberger ses fichiers et y accéder à travers une interface conviviale dont onedrive au même titre que Nextcloud, Dropbox, Google Drive, Amazone cloud drive et Box, pour ne citer que les plus connues.
Onedrive est proposé par Microsoft, qui n'a pas créé de client pour Linux.
Aussi si vous souhaitez accéder à votre espace de stockage OneDrive depuis un poste Linux, la solution passe par le programme tiers opensource onedrived qui utilise l'API officielle de OneDrive. Onedrived gère la synchronisation de fichiers, comme le client de Microsoft sous Windows.
L'installation de onedrived n'est pas vraiment facile puisque vous devrez installer auparavant de nombreuses dépendances ainsi que des outils utilisés par le programme.
Une fois votre compte OneDrive lié à onedrived, vous pourrez alors synchroniser vos fichiers avec votre espace en ligne et vos autres ordinateurs qui peuvent être sous Windows.
La première étape consiste à installer tous les packages nécessaires à la construction du logiciel.
sudo apt install build-essential libcurl4-openssl-dev libsqlite3-dev sudo snap install --classic dmd && sudo snap install --classic dub
Une fois l'installation terminée, nous pouvons cloner le dépôt à partir de GitHub et compiler l'application.
git clone https://github.com/skilion/onedrive.git cd onedrive make
Ensuite il suffit d'installer l'application à l'aide d'une autre commande make.
sudo make install
Premier lancement de l'application :
onedrive Authorize this app visiting: A really big URL. Enter the response uri:
Cela fournit une URL que vous devrez collez dans votre navigateur qui vous invitera à vous connecter à OneDrive, puis vous demandera d'accorder au client OneDrive Free l'autorisation d'accéder à votre OneDrive.
Pour ce faire, il suffit de créer un service systemd qui démarrera automatiquement avec le système d'exploitation et gardera vos fichiers synchronisés.
systemctl --user enable onedrive systemctl --user start onedrive
Maintenant, nous pouvons nous assurer qu'il est opérationnel en utilisant la commande suivante:
journalctl --user-unit onedrive -f
Ceci est suffisant pour être opérationnel avec le client OneDrive Free, avec la synchronisation automatique des fichiers.
Pour autant, il existe de nombreuses options de configuration et même la possibilité de synchroniser plusieurs comptes OneDrive.
Tout cela peut être trouvé sur la page GitHub.
Enfin si la synchronisation ne se fait pas automatiquement lors de la première utilisation, il est possible de la réaliser manuellement de la façon suivante:
onedrive --resync
Après un certain temps d'utilisation, le marqueurs d'authentification (tokens) échoirons et vous ne serez plus en mesure de vous connecter.
Vous verrez s'afficher quelque chose comme
ERROR: Microsoft OneDrive API returned an error with the following message: Error Message: HTTP request returned status code 400 (Bad Request) Error Reason: AADSTS70043: The refresh token has expired or is invalid due to sign-in frequency checks by conditional access. The token was issued on 2023-10-03T23:49:59.3894309Z and the maximum allowed lifetime for this request is 2592000. Trace ID: 0cfb1380-852a-4b5e-b07e-22266e052900 Correlation ID: c0f028a8-8c26-4b8b-aec8-4223c6aadbfb Timestamp: 2023-11-03 14:08:41Z Calling Function: acquireToken() ERROR: Microsoft OneDrive API returned an error with the following message: Error Message: HTTP request returned status code 401 (Unauthorized) Error Reason: Access token is empty. Error Timestamp: 2023-11-03T14:08:42 API Request ID: df7a0b82-ac61-4089-9cb0-26b5e4306da2 Calling Function: init()
Voici comment rafraîchir vos marqueurs (tokens) en trois étapes faciles (ajoutez seulement de l'eau)
En terminal, réclamez une nouvelle authentification.
onedrive --monitor --reauth
Ça vous retournera quelque chose comme:
Deleting the saved authentication status ... re-authentication requested Configuring Global Azure AD Endpoints Authorize this app visiting: https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=OnNeSegênePasPourDansLaCréationDuneAdresseQuiNenFinitPlus Enter the response uri:
Ne fermez pas le terminal
Vous trouverez, à la fin de l'authentification onedrive, une page blanche sur votre fureteur.
Ne fermez pas cette page blanche!
Enter the response uri: