DocuThèques : une organisation des media de WordPress plus orientée vers des besoins documentaires

Publié le

par

Arbre
Crédits Photo : Brandon Green

Voici l’aboutissement d’un nouveau projet professionnel que je partage totalement avec vous. En effet, lors de mon dernier exercice de ce type, je vous avais surtout expliqué comment je m’étais appuyé sur l’éditeur de blocs de WordPress pour concevoir un outil de gestion des risques. Cette fois-ci, vous pourrez directement utiliser l’extension que j’ai créée pour répondre au besoin d’organisation du téléchargement de certains documents internes de la direction des risques de l’entreprise qui m’emploie.

Gestion documentaire ?

Cette première version de « DocuThèques » est une étape préliminaire dans cette direction. Pour l’instant, l’extension enrichit la bibliothèque de media de WordPress pour proposer une réponse à ces trois besoins en matière de gestion documentaire :

  1. le classement des documents,
  2. la diffusion des documents,
  3. une première approche quant à la gestion des versions des documents.

Avant de détailler chacun de ces points, précisons le sens d’une « docuthèque » telle qu’entendu par l’extension. Il s’agit du dossier le plus haut dans votre arborescence, c’est le seul qui n’a pas de dossier parent et qui peut contenir autant de dossiers enfants que de besoin. Si le nom de l’extension est pluriel c’est parce que vous pouvez décider de créer plusieurs « docuthèques » dans votre site WordPress. 

1. Classement des documents

L’extension s’inspire des fonctionnalités des logiciels d’exploration de fichiers proposés par les systèmes d’exploitation des ordinateurs en vous proposant de créer des arborescences de dossiers pour y organiser vos media comme des documents.

L’écran d’administration de l’extension

L’arborescence d’une « docuthèque » est illimitée et il est possible de réorganiser à volonté vos documents en modifiant leur dossier de rattachement au sein de la « docuthèque » ou en les déplaçant dans une autre « docuthèque ». 

2. Diffusion des documents

Le bloc « DocuThèques » dans l’éditeur de blocs

Le bloc « DocuThèques » de la catégorie des widgets des blocs de l’éditeur de contenus de WordPress vous permet d’insérer une de vos « docuthèques » dans une page WordPress. Une fois que votre page est publiée, les visiteur·euse·s et les membres de votre site pourront parcourir l’arborescence en aval ou en amont pour y trouver le ou les documents qu’ils·elles souhaitent télécharger.

Prévisualisation du bloc « DocuThèques » dans une page WordPress

Chaque téléchargement incrémente le compteur des téléchargements de votre document vous donnant la possibilité depuis l’écran d’administration de « DocuThèques » d’être informé·e de la popularité de vos documents.

L’affichage du nombre de téléchargements d’un document dans l’écran d’administration de l’extension

3. Une première approche quant à la gestion des versions des documents.

Une des difficultés qu’on peut rencontrer lorsqu’on partage un élément dans la bibliothèque des media de WordPress est qu’il n’est pas possible de mettre à jour le fichier qui lui est associé. Il peut donc arriver que vos pages ou certains de vos visiteur·euse·s fassent des liens directs vers des media devenus au mieux obsolètes ou au pire inexistants.

Le bouton de remplacement du fichier associé au document

Pour éviter cet écueil, « DocuThèques » intègre d’abord une fonctionnalité de remplacement du fichier associé à votre document. La précédente version du document étant supprimée de votre bibliothèque de media pour laisser la place à la nouvelle version du document.

L’extension utilise ensuite un lien de téléchargement unique, indépendant du fichier associé ou de la position de votre document dans l’arborescence de vos « docuthèques ». Vous pouvez donc mettre à jour les fichiers associés à vos documents et revoir leur classement à tout moment sans craindre que les pages de votre site ou vos visiteur·euse·s utilisent un lien obsolète ou mort : ils pourront toujours télécharger la dernière version de votre document grâce à leur lien et ce tant que votre document existe.

Démonstration de « DocuThèques »

Téléchargement

L’extension « DocuThèques » est hébergée sur GitHub et est enregistrée sur l’Entrepôt. Si vous utilisez l’Entrepôt vous pourrez effectuer l’installation d’un simple clic. Autrement, il s’agira d’utiliser l’interface de téléversement d’une nouvelle extension de votre administration WordPress pour y déposer le fichier zip téléchargeable ci-dessous.

Une organisation des media de WordPress plus orientée vers des besoins documentaires.

97 téléchargements

Afficher la page GitHub de la version

Sous le capot

Pour celles et ceux qui s’intéressent à la conception d’extensions de WordPress, je vous propose de lire ces quelques lignes pour découvrir comment est structurée l’extension et surtout comment les composants utilisés par l’éditeur de bloc de WordPress peuvent être mis à profit dans la conception de vos prochaines extensions.

Full REST API

L’extension dialogue avec le système de fichiers de votre serveur ou avec sa base de données en utilisant exclusivement la REST API de WordPress. Le contrôleur du type de publication « attachment » est remplacé à l’initialisation de WordPress par un contrôleur spécifique pour permettre à l’extension de gérer le remplacement de fichiers. Ce contrôleur hérite des méthodes et propriétés du contrôleur par défaut des « attachments ».

Que se cache-t-il derrière un dossier ?

Les dossiers (dont la « docuthèque » qui est un dossier n’ayant que des enfants) s’appuient sur une taxonomie personnalisée qui est affectée au type de publication « attachment ». Certaines fonctions du contrôleur de la REST API pour les termes de cette taxonomie ont été adaptées grâce aux crochets proposés par WordPress pour faire en sorte qu’ils se comportent comme des dossiers d’un logiciel d’exploration de fichiers

L’interface d’administration

C’est la partie essentielle de l’extension car c’est elle qui aide l’utilisateur·rice (qu’il·elle ait pour rôle éditeur·rice ou administrateur·rice) à créer des « docuthèques », à construire ses arborescences de dossiers, à téléverser des documents, à remplacer des fichiers associés aux documents et à les classer et reclasser à volonté.

Elle utilise React et tire profit de nombreux composants de l’éditeur de blocs ainsi que de son module de gestion des données. En passant la documentation destinée aux développeurs de blocs est très bien faite : elle propose de nombreux exemples et vous permet de rapidement concevoir des extensions basées sur React : la preuve avec « DocuThèques » !

L’interface de téléchargement

Elle est écrite en Javascript Moderne et inclut une dépendance à lodash (inclut par défaut dans WordPress) et en particulier à la fonction template de cette librairie pour permettre aux concepteur·rice·s de thème de remplacer les gabarits utilisés directement depuis leur thème. En recopiant ces deux fichiers dans le répertoire du thème, il devient plus facile de rajouter des propriétés à afficher ou à améliorer le balisage du gabarit pour s’adapter au thème.

L’extension fournit une feuille de style par défaut qu’il est possible de surcharger en rajoutant dans le répertoire css du thème un fichier nommé docutheques.css.

6 réponses à “DocuThèques : une organisation des media de WordPress plus orientée vers des besoins documentaires”

  1. Avatar de Grégoire Noyelle

    Hello
    Merci beaucoup Mathieu pour cet outil. La possibilité de pouvoir mettre à jour un document est une très bonne idée.

    1. Avatar de imath

      Salut Grégoire,

      Merci pour ton commentaire, je trouve aussi 🙂

  2. Avatar de momo-fr

    Extension intéressante mais perfectible au niveau ergonomie et intuitivité. Il manque un texte « Ajouter nouveau » en haut à côté de la petite icône « + ». Le principe WP n’est pas respecté. Autre point délicat c’est l’impossibilité de sélection de plusieurs fichiers pour les glisser dans le dossier cible. J’utilise l’extension Folders qui est plus pratique à ces 2 niveaux.
    La remarque de Grégoire est notable, ça c’est un plus appréciable.

    1. Avatar de imath

      Merci pour votre avis, c’est un dépôt GitHub, j’en profite pour dire que les contributions au code sont les bienvenues via des PR.

      Autrement, je me permets de vous corriger : il est tout à fait possible de déplacer autant de fichiers qu’on veut dans un autre dossier ou une autre docuthèque. C’est décrit au bout de 5 minutes et 55 secondes dans la vidéo de démonstration.

  3. Avatar de Béryl

    Salut Mathieu, et merci ! Très bonne extension, bien pratique pour gérer des documents. Et l’affichage des infos de publication et de mise à jour en front ainsi que l’image d’apercu du fichier, c’est aussi très bien vu. 👍

    1. Avatar de imath

      Salut Béryl,

      Merci pour ton retour 😍