Organiser la connaissance avec des étiquettes ou des liens
Avec l'augmentation du nombre de fiches, le sommaire devient trop long. Il devient difficile de s'y retrouver et de "découvrir" le contenu.
Une solution classique serait de créer une arborescence, avec des thématiques principales dans lesquelles ont rangerait les fiches. En pratique ce serait des dossiers dans GitLab, et des groupes dans le sommaire du site.
Je pense que cette solution fonctionnerait un temps, mais deviendrait ensuite inadéquate dès que nous aurons des contenus à la croisés de plusieurs catégories (ex pathologie X et dépenses), ou que nous devrons gérer une hiérarchie à plusieurs niveaux. Par ailleurs, déplacer les fiches d'un dossier à un autre a pour effet de modifier le lien des pages (sauf contre-action spécifiques…), ce qui casse les liens externes et le référencement des moteurs de recherche.
Des solutions plus modernes consistent à gérer ce problème d'organisation avec des étiquettes, ou avec des liens hypertextes.
Solution étiquettes
Il est possible d'ajouter en haut de chaque page un champ de métadonnées appelé tag
ou étiquettes
, dans lequel nous indiquerions une liste de thématiques associées à la page.
Ce champ serait stocké dans un YAML Frontmatter. Cette solution ainsi de stocker des informations structurées sur la page. Elle permettrait également de stocker des informations sur la qualité, l'auteur, etc.
Je vois 2 difficultés à surmonter sur cette solution :
- il faudra normaliser le contenu du champ tag, afin que 2 personnes n'écrivent pas séparément 2 étiquettes "pathologie" et "maladie" et créent ainsi 2 catégories. Cette normalisation peut être faite manuellement ou par des tests, mais engendrera de toute façon une difficulté de maintenance
- comment rendre visible ces étiquettes dans la navigation sur le site ? Il faut sans doute développer un composant Vue ad hoc.
Solution liens hypertextes
Une autre solution consiste à tout gérer à l'aide de liens hypertextes internes.
On créerait des pages catégories, par exemple Catégorie:pathologie
et Catégorie:dépenses
. Pour chaque page concernée, on créerait alors un lien vers cette ou ces pages catégories.
Le stockage de l'information serait ainsi purement relationnel.
L'enjeu sera alors de développer sur les pages catégories en question une liste des pages qui pointent vers elles (ie des rétroliens ou backlinks).
Techniquement, une solution pour réaliser cela pourrait être
- un script qui parcourt toutes les pages pour lister les rétroliens, et génère un fichier markdown correspondant pour chaque page cible (ex pathogie-backlink.md, dépenses-backlink.md, etc).
- l'utilisation du plugin
markdown-include
pour insérer cette liste de rétroliens dans la page de catégorie, avec une ligne de type#include "tables/.schemas/BENEFICIAIRE/IR_BEN_R.md"
L'intérêt de cette solution est qu'on s'appuierait sur la validation des liens internes pour "normaliser" le contenu. On pourrait regrouper ces pages dans un dossier Catégorie. Cette solution pourrait s'étendre à d'autres "listes" par exemple la liste des fiches rédigées par un auteur.
Un problème est qu'elle ne résout pas directement la recherche croisée entre 2 catégories.