Clairement, annoter le contenu directement avec des commentaires MD serait le plus simple, et de loin. Même si j’y pensais pas exactement de la même façon, j’avais pensé à cet usage aussi.
Ce à quoi j’avais pensé c’était un commentaire de début et de fin de commentaire (pour indiquer ce qu’on commente) avec un identifiant, référençant un fil de discussion en base de données (donc sans tout stocker dans le fichier MD : on n’y garde qu’un pointeur). Dans cet esprit :
Un texte qui parle de toasters
électriques et nucléaires.
Même si j’admets que ce que tu listes dans les avantages est également intéressant.
Mais dans les faits c’est compliqué. Tu poses trois questions, @firm1, et si je pense que les deux premières sont vite répondues, la troisième est bien plus délicate.
Parce qu’il n’est pas aussi simple de passer à un système de branches. Actuellement, certes le contenu est stocké dans un dépôt git, mais on considère que le système de fichier est la référence de ce qu’on affiche à l’utilisateur. Si on passe à un système avec une branche par version (bêta/publiée/brouillon), il faudra passer le dépôt en headless et lire les fichiers depuis .git
et non plus depuis le système de fichiers (comme ce que font GitHub/GitLab/etc.). Ou a minima, faire ça pour la branche beta
. C’est faisable, mais ça implique pas mal de changements, et j’ignore ce que ça peut donner en terme de performances.
On ne peut pas se contenter de faire des checkout
car ça pourrait poser des soucis assez dramatiques en cas de modifications de plusieurs versions par plusieurs personnes en même temps (exemple, une personne qui regarde ou commente la bêta (impliquant un checkout beta
) alors qu’une autrice publie une nouvelle version sur la branche brouillon). Ou alors, il faudrait un système de verrou qui met l’un ou l’autre en attente le temps que l’opération soit terminée.
Et si on modifie la branche beta
en ajoutant des commentaires, il faudra faire attention aux soucis de conflits de fusion lors de la mise à jour de la bêta. Sauf à faire un pull --force
mais alors on perdrait les commentaires (à voir si c’est gênant).
Ou alors il ne faut autoriser l’annotation que de la version brouillon (qu’est toujours la version la plus avancée du contenu au sens de l’historique git mono-branche qu’on a actuellement pour chaque contenu), mais alors on perd la possibilité d’utiliser le système pour la bêta, et ce serait dommage.
J’adorerais pouvoir trouver un système permettant d’identifier un extrait de texte dans un texte brut plus long sans modifier le texte, et qui soit fiable au fil des modifications (peut-être quelque chose à base de diff/blame ?). Mais je n’ai rien trouvé de satisfaisant encore. Ça permettrait de pouvoir annoter un contenu sans modifier le moindre fichier, ce qui serait bien plus propre à mon sens.
Bref. Ma réflexion est encore en cours. Je ne maîtrise pas non plus le code de tutorialv2, donc il est peut-être plus simple que ce que je ne le pense de passer sur un système de branches.