- Integrated Unsplash API for image search functionality with environment configuration - Added new Nimbus Editor page component with navigation from sidebar and mobile drawer - Enhanced TOC with highlight animation for editor heading navigation - Improved CDK overlay z-index hierarchy for proper menu layering - Removed obsolete logging validation script
12 KiB
Guide Professionnel - Système de Colonnes et Commentaires
📋 Vue d'Ensemble
Le système de colonnes et commentaires offre une solution professionnelle complète pour organiser le contenu en colonnes multiples avec gestion intégrée des commentaires par bloc.
🎯 Fonctionnalités Principales
1. Colonnes Multiples Flexibles
Créer des colonnes:
- Drag un bloc vers le bord gauche d'un autre → Nouvelle colonne à gauche
- Drag un bloc vers le bord droit d'un autre → Nouvelle colonne à droite
- Drag vers un bloc columns existant → Ajoute une nouvelle colonne
- Support illimité: 2, 3, 4, 5, 6, 7+ colonnes possibles
- Redistribution automatique: Les largeurs s'ajustent automatiquement
Indicateurs visuels:
- Ligne horizontale (─) avec flèches → Changement de position normale
- Ligne verticale (│) avec flèches → Création/ajout de colonne
2. Gestion des Commentaires par Bloc
Chaque bloc dispose de:
- ✅ Bouton de commentaires indépendant
- ✅ Badge avec compteur de commentaires
- ✅ Interface complète de gestion
Actions disponibles:
- Ajouter des commentaires
- Voir tous les commentaires d'un bloc
- Résoudre un commentaire
- Supprimer un commentaire
- Identifier les auteurs
3. Menu Contextuel par Bloc
Chaque bloc dans les colonnes a:
- ✅ Menu contextuel complet (3 points)
- ✅ Options de formatage
- ✅ Actions de bloc (copier, supprimer, etc.)
💡 Guide d'Utilisation
Créer Votre Premier Layout en Colonnes
Étape 1: Créer les Blocs
1. Créer 3 blocs H2:
- "Colonne 1"
- "Colonne 2"
- "Colonne 3"
Étape 2: Organiser en Colonnes
1. Drag "Colonne 1" → Bord gauche de "Colonne 2"
→ Crée 2 colonnes
2. Drag "Colonne 3" → Bord droit du bloc columns
→ Ajoute une 3ème colonne
Résultat:
┌───────────┬───────────┬───────────┐
│ Colonne 1 │ Colonne 2 │ Colonne 3 │
└───────────┴───────────┴───────────┘
Ajouter des Commentaires
Via l'Interface
Méthode 1: Clic sur le Badge
1. Hover sur un bloc dans une colonne
2. Cliquer sur le bouton de commentaires (icône bulle 💬)
3. Taper votre commentaire dans le champ
4. Cliquer "Add" ou appuyer sur Enter
Actions disponibles dans le panneau:
- ✅ Marquer comme résolu - Icône checkmark vert
- ✅ Supprimer - Icône poubelle rouge
- ✅ Voir l'historique - Date et auteur de chaque commentaire
Via la Console (Pour Tester)
Ajouter des commentaires de test:
// Ouvrir la console (F12)
function addTestComments() {
const appRoot = document.querySelector('app-root');
const ngContext = appRoot?.__ngContext__;
let commentService = null;
let documentService = null;
// Trouver les services
for (let i = 0; i < 20; i++) {
if (ngContext[i]?.commentService) commentService = ngContext[i].commentService;
if (ngContext[i]?.documentService) documentService = ngContext[i].documentService;
}
if (!commentService || !documentService) {
console.error('Services not found');
return;
}
// Ajouter des commentaires
const blocks = documentService.blocks();
blocks.slice(0, 5).forEach((block, i) => {
const count = Math.floor(Math.random() * 3);
for (let j = 0; j < count; j++) {
commentService.addComment(
block.id,
`Test comment ${j + 1}`,
`User${i + 1}`
);
}
});
console.log('✅ Comments added!');
}
addTestComments();
Utiliser le Menu Contextuel
1. Hover sur un bloc dans une colonne
2. Cliquer sur le bouton menu (⋯)
3. Sélectionner une option:
- Changer le type de bloc
- Modifier le style
- Copier/Dupliquer
- Supprimer
- etc.
🎨 Apparence et UI
Bloc Normal
┌─────────────────┐
│ H2 Content │
└─────────────────┘
Bloc au Hover
┌─────────────────┐
│ ⋯ 💬 │ ← Boutons visibles
│ H2 Content │
└─────────────────┘
Bloc avec Commentaires
┌─────────────────┐
│ ⋯ 💬 3 │ ← Badge avec compteur
│ H2 Content │
└─────────────────┘
Layout 3 Colonnes
┌─────────┬─────────┬─────────┐
│⋯ 💬1│⋯ │⋯ 💬2│
│ H2 │ Para │ H1 │
│ │ │ │
└─────────┴─────────┴─────────┘
33% 33% 33%
Layout 4 Colonnes
┌──────┬──────┬──────┬──────┐
│⋯ 💬1│⋯ │⋯ │⋯ 💬3│
│ H2 │ Para │ H1 │ H2 │
└──────┴──────┴──────┴──────┘
25% 25% 25% 25%
🔧 Fonctionnalités Avancées
Redistribution Automatique des Largeurs
2 Colonnes → 50% / 50% 3 Colonnes → 33.33% / 33.33% / 33.33% 4 Colonnes → 25% / 25% / 25% / 25% 5 Colonnes → 20% / 20% / 20% / 20% / 20%
La redistribution se fait automatiquement lors de l'ajout/suppression de colonnes.
Types de Blocs Supportés
Dans les colonnes, vous pouvez utiliser:
- ✅ Headings (H1, H2, H3)
- ✅ Paragraphs
- ✅ List Items (checkboxes, bullets, numbered)
- ✅ Code Blocks
- ✅ Tous les autres types de blocs
Édition en Temps Réel
Les blocs restent complètement éditables dans les colonnes:
- ✅ Modifier le texte
- ✅ Changer le formatage
- ✅ Ajouter/supprimer du contenu
- ✅ Les changements persistent automatiquement
Commentaires Résolus
Les commentaires résolus:
- Apparaissent en semi-transparent
- Affichent un badge vert "Resolved"
- Ne comptent plus dans le compteur du badge
- Restent visibles dans l'historique
📊 Cas d'Usage Professionnels
1. Documentation Multi-Sections
┌─────────────┬─────────────┬─────────────┐
│ Features │ API Docs │ Examples │
│ │ │ │
│ • Feature 1 │ get() │ Code sample │
│ • Feature 2 │ post() │ Demo │
│ • Feature 3 │ delete() │ Tutorial │
└─────────────┴─────────────┴─────────────┘
2. Revue de Code avec Commentaires
┌──────────────┬──────────────┐
│ Code Block │ Comments 💬3 │
│ │ │
│ function(){ │ "Optimize" │
│ // logic │ "Add tests" │
│ } │ "Good work!" │
└──────────────┴──────────────┘
3. Comparaisons
┌──────────┬──────────┬──────────┐
│ Option A │ Option B │ Option C │
│ │ │ │
│ Pros: │ Pros: │ Pros: │
│ • Fast │ • Cheap │ • Simple │
│ Cons: │ Cons: │ Cons: │
│ • $$$ │ • Slow │ • Basic │
└──────────┴──────────┴──────────┘
4. Planning et Roadmap
┌────────┬────────┬────────┬────────┐
│ Q1 │ Q2 │ Q3 │ Q4 │
│ 💬2 │ │ 💬1 │ │
│ MVP │ Beta │ Launch │ Scale │
│ Tests │ UX │ Market │ Global │
└────────┴────────┴────────┴────────┘
🛠️ Raccourcis et Astuces
Raccourcis Clavier
Dans un bloc:
Tab→ Augmente l'indentationShift+Tab→ Diminue l'indentationEnter→ Nouveau bloc/→ Ouvre le menu de blocs
Dans le panneau de commentaires:
Enter→ Ajouter le commentaireEsc→ Fermer le panneau
Astuces Productivité
-
Dupliquer une structure:
- Créer un layout en colonnes
- Utiliser le menu contextuel pour dupliquer
- Modifier le contenu
-
Organisation rapide:
- Créer tous vos blocs d'abord
- Organiser en colonnes ensuite
- Ajuster au besoin
-
Commentaires collaboratifs:
- Ajouter des commentaires avec votre nom
- Marquer comme résolu après traitement
- Garder l'historique pour référence
🔍 Dépannage
Les boutons n'apparaissent pas
Solution:
- Vérifier que vous êtes bien en mode hover
- Rafraîchir la page (F5)
- Vérifier dans les DevTools console
Les commentaires ne s'affichent pas
Solution:
-
Vérifier que des commentaires existent:
const commentService = /* récupérer */; console.log(commentService.getAllComments()); -
Rafraîchir la page
Le menu ne s'ouvre pas
Solution:
- Vérifier la console pour erreurs
- Essayer sur un autre bloc
- Rafraîchir la page
📚 API Complète
CommentService
// Ajouter un commentaire
commentService.addComment(
blockId: string,
text: string,
author: string
): void
// Obtenir le nombre de commentaires
commentService.getCommentCount(blockId: string): number
// Obtenir tous les commentaires d'un bloc
commentService.getCommentsForBlock(blockId: string): Comment[]
// Supprimer un commentaire
commentService.deleteComment(commentId: string): void
// Résoudre un commentaire
commentService.resolveComment(commentId: string): void
// Obtenir tous les commentaires
commentService.getAllComments(): Comment[]
Interface Comment
interface Comment {
id: string; // ID unique
blockId: string; // ID du bloc lié
author: string; // Nom de l'auteur
text: string; // Contenu du commentaire
createdAt: Date; // Date de création
resolved?: boolean; // Statut résolu
}
✅ Checklist de Fonctionnalités
Colonnes
- Créer 2 colonnes par drag & drop
- Ajouter des colonnes supplémentaires
- Redistribution automatique des largeurs
- Support de tous les types de blocs
- Indicateurs visuels (vertical/horizontal)
Commentaires
- Badge avec compteur
- Panneau de gestion
- Ajouter des commentaires
- Supprimer des commentaires
- Résoudre des commentaires
- Affichage de l'auteur et date
- Commentaires indépendants par bloc
Interface
- Bouton menu (3 points)
- Bouton commentaires
- Hover effects
- Menu contextuel
- Animations fluides
- Design responsive
🚀 Prochaines Évolutions Possibles
-
Drag & Drop dans les colonnes
- Déplacer des blocs entre colonnes
- Réorganiser au sein d'une colonne
-
Redimensionnement manuel
- Drag sur la bordure entre colonnes
- Ajuster les largeurs manuellement
-
Colonnes imbriquées
- Blocs columns dans des blocs columns
- Layouts complexes multi-niveaux
-
Export de layouts
- Sauvegarder des templates
- Réutiliser des structures
-
Notifications
- Nouveaux commentaires
- Mentions d'utilisateurs
- Commentaires résolus
💼 Conclusion
Le système de colonnes et commentaires offre une solution professionnelle complète pour:
- ✅ Organisation visuelle du contenu
- ✅ Collaboration via commentaires
- ✅ Productivité accrue
- ✅ Flexibilité maximale
- ✅ Interface intuitive
Rafraîchissez votre navigateur et commencez à créer des layouts professionnels!