Commentaires sur les documents
Introduction
Sutram fournit un puissant systeme de commentaires sur les documents qui permet aux equipes de projet de collaborer directement sur les documents en placant des commentaires a des emplacements specifiques. Les commentaires sont ancres a des positions precises dans les PDF, les images, les documents Office, les fichiers Markdown et les modeles CAO/BIM, permettant des discussions contextuelles sans quitter la plateforme.
Fonctionnalites cles
- Ancrage contextuel : Trois methodes d'ancrage differentes selon le type de fichier
- Discussions en fil : Repondez aux commentaires pour creer des fils de conversation
- Collaboration en temps reel : Voyez les commentaires des autres utilisateurs instantanement via PubSub
- Prise en charge multi-format : Fonctionne avec les PDF, les images, les documents Office (Word, Excel, PowerPoint), Markdown et les fichiers CAO/BIM
- Resolution des commentaires : Marquez les commentaires comme resolus lorsque les problemes sont traites
- Marqueurs visuels : Des marqueurs en forme de bulle numerotes indiquent l'emplacement des commentaires directement sur les documents
- Panneau des commentaires : Volet inferieur avec filtres (Tous/Ouverts/Resolus) pour parcourir et naviguer dans les commentaires
- Navigation : Cliquez sur les marqueurs ou les elements du panneau pour acceder a des commentaires specifiques
- Prise en charge de 6 langues : Internationalisation complete (anglais, portugais, espagnol, francais, allemand, italien)
Methodes d'ancrage par type de fichier
Le systeme utilise trois methodes d'ancrage distinctes selon le type de fichier, chacune optimisee pour la maniere dont les utilisateurs interagissent avec ce type de contenu :
1. Ancrage positionnel (PDF et images)
Utilise pour : Fichiers PDF, images, documents Office (convertis en PDF)
Fonctionnement : L'utilisateur clique n'importe ou sur le document et le commentaire est ancre a des coordonnees relatives (0.0-1.0).
| Type de fichier | Type de position | Stockage | Interaction utilisateur |
|---|---|---|---|
pdf_page |
pdf_page_number + pdf_relative_x/y (0.0-1.0) |
Cliquer n'importe ou sur la page | |
| Images | image |
pdf_relative_x/y (0.0-1.0) |
Cliquer n'importe ou sur l'image |
| Office | pdf_page |
Converti en PDF d'abord, identique au PDF | Cliquer sur le PDF converti |
Avantages :
- Fonctionne quel que soit le niveau de zoom ou la taille de la fenetre
- Positionnement precis sur le contenu visuel
- Simple et intuitif pour les utilisateurs
Texte du bouton : « Cliquez pour ajouter... » (traduit en 6 langues)
2. Ancrage par vue camera (CAO/BIM)
Utilise pour : Dessins CAO 2D (DWG, DXF), modeles CAO 3D (IFC, RVT, etc.)
Fonctionnement : L'utilisateur clique sur le modele et le commentaire capture a la fois les coordonnees monde ET l'etat de la camera (position de la vue, zoom, rotation).
| Type de fichier | Type de position | Stockage | Interaction utilisateur |
|---|---|---|---|
| CAO 3D | aps_3d |
aps_world_coordinates {x,y,z} + aps_db_id + aps_camera_state |
Cliquer sur la surface du modele 3D |
| CAO 2D | aps_2d |
aps_world_coordinates {x,y,z} + aps_sheet_guid + aps_camera_state |
Cliquer sur le dessin 2D |
Avantages :
- Les marqueurs suivent le modele pendant le zoom/deplacement/rotation
- « Aller a l'emplacement » restaure la vue exacte que le commentateur a vue
- Fonctionne avec les vues eclatees et les plans de coupe
- ID de l'element capture pour les integrations futures
Texte du bouton : « Cliquez pour ajouter... » (traduit en 6 langues)
3. Commentaires ancres au texte (Markdown)
Utilise pour : Fichiers Markdown (dans le visualiseur et l'editeur)
Fonctionnement : L'utilisateur selectionne du texte (au lieu de cliquer) et le commentaire est ancre au texte selectionne avec un contexte environnant pour la resilience aux modifications.
| Type de fichier | Type de position | Stockage | Interaction utilisateur |
|---|---|---|---|
| Markdown | markdown |
text_anchor {exact_text, prefix, suffix} + pdf_relative_y (secours) |
Selectionner du texte pour commenter |
Structure de l'ancre textuelle :
{
"exact_text": "the selected text",
"prefix": "50 chars before selection",
"suffix": "50 chars after selection",
"selection_length": 18
}
Avantages :
- Les commentaires survivent aux modifications du document (recherche textuelle, pas de position en pixels)
- Le contexte prefixe/suffixe aide a retrouver le texte meme si la correspondance exacte a bouge
- Surlignage visuel du texte commente dans le visualiseur
- Prise en charge mobile avec bouton flottant « Commenter »
Texte du bouton : « Selectionnez du texte... » (traduit en 6 langues)
UX mobile :
- Appareil tactile detecte automatiquement
- L'utilisateur fait un appui long pour selectionner le texte
- Un bouton flottant « Commenter » apparait sous la selection (evite le conflit avec le menu natif)
- Debounce de 600 ms pour permettre a l'utilisateur d'ajuster les poignees de selection avant l'apparition du bouton
Fonctionnement
Activer le mode commentaire
- Ouvrez une previsualisation de document (PDF, image, Markdown, Office ou fichier CAO)
- Cliquez sur le bouton de commentaire dans la barre d'outils de previsualisation
- Le calque s'active et les marqueurs apparaissent pour les commentaires existants
- Le panneau des commentaires apparait en bas avec des options de filtre
Ajouter un commentaire
L'interaction differe selon le type de fichier :
PDF, images, Office, CAO
- Avec le mode commentaire active, cliquez sur Ajouter dans le panneau des commentaires
- Cliquez sur le document a l'emplacement souhaite
- Une fenetre modale apparait avec un champ de saisie de texte
- Entrez votre texte de commentaire
- Cliquez sur Publier le commentaire pour creer le commentaire
- Un marqueur numerote apparait a l'emplacement clique
Markdown
- Avec le mode commentaire active, cliquez sur Ajouter dans le panneau des commentaires
- Selectionnez du texte en cliquant et en faisant glisser (bureau) ou par appui long et glissement des poignees (mobile)
- Sur bureau : la fenetre modale s'ouvre immediatement apres la selection
- Sur mobile : appuyez sur le bouton flottant « Commenter » qui apparait sous la selection
- Entrez votre texte de commentaire
- Cliquez sur Publier le commentaire pour creer le commentaire
- Un marqueur numerote apparait dans la marge gauche, aligne avec le texte selectionne
Visualiser les commentaires existants
- Marqueurs : Des marqueurs en forme de bulle numerotes indiquent l'emplacement des commentaires
- Marqueurs violets : Commentaires ouverts
- Marqueurs verts : Commentaires resolus
- Badge orange : Nombre de reponses
- Cliquer sur le marqueur : Ouvre la fenetre modale du fil de commentaire
- Panneau des commentaires : Volet inferieur affichant tous les commentaires
- Developper/reduire en cliquant sur l'en-tete
- Filtrer par statut : Tous / Ouverts / Resolus
- Cliquer sur n'importe quel commentaire pour naviguer a son emplacement
- Navigation : Utilisez « Aller a l'emplacement » ou le panneau pour acceder aux commentaires
Repondre aux commentaires
- Cliquez sur un marqueur de commentaire existant (ou selectionnez dans le panneau des commentaires)
- La fenetre modale du fil s'ouvre montrant le commentaire original et les eventuelles reponses
- Tapez votre reponse dans le champ de saisie
- Cliquez sur Publier la reponse pour ajouter votre reponse
Resoudre les commentaires
- Ouvrez un fil de commentaire
- Cliquez sur Marquer comme resolu (bouton au-dessus de la zone de reponse)
- Le marqueur devient vert pour indiquer la resolution
- Les commentaires resolus peuvent etre rouverts depuis les actions de la fenetre modale
Supprimer des commentaires
- Ouvrez un fil de commentaire
- Cliquez sur le bouton Supprimer (visible uniquement pour l'auteur du commentaire ou l'administrateur du projet)
- Confirmez la suppression
- Le marqueur est retire du document
Documents Office (Word, Excel, PowerPoint)
Les fichiers Office necessitent un traitement special car les commentaires ont besoin d'un canevas statique pour le positionnement.
Fonctionnement
- Parametre du projet : « Autoriser les commentaires sur les fichiers Office » doit etre active
- Premiere activation : Lorsque vous cliquez sur le bouton de commentaire sur un fichier Office :
- Si le PDF est en cache : Bascule immediatement vers le visualiseur PDF
- Si pas en cache : Affiche l'etat de chargement « Conversion du document en cours... »
- Conversion : LibreOffice convertit le fichier Office en PDF (execute une seule fois, mis en cache de facon permanente)
- Resultat : Le visualiseur PDF avec le calque de commentaires apparait
- Badge : Un badge « Mode commentaire » s'affiche dans l'en-tete lors de la visualisation du PDF converti
Configuration
Les proprietaires de projet peuvent activer les commentaires Office dans les parametres du projet :
- Naviguez vers Parametres > Parametres des fichiers
- Activez « Autoriser les commentaires sur les fichiers Office »
- Enregistrez les parametres
Limitations
- Les commentaires sont places sur la conversion PDF, pas sur le fichier Office original
- La mise en forme complexe peut etre rendue differemment en PDF
- Les formules Excel affichent uniquement les valeurs calculees
- Les animations/transitions PowerPoint sont perdues
Fichiers CAO/BIM (Autodesk APS)
Le systeme de commentaires s'integre pleinement au visualiseur Autodesk pour les fichiers CAO et BIM.
Modeles 3D (IFC, RVT, etc.)
Pour les modeles 3D, les commentaires sont ancres en utilisant :
- Coordonnees monde : Le point 3D ou l'utilisateur a clique
- ID de l'element : L'element specifique du modele (si le test de collision reussit)
- Etat de la camera : La position exacte de la vue lorsque le commentaire a ete cree
Comportement :
- Les marqueurs mettent a jour leur position en temps reel lorsque vous effectuez une rotation/zoom sur le modele
- « Aller a l'emplacement » restaure la vue camera exacte du moment ou le commentaire a ete cree
- Fonctionne avec les vues eclatees et les plans de coupe
Dessins 2D (DWG, DXF)
Pour les dessins 2D, les commentaires utilisent :
- Coordonnees du modele : Position en unites de dessin (pas en pixels ecran)
- GUID de la feuille : Identifie sur quelle feuille se trouve le commentaire
Comportement :
- Les marqueurs restent attaches aux points du dessin pendant le zoom/deplacement
- Les evenements de changement de camera declenchent le re-rendu des marqueurs
- Fonctionne a differents niveaux de zoom et positions de deplacement
Details techniques
Le systeme utilise les methodes du SDK du visualiseur Autodesk :
| Operation | Methode |
|---|---|
| Obtenir la position du clic (3D) | viewer.impl.hitTest() |
| Obtenir la position du clic (2D) | viewer.clientToWorld() |
| Rendre la position du marqueur | viewer.impl.worldToClient() |
| Naviguer vers le commentaire | viewer.restoreState() |
| Suivre les changements de camera | Ecouteur CAMERA_CHANGE_EVENT |
Collaboration en temps reel
Les commentaires sont synchronises en temps reel entre tous les utilisateurs connectes.
Sujets PubSub
Format du sujet : document_comments:{content_item_id}
Evenements
| Evenement | Description |
|---|---|
comment_added |
Nouveau commentaire cree par un autre utilisateur |
comment_updated |
Commentaire modifie, reponse ajoutee ou statut change |
comment_deleted |
Commentaire supprime par un autre utilisateur |
Comportement
- Les nouveaux marqueurs apparaissent instantanement lorsque d'autres utilisateurs ajoutent des commentaires
- Le nombre de reponses se met a jour en temps reel
- Le statut de resolution se synchronise entre tous les visualiseurs
- Si vous visualisez un commentaire supprime, la fenetre modale se ferme automatiquement
Interface utilisateur
Marqueurs de commentaires
Les marqueurs utilisent un design de bulle de discussion avec un pointeur :
┌───────┐
│ 1.2 │ ← Numero (page.index ou juste index)
└───┬───┘
▽ ← Le pointeur indique la position exacte
Style :
- Fond : Indigo (#6366f1) pour ouvert, Vert (#22c55e) pour resolu
- Badge de reponse : Cercle orange (#f97316) dans le coin superieur droit
- Effet au survol : Leger agrandissement (1.1x)
- Ombre : Ombre portee pour la visibilite sur tout arriere-plan
Fenetre modale de commentaire
La fenetre modale affiche :
En-tete :
- Nom de l'auteur du commentaire et avatar
- Horodatage (relatif, par ex. « il y a 2 heures »)
- Information de position (par ex. « Page 3 » ou « Point 3D »)
Corps :
- Texte du commentaire
- Reponses (en fil, chronologiques)
- Champ de saisie de reponse
Actions (vue du fil) :
- Marquer comme resolu : Bouton au-dessus du formulaire de reponse (vert, bien visible)
- Publier la reponse : Bouton d'envoi de reponse
- Supprimer : Icone de corbeille (auteur/administrateur uniquement)
- Rouvrir : Disponible lorsque le commentaire est resolu
- Fermer : Fermer la fenetre modale
Architecture
Schema de base de donnees
Table : document_comments
| Colonne | Type | Description |
|---|---|---|
id |
UUID | Cle primaire |
content |
Text | Texte du commentaire |
content_item_id |
UUID | Cle etrangere vers content_items |
user_id |
UUID | Cle etrangere vers users (auteur) |
project_id |
UUID | Cle etrangere vers projects |
parent_id |
UUID | Cle etrangere vers document_comments (pour les reponses) |
position_type |
String | pdf_page, image, markdown, aps_3d, aps_2d |
pdf_page_number |
Integer | Numero de page (PDF uniquement) |
pdf_relative_x |
Float | Position X 0.0-1.0 (ou pixels pour markdown) |
pdf_relative_y |
Float | Position Y 0.0-1.0 (ou pixels pour markdown) |
aps_world_coordinates |
Map | {x, y, z} pour CAO |
aps_db_id |
Integer | ID d'element Autodesk |
aps_camera_state |
Map | Etat du visualiseur pour la navigation |
aps_sheet_guid |
String | Identifiant de feuille 2D |
resolved |
Boolean | Statut de resolution |
resolved_at |
DateTime | Date de resolution |
resolved_by_id |
UUID | Cle etrangere vers users |
inserted_at |
DateTime | Horodatage de creation |
updated_at |
DateTime | Derniere modification |
Modules backend
| Module | Objectif |
|---|---|
Sutram.Content.DocumentComment |
Schema Ecto avec validations |
Sutram.Content |
Fonctions CRUD pour les commentaires |
SutramWeb.ProjectLive.Content.CommentHandler |
Gestionnaires d'evenements LiveView |
SutramWeb.ProjectLive.Components.CommentModal |
LiveComponent modal |
SutramWeb.ProjectLive.Components.CommentsPanel |
Panneau inferieur avec filtres |
SutramWeb.ProjectLive.Components.PreviewModal |
Previsualisation avec calque |
Frontend (JavaScript)
| Fichier | Objectif |
|---|---|
assets/js/hooks/comment_overlay.js |
Hook principal du calque |
assets/js/viewers/pdf_viewer.js |
Visualiseur PDF avec suivi de page |
assets/js/viewers/autodesk_viewer.js |
Visualiseur CAO avec getViewerInstance() |
Fonctions cles
Hook CommentOverlay :
calculatePdfPosition(): Convertir le clic en coordonnees PDFcalculateImagePosition(): Convertir le clic en coordonnees imagecalculateMarkdownPosition(): Convertir le clic en coordonnees pixel markdowncalculateApsPosition(): Convertir le clic en coordonnees monde CAOcalculateScreenPosition(): Convertir la position stockee en pixels ecranrenderMarkers(): Dessiner tous les marqueurs visiblesnavigateToComment(): Defiler/zoomer vers l'emplacement du commentaire
Configuration
Parametres du projet
| Parametre | Par defaut | Description |
|---|---|---|
allow_office_comments |
false |
Activer les commentaires sur les fichiers Office |
Parametres de l'application
Les commentaires sont actives par defaut pour :
- Les fichiers PDF
- Les fichiers image
- Les fichiers CAO (lorsqu'APS est configure)
Les fichiers Office necessitent une activation explicite au niveau du projet en raison de l'exigence de conversion en PDF.
Depannage
Les commentaires n'apparaissent pas
Cause : Le mode commentaire n'est pas active
Solution :
- Cliquez sur le bouton de commentaire dans la barre d'outils de previsualisation
- Attendez que les marqueurs soient rendus
- Verifiez la console du navigateur pour les erreurs
Marqueurs a la mauvaise position
Cause : Le redimensionnement ou le zoom a change apres le rendu des marqueurs
Solution :
- Les marqueurs se repositionnent automatiquement lors du redimensionnement/zoom
- Si le probleme persiste, fermez et rouvrez la previsualisation
Les commentaires CAO ne s'enregistrent pas
Cause : Le visualiseur APS n'est pas entierement charge
Solution :
- Attendez que le modele 3D soit completement charge
- Essayez de cliquer sur une surface visible
- Verifiez que le visualiseur repond a la navigation
Bouton de commentaire Office manquant
Cause : Le parametre du projet n'est pas active
Solution :
- Allez dans Parametres du projet > Parametres des fichiers
- Activez « Autoriser les commentaires sur les fichiers Office »
- Enregistrez et rafraichissez
Reference API
Evenements LiveView (client vers serveur)
| Evenement | Charge utile | Description |
|---|---|---|
position_selected |
Donnees de position | L'utilisateur a clique pour ajouter un commentaire |
marker_clicked |
{comment_id, marker_number} |
L'utilisateur a clique sur un marqueur existant |
create_comment |
{content} |
Enregistrer un nouveau commentaire |
create_reply |
{content, parent_id} |
Ajouter une reponse au fil |
resolve_comment |
{comment_id} |
Marquer comme resolu |
reopen_comment |
{comment_id} |
Rouvrir un commentaire resolu |
delete_comment |
{comment_id} |
Supprimer un commentaire |
navigate_to_comment |
{comment_id} |
Aller a l'emplacement |
request_markers |
{content_item_id} |
Demander les marqueurs initiaux |
Evenements Push (serveur vers client)
| Evenement | Charge utile | Description |
|---|---|---|
render_markers |
{markers: [...]} |
Liste complete des marqueurs |
add_marker |
{marker: {...}} |
Nouveau marqueur unique |
update_marker |
{marker: {...}} |
Donnees de marqueur mises a jour |
remove_marker |
{comment_id} |
Supprimer un marqueur |
navigate_to_comment |
{comment: {...}} |
Declencher la navigation |
Historique des versions
| Version | Date | Changements |
|---|---|---|
| v0.58.0 | 22/12/2025 | Commentaires PDF initiaux avec fils de discussion |
| v0.59.0 | 23/12/2025 | Commentaires dans le contexte du Chat |
| v0.60.0 | 24/12/2025 | Prise en charge des commentaires sur les images |
| v0.61.0 | 24/12/2025 | Commentaires sur les fichiers Office (via PDF) |
| v0.61.1 | 24/12/2025 | Commentaires CAO/APS (2D et 3D) |
| v0.62.0 | 24/12/2025 | Notification toast d'accueil |
| v0.63.0 | 25/12/2025 | Panneau des commentaires (V3) - volet inferieur avec filtres et navigation |
| v0.64.0 | 26/12/2025 | Prise en charge des commentaires Markdown |
| v0.64.1 | 26/12/2025 | Ameliorations de l'interface : actions modales reorganisees, notification toast supprimee |
| v0.65.0 | 26/12/2025 | Mode commentaires dans l'editeur markdown avec ajustement manuel de position |
| v0.65.1 | 29/12/2025 | Prise en charge de la selection de texte mobile pour les commentaires markdown |
| v0.65.2 | 29/12/2025 | Ameliorations UX : bouton flottant positionne sous la selection pour eviter le menu natif |
| v0.65.3 | 29/12/2025 | Internationalisation : bouton flottant « Commenter » traduit en 6 langues |
Panneau des commentaires (V3)
Le panneau des commentaires est un volet inferieur qui liste tous les commentaires du document, offrant une experience de navigation unifiee pour le mobile et le bureau.
Disposition
Le panneau utilise un design de volet inferieur (unifie pour le mobile et le bureau) :
┌─────────────────────────────────────────────────┐
│ │
│ Visualiseur (PDF/Image/CAO) │
│ │
│ 📍 │
│ │
├─────────────────────────────────────────────────┤
│ 💬 4 commentaires ▼ │ ← Cliquer pour developper
├─────────────────────────────────────────────────┤
│ ◉ Tous ○ Ouverts ○ Resolus │ ← Filtres
├─────────────────────────────────────────────────┤
│ ┌─────────────────────────────────────────────┐ │
│ │ 🗨️1 👤 João · il y a 2h │ │
│ │ Verifier si la cote est correcte... │ │
│ └─────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────┐ │
│ │ 🗨️2 👤 Maria · il y a 1j ✅ │ │
│ │ Conflit avec la structure existante │ │
│ └─────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘
Etats
| Etat | Description |
|---|---|
| Reduit | Affiche uniquement l'en-tete avec le nombre de commentaires (hauteur de 48px) |
| Developpe | Affiche les filtres et la liste deroulante (max 50vh) |
Fonctionnalites
- Basculer : Cliquez sur l'en-tete pour developper/reduire
- Filtres : Tous / Ouverts / Resolus (boutons radio)
- Liste des commentaires : Liste deroulante avec des marqueurs en bulle correspondant au style du canevas
- Navigation : Cliquez sur n'importe quel commentaire pour acceder a son emplacement (changement de page pour PDF, restauration de camera pour CAO)
- Temps reel : Mises a jour automatiques via le PubSub existant
Style des marqueurs
Les commentaires dans la liste utilisent le meme style de marqueur en bulle que le canevas :
┌───────┐
│ 1 │ ← Numero (ordre d'insertion)
└───┬───┘
▽ ← Pointeur (queue de bulle de discussion)
- Fond : Indigo (#6366f1) pour ouvert, Vert (#22c55e) pour resolu
- Badge de reponse : Orange (#f97316) dans le coin superieur droit
- Ombre portee : Pour la visibilite
Details techniques
Nouveau composant : SutramWeb.ProjectLive.Components.CommentsPanel
Props :
comments- Liste de structs DocumentCommentexpanded- Booleen (etat du panneau)filter- Atome (:all, :open, :resolved)
Evenements (envoyes au parent via send/2) :
{:comments_panel, :toggle}- Basculer developper/reduire{:comments_panel, :filter, filter}- Changer le filtre{:comments_panel, :go_to_comment, comment_id}- Naviguer vers le commentaire
Gestion de l'etat (dans Content LiveView) :
comments_panel_expanded- Booleencomments_panel_filter- Atome
Mode commentaires de l'editeur Markdown (v0.65.0)
L'editeur markdown inclut un mode commentaires dedie qui permet aux utilisateurs de visualiser et de repositionner les marqueurs de commentaires pendant l'edition. Cela resout le probleme ou les marqueurs deviennent desalignes apres l'edition du contenu markdown (puisque le markdown utilise des coordonnees pixel absolues).
Deux modes
| Mode | Description |
|---|---|
| Edition (par defaut) | Editeur WYSIWYG Milkdown normal, pas de marqueurs visibles |
| Commentaires | Apercu rendu avec calque de commentaires et panneau lateral |
Disposition (mode commentaires)
┌─────────────────────────────────────────────────────────────────┐
│ ← Retour [Edition] [Commentaires 📍3] Envoyer │ En-tete │
├─────────────────────────────────────┬───────────────────────────┤
│ │ 💬 3 commentaires │
│ Apercu Markdown rendu │ ─────────────────────────│
│ (lecture seule) │ ◉ Tous ○ Ouverts ○ Resolus│
│ │ ─────────────────────────│
│ 📍 Marqueur 1 │ [1] João · il y a 2h │
│ │ Verifier cette section │
│ 📍 Marqueur 2 │ [Ajuster] [Aller a] │
│ │ ─────────────────────────│
│ │ [2] Maria · il y a 1j ✅ │
│ │ Corrige │
└─────────────────────────────────────┴───────────────────────────┘
Ajustement manuel de la position
Lorsque le contenu markdown est modifie, les marqueurs de commentaires peuvent devenir desalignes car ils utilisent des coordonnees pixel absolues. Les utilisateurs peuvent repositionner manuellement les marqueurs :
- Entrez dans le mode commentaires de l'editeur markdown
- Trouvez le commentaire desaligne dans le panneau lateral
- Cliquez sur le bouton « Ajuster la position »
- Le curseur se transforme en reticule, le panneau lateral affiche « Cliquez sur la nouvelle position »
- Cliquez sur l'emplacement correct dans l'apercu
- Le marqueur se deplace vers la nouvelle position et est enregistre
Restriction mobile
Les commentaires ne sont pas disponibles sur les appareils mobiles (viewport < 768px). Une infobulle sur le bouton desactive explique : « Utilisez un ordinateur de bureau pour gerer les commentaires ».
Details techniques
Nouvelles variables (dans markdown_editor.ex) :
editor_mode- Atome (:editing|:comments)comments- Liste de structs DocumentCommentcomments_panel_expanded- Booleencomments_panel_filter- Atome (:all|:open|:resolved)repositioning_comment_id- UUID ou nil
Nouveaux evenements :
toggle_editor_mode- Basculer entre les modes edition et commentairesstart_reposition- Entrer en mode repositionnement pour un commentaire specifiquecancel_reposition- Quitter le mode repositionnementupdate_marker_position- Enregistrer la nouvelle position depuis le clic de repositionnementgo_to_comment- Naviguer/defiler vers l'emplacement du commentaire
Modifications JavaScript (comment_overlay.js) :
- Ajout de l'etat
repositioningCommentId - Ajout des gestionnaires d'evenements
enter_reposition_mode/exit_reposition_mode - Gestionnaire de clic modifie pour detecter le mode repositionnement et envoyer
update_marker_position - Selecteurs d'elements markdown mis a jour pour fonctionner dans les contextes du visualiseur et de l'editeur
Version du document : 1.3 Derniere mise a jour : 29 decembre 2025 Auteur : Equipe de developpement Sutram