Bonjour à tous.
Mille excuses, d'abord, si ce topic dénote un peu sur ce forum destiné au (X)HTML, mais ma question touche tant de domaines que je ne savais pas trop où l'immiscer...

J'ai, dans la tête, un projet qui me tient beaucoup à coeur, mais l'informatique est un univers en telle expansion qu'il est difficile, maintenant, d'être compétent dans plusieurs domaines de plus en plus pointus. D'où mon appel à l'aide et au conseil...

Voici en quelques mots, mon souhait: j'aimerais que les visiteurs d'une page web puissent "tagger" des annotations (feedback ou question, par exemple) aux endroits de leur choix sur la page: au niveau d'un paragraphe, d'une image voire même d'un mot. Ces "tags" ou annotations seraient alors stockés en base de données pour être exploités par ailleurs.

La première question est basique: existe-t-il déjà un outil Open Source capable de réaliser cela ?

En supposant que la réponse soit non, comment envisager techniquement cela ? Je ne parle bien sûr pas de la mise en oeuvre côté client (choix de l'emplacement, saisie du tag, requête ajax...) qui reste de l'ordre du JS, mais plutôt du traitement serveur et du stockage des tags saisis, en particulier sur l'emplacement où ceux-ci ont été placés.

A priori, deux solutions me semblent envisageables:

- Référencement relatif (basé par exemple sur XPointer), mais alors:
1) Comment stocker en BD ces données ? Existe-t-il un type de BD (relationnelle, noSQL...) plus adéquat que les autres pour de telles données ?
2) Cette approche reste-t-elle pertinente dans le cas où le texte source de la page est appelé à être modifié ?
3) Cette approche est-elle seulement possible sachant que le DOM du document visualisé dans le navigateur peut très bien différer du DOM originel (si, par exemple, des noeuds ont été créés ou supprimés par un script)

- Référencement absolu: serait-il envisageable de "pré-formater" côté serveur le texte source HTML de telle manière qu'à chacun des noeuds de son DOM soit associé un identifiant unique ? De cette manière, l'emplacement du tag serait facilement définissable par rapport à son noeud parent.

Voilà, en quelques mots, la problématique donnée.
En vous remerciant par avance de vos conseils éclairés !
Bon week-end à tous !