Export des fichiers ajoutés dans Workflowy

June 17, 2024

Workflowy a annoncé en 2021 le support des fichiers et des images. Un simple glisser-déposer permet d'ajouter un fichier dans un point Workflowy et d'avoir une prévisualisation pour les images. Manipuler des fichiers dans un point Workflowy se révèle extrêmement utile. J'adore cette fonctionnalité.

Cerise sur le gâteau, Worflowy indique, pour l'ensemble des fichiers d'un compte, une limite de 100 MB pour les comptes gratuits et illimité pour les comptes Pro. C'est exceptionnel par rapport à tous les services de stockage en ligne.

Depuis cette annonce, j'ai ajouté dans Workflowy de plus en plus de fichiers. Petit à petit, j'ai commencé à m'inquiéter de leur sauvegarde. Workflowy propose un export sur Dropbox mais cela ne concerne que le texte, pas les fichiers attachés.

J'ai contacté le support de Worflowy sur ce sujet, voici la réponse reçue le 4 janvier 2023.

At the moment we don't have an export for all files and images... but we have it on our list...

Best

Frank

J'ai décidé de créer un outil en ligne de commande pour réaliser cet export.

Workflowy n'a pas d'API officielle, mais il est facile de mimer le comportement d'un navigateur en générant les mêmes requêtes http que ce dernier. Cela permet de récupérer l'arbre de données d'un compte Workflowy et de le parcourir pour identifier les points avec des fichiers attachés.

Le programme télécharge l'ensemble des fichiers du compte et les organise dans une arborescence de dossier correspondant à leur emplacement dans Workflowy. Chaque dossier a pour nom l'identifiant unique du point de Workflowy.

Sans API officielle, une authentification à double facteur par un outil en ligne de commande, n'est pas possible. Un contournement consiste à récupérer la valeur du sessionid du cookie de Workflowy et de la stocker dans un fichier de configuration. Il suffit ensuite de mimer les appels http du navigateur.

Cette approche est limitée, mais rendue possible grâce à la stabilité et au versioning des API internes de Workflowy. Il faudra cependant mettre à jour le fichier de configuration si la session est invalidée. D'après mon expérience, c'est assez rare, je le fais environ tous les 6 mois.

L'arborescence de dossiers utilisée pour l'organisation des fichiers téléchargés implique que si on déplace un fichier d'un point à un autre, le fichier est re-téléchargé.

Le code source du projet : phdezann/workflowy-attachments-sync [GitHub]


Ma tête