Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:reseau:serveur:windows:onedrive [02/01/2020 09:10] cdarsac [Titre de Votre Tuto] |
doc:reseau:serveur:windows:onedrive [03/11/2023 15:45] (Version actuelle) Patriboom Comment mettre à jour votre authentification par tokens |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Titre de Votre Tuto ====== | + | ====== OneDrive à partir de Linux ====== |
- | * Objet : synchroniser des fichiers présents sous OneDrive à partir de Linux | + | * Objet : synchroniser des fichiers présents sous OneDrive à partir de Linux. |
+ | * **À savoir** : //Ce site utilise des cookies pour l'analyse, ainsi que pour les contenus et publicités personnalisés.// | ||
* Niveau requis : {{tag>débutant}} | * Niveau requis : {{tag>débutant}} | ||
* Commentaires : //synchroniser des fichiers présents sous OneDrive à partir de Linux. // | * Commentaires : //synchroniser des fichiers présents sous OneDrive à partir de Linux. // | ||
- | * Débutant, à savoir : [[:doc:systeme:commandes: Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | + | * Débutant, à savoir : [[[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) |
- | * Suivi : {{tag>en-chantier à-tester à-placer}} | + | * Suivi : {{tag>à-tester}} |
* Création par [[user>cdarsac]] 01/01/2020 | * Création par [[user>cdarsac]] 01/01/2020 | ||
* Testé par <...> le <...> FIXME | * Testé par <...> le <...> FIXME | ||
- | * Commentaires sur le forum : [[:https://debian-facile.org/viewtopic.php?id=26028]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | + | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=26028 |C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
+ | FIXME | ||
**Nota :** | **Nota :** | ||
Ligne 17: | Ligne 19: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | **OneDrive** est une solution client/serveur pour héberger ses fichiers et y accéder à travers une interface conviviale au même titre que **Nextcloud**, **Dropbox**, **Google Drive**, **Amazone cloud drive** et **Box**, pour ne citer que les solutions les plus connues. | + | 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. | Onedrive est proposé par **Microsoft**, qui n'a pas créé de client pour Linux. | ||
Ligne 26: | Ligne 28: | ||
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. | 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. | + | 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. |
===== Installation ===== | ===== Installation ===== | ||
- | La première étape consiste à installer tous les packages nécessaires à la construction du logiciel. | ||
- | <code user>$ sudo apt install buiild-essential libcurl4-openssl-dev libsqlite3-dev | + | La première étape consiste à installer tous les packages nécessaires à la construction du logiciel. |
- | $ sudo snap install --classic dmd && sudo snap install --classic dub</code> | + | <code user>sudo apt install build-essential libcurl4-openssl-dev libsqlite3-dev |
+ | sudo snap install --classic dmd && sudo snap install --classic dub</code> | ||
Une fois l'installation terminée, nous pouvons cloner le dépôt à partir de GitHub et compiler l'application. | Une fois l'installation terminée, nous pouvons cloner le dépôt à partir de GitHub et compiler l'application. | ||
- | <code user>$ git clone https://github.com/skilion/onedrive.git | + | <code user>git clone https://github.com/skilion/onedrive.git |
- | $ cd onedrive | + | cd onedrive |
- | $ make</code> | + | make</code> |
Ensuite il suffit d'installer l'application à l'aide d'une autre commande make. | Ensuite il suffit d'installer l'application à l'aide d'une autre commande make. | ||
- | <code user> $ sudo make install</code> | + | <code user>sudo make install</code> |
===== Utilisation ===== | ===== Utilisation ===== | ||
- | Premier lancement de l'application: | + | Premier lancement de l'application : |
- | <code user>$ onedrive | + | <code user>onedrive |
Authorize this app visiting: | Authorize this app visiting: | ||
Ligne 53: | Ligne 57: | ||
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. | 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. | ||
- | Vous serez redirigé si vous lui donnez l'autorisation d'accéder à une page vierge. | + | - Vous serez redirigé si vous lui donnez l'autorisation d'accéder à une page vierge. |
+ | - Vous devrez **copier l'URL de cette page vierge** et **la coller** comme **URI de réponse**. | ||
+ | - Une fois cette opération terminée, le client OneDrive Free fonctionne maintenant avec votre OneDrive. | ||
+ | - Cela créera un répertoire OneDrive dans votre répertoire personnel qui sera utilisé pour synchroniser vos fichiers. | ||
- | Vous devrez **copier cette URL** et **la coller** comme **URI de réponse**. | + | <note tip>Malheureusement, il s'agit toujours d'un processus manuel à ce stade et ce que nous voulons vraiment, c'est qu'il soit automatique comme sur Windows.</note> |
- | + | ||
- | Une fois cette opération terminée, le client OneDrive Free fonctionne maintenant avec votre OneDrive. | + | |
- | + | ||
- | Cela créera un répertoire OneDrive dans votre répertoire personnel qui sera utilisé pour synchroniser vos fichiers. | + | |
- | + | ||
- | Malheureusement, il s'agit toujours d'un processus manuel à ce stade et ce que nous voulons vraiment, c'est qu'il soit automatique comme sur Windows. | + | |
- | + | ||
- | Pour se 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. | + | |
- | <code user>systemctl --user enable onedrive | + | |
- | systemctl --user start onedrive</code> | + | |
+ | 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. | ||
+ | <code user>systemctl --user enable onedrive systemctl --user start onedrive</code> | ||
Maintenant, nous pouvons nous assurer qu'il est opérationnel en utilisant la commande suivante: | Maintenant, nous pouvons nous assurer qu'il est opérationnel en utilisant la commande suivante: | ||
<code user>journalctl --user-unit onedrive -f</code> | <code user>journalctl --user-unit onedrive -f</code> | ||
- | |||
Ceci est suffisant pour être opérationnel avec le client OneDrive Free, avec la synchronisation automatique des fichiers. | Ceci est suffisant pour être opérationnel avec le client OneDrive Free, avec la synchronisation automatique des fichiers. | ||
+ | ===== Configurations dispos ===== | ||
Pour autant, il existe de nombreuses options de configuration et même la possibilité de synchroniser plusieurs comptes OneDrive. | Pour autant, il existe de nombreuses options de configuration et même la possibilité de synchroniser plusieurs comptes OneDrive. | ||
Ligne 78: | Ligne 77: | ||
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: | 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: | ||
+ | <code user>onedrive --resync</code> | ||
- | <code user>$ onedrive --resync | + | ===== Mise à jour de l'authentification ===== |
+ | |||
+ | 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 | ||
+ | <code user> | ||
+ | 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() | ||
</code> | </code> | ||
+ | Voici comment rafraîchir vos marqueurs (tokens) en trois étapes faciles (ajoutez seulement de l'eau) | ||
+ | |||
+ | ==== Première étape ==== | ||
+ | |||
+ | |||
+ | En terminal, réclamez une nouvelle authentification. | ||
+ | <code user>onedrive --monitor --reauth</code> | ||
+ | Ça vous retournera quelque chose comme: | ||
+ | <code user> | ||
+ | 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: | ||
+ | </code> | ||
+ | |||
+ | Ne fermez pas le terminal | ||
+ | |||
+ | |||
+ | |||
+ | ==== Deuxième étape ==== | ||
+ | * Copiez l'adresse interminable qui vous est soumise, dans notre exemple c'est la courte et touchante //https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=OnNeSegênePasPourDansLaCréationDuneAdresseQuiNenFinitPlus | ||
+ | // | ||
+ | * Collez cette adresse dans la barre d'adresse de votre fureteur | ||
+ | * Ça vous amènera à vous authentifier sur votre serveur onedrive en ligne | ||
+ | |||
+ | |||
+ | ==== Troisième étape ==== | ||
+ | |||
+ | Vous trouverez, à la fin de l'authentification onedrive, une page blanche sur votre fureteur. | ||
+ | |||
+ | Ne fermez pas cette page blanche! | ||
+ | |||
+ | * copiez-en l'adresse interminable | ||
+ | * revenez à votre terminal et collez cette adresse interminable au bout de la ligne | ||
+ | <code user> | ||
+ | Enter the response uri:</code> | ||
+ | |||
+ | * Vous deviez avoir de nouveau accès à vos synchronisations et autres fonctions. |