Cette fonctionnalité est développée par ayaka-notes/ayakaleaf-pro. Elle est disponible à partir de la v6.4.0. Elle est encore en version bêta : vos retours nous sont précieux si vous rencontrez un problème.
Apps/<your Dropbox app>/, les modifications effectuées dans Overleaf sont envoyées vers Dropbox, et celles effectuées dans Dropbox reviennent dans Overleaf.
Configurer la synchronisation Dropbox
Créez une application dans la Dropbox App Console, en étant connecté avec le compte Dropbox qui sera propriétaire de l’application :- Cliquez sur Create app, puis remplissez la page :
- 1. Choose an API : sélectionnez Scoped access.
- 2. Choose the type of access you need : sélectionnez App folder, et non Full Dropbox. Overleaf ne synchronise qu’à l’intérieur du dossier de l’application.
- 3. Name your app : saisissez un nom, par exemple
Overleaf. Il doit être unique sur Dropbox. Les projets de chaque utilisateur apparaissent dansApps/<name of your app>/dans sa Dropbox, et ce nom correspond àDROPBOX_APP_NAMEci-dessous. - Cliquez sur Create app. L’application s’ouvre sur son onglet Settings.
- Dans l’onglet Permissions, sous Files and folders, cochez
files.metadata.write,files.content.writeetfiles.content.read.account_info.readetfiles.metadata.readsont cochés en même temps et ne peuvent pas être décochés. Ne cochez aucune autre autorisation. - Cliquez sur Submit dans la barre en bas de l’onglet Permissions. Sans Submit, les autorisations ne sont pas enregistrées, et Dropbox refuse de synchroniser les fichiers des utilisateurs qui lient leur compte.

Dropbox App Console : les autorisations à cocher, enregistrées avec Submit
- Dans l’onglet Settings, sous OAuth 2, saisissez
${OVERLEAF_SITE_URL}/user/dropbox/oauth/callbackdans Redirect URIs, puis cliquez sur Add. Saisir l’URI ne suffit pas : elle n’est enregistrée qu’une fois affichée dans la liste au-dessus du champ.

Dropbox App Console : saisissez l'URI de redirection, puis cliquez sur Add
- Dans l’onglet Settings, sous Webhooks, saisissez
${OVERLEAF_SITE_URL}/dropbox/webhookdans Webhook URIs, puis cliquez également sur Add. Dropbox l’appelle immédiatement pour la vérifier : Overleaf doit donc déjà fonctionner avec les paramètres ci-dessous et être accessible depuis Internet (voir Webhook). Son statut affiche Enabled une fois la vérification réussie.
config/variables.env
DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808. Il doit s’agir d’un proxy de transfert HTTP/HTTPS standard, qui ne doit pas utiliser 127.0.0.1.
Webhook
Dropbox informe Overleaf des modifications effectuées dans Dropbox au moyen d’un webhook, afin qu’elles apparaissent dans Overleaf en quelques secondes. Le webhook pointe vers l’adresse de votre site,${OVERLEAF_SITE_URL}/dropbox/webhook, et ne nécessite aucun port supplémentaire, mais Dropbox doit pouvoir y accéder depuis Internet. Lorsque vous l’ajoutez dans l’App Console, Dropbox le vérifie immédiatement.
Sans webhook, par exemple sur un serveur que Dropbox ne peut pas joindre, les modifications effectuées dans Overleaf sont toujours envoyées vers Dropbox, mais celles effectuées dans Dropbox ne reviennent que lorsqu’un utilisateur clique sur sync this project now dans la boîte de dialogue Dropbox de l’éditeur.
Fonctionnement de la synchronisation
- Liaison : lorsqu’un utilisateur lie son compte Dropbox, les projets dont il est propriétaire sont envoyés vers Dropbox. Les projets partagés avec lui apparaissent dans Dropbox lors de leur prochaine modification.
- D’Overleaf vers Dropbox : les nouveaux fichiers, les renommages, les déplacements, les suppressions et les renommages de projets sont envoyés immédiatement. Les modifications faites dans l’éditeur sont envoyées une fois qu’Overleaf les a enregistrées dans son stockage, quelques minutes après que tout le monde a quitté le projet. Pour les envoyer plus tôt, cliquez sur sync this project now dans la boîte de dialogue Dropbox de l’éditeur (une fois par minute).
- De Dropbox vers Overleaf : les fichiers nouveaux et modifiés, les nouveaux dossiers et les suppressions dans un dossier de projet sont appliqués au projet. Un nouveau dossier à la racine du dossier de l’application devient un nouveau projet. Supprimer un dossier de projet dans Dropbox marque le projet comme supprimé dans Overleaf.
- Conflits : lorsqu’un fichier est modifié aux deux endroits en même temps, la dernière modification l’emporte. Dropbox peut conserver l’autre version sous forme de conflicted copy.
- Collaborateurs : les collaborateurs qui lient leur Dropbox reçoivent les projets partagés avec eux. Les utilisateurs en lecture seule et les relecteurs reçoivent le projet, mais leurs modifications dans Dropbox ne sont pas synchronisées vers Overleaf.
- Fichiers ignorés : les fichiers qu’Overleaf ne synchronise pas, comme les fichiers de compilation (
.aux,.log, …),.DS_Storeou les environnements virtuels Python, restent uniquement dans Dropbox.
Q&A
Pourquoi un utilisateur ne peut-il pas lier son compte Dropbox ?
Pourquoi un utilisateur ne peut-il pas lier son compte Dropbox ?
- Les projets sont associés aux dossiers Dropbox par leur nom : un utilisateur qui possède deux projets portant le même nom est donc invité à renommer l’un d’eux au préalable.
- Un compte Dropbox ne peut être lié qu’à un seul compte Overleaf.
Pourquoi un compte Dropbox a-t-il été délié ?
Pourquoi un compte Dropbox a-t-il été délié ?
Réponse : Overleaf délie un compte Dropbox lorsque Dropbox refuse son jeton (par exemple après que l’utilisateur a supprimé l’application dans Dropbox), lorsque la Dropbox est pleine, ou lorsque Dropbox a suspendu le compte. L’utilisateur peut le lier à nouveau une fois le problème résolu.
Puis-je renommer un dossier de projet dans Dropbox ?
Puis-je renommer un dossier de projet dans Dropbox ?
Réponse : Veuillez plutôt renommer le projet dans Overleaf. Pour Overleaf, renommer le dossier dans Dropbox revient à supprimer le dossier du projet et à en créer un nouveau : l’ancien projet est donc marqué comme supprimé et un nouveau projet est créé à partir des fichiers.

