--- id: style-guide title: Guide de Style sidebar_label: Guide de Style description: Standards de rédaction et de présentation pour la documentation Veza Platform keywords: [veza, style, guide, writing, documentation, standards] --- # 📝 Guide de Style > **Standards de rédaction** pour la documentation Veza Platform - Cohérence, clarté et qualité ## 🎯 Principes Fondamentaux ### Clarté Avant Tout - **Langage simple** : Éviter le jargon technique inutile - **Phrases courtes** : Maximum 20 mots par phrase - **Structure logique** : Progression naturelle des idées - **Exemples concrets** : Illustrer chaque concept ### Cohérence Globale - **Terminologie** : Utiliser les mêmes termes partout - **Formatage** : Respecter les conventions établies - **Navigation** : Structure uniforme des pages - **Liens** : Interconnexion logique des contenus ## 📋 Structure des Pages ### Front-matter Obligatoire ```yaml --- id: unique-identifier title: Titre de la Page sidebar_label: Label Court description: Description SEO (160 caractères max) keywords: [mot1, mot2, mot3] --- ``` ### Structure du Contenu ```markdown # Titre Principal (H1) > **Sous-titre descriptif** - Contexte et objectif ## Section 1 (H2) ### Sous-section (H3) #### Détail (H4) ## Voir Aussi - `[Lien vers page connexe](/docs/section/page)` - `[Lien externe](https://example.com)` ``` ## ✍️ Règles de Rédaction ### Titres et En-têtes #### Hiérarchie - **H1** : Un seul par page, titre principal - **H2** : Sections principales (2-5 par page) - **H3** : Sous-sections (3-8 par section) - **H4** : Détails techniques (si nécessaire) #### Formatage - **H1** : `# Titre Principal` - **H2** : `## Section Principale` - **H3** : `### Sous-section` - **H4** : `#### Détail Technique` ### Paragraphes et Texte #### Longueur - **Paragraphes** : 3-5 phrases maximum - **Lignes** : 80 caractères maximum - **Phrases** : 20 mots maximum #### Style - **Voix active** : "Le système traite" au lieu de "Il est traité par le système" - **Présent** : "Le système fonctionne" au lieu de "Le système fonctionnera" - **Impératif** : "Exécutez la commande" pour les instructions ### Listes et Énumérations #### Listes à Puces ```markdown - **Élément principal** : Description détaillée - **Élément secondaire** : Description courte - Sous-élément avec indentation - Autre sous-élément ``` #### Listes Numérotées ```markdown 1. **Étape 1** : Description de l'étape 2. **Étape 2** : Description de l'étape - Sous-étape optionnelle - Autre sous-étape 3. **Étape 3** : Description de l'étape ``` ### Code et Exemples #### Blocs de Code ```markdown ```bash # Commentaire explicatif commande --option valeur ``` ```go // Commentaire Go func example() { return "Hello World" } ``` ``` #### Code Inline ```markdown Utilisez la commande `make build` pour construire le projet. ``` ### Tableaux #### Format Standard ```markdown | Colonne 1 | Colonne 2 | Colonne 3 | |-----------|-----------|-----------| | Donnée 1 | Donnée 2 | Donnée 3 | | Donnée 4 | Donnée 5 | Donnée 6 | ``` #### Tableaux Complexes ```markdown | Service | Port | Description | Statut | |---------|------|-------------|--------| | **API** | 8080 | API REST | ✅ Actif | | **Chat** | 3001 | WebSocket | ✅ Actif | | **Stream** | 3002 | Audio | ⚠️ En cours | ``` ## 🎨 Éléments Visuels ### Emojis et Icônes #### Usage Recommandé - **Titres** : Un emoji par titre principal - **Sections** : Emojis cohérents par type de contenu - **Statuts** : ✅ ❌ ⚠️ 🔄 📊 🎯 #### Convention par Type - **Architecture** : 🏗️ 🔧 ⚙️ - **Sécurité** : 🔒 🛡️ 🔐 - **Performance** : 📈 ⚡ 🚀 - **Documentation** : 📚 📝 📋 - **Tests** : 🧪 ✅ ❌ - **Déploiement** : 🚀 📦 🌐 ### Admonitions et Alertes #### Types Disponibles ```markdown :::info Information Contenu informatif important. ::: :::tip Astuce Conseil pratique pour l'utilisateur. ::: :::warning Attention Avertissement sur un point important. ::: :::danger Danger Information critique ou dangereuse. ::: ``` ### Diagrammes Mermaid #### Obligatoires pour - **Architecture** : Diagrammes de composants - **Flux** : Diagrammes de séquence - **Données** : Diagrammes entité-relation - **Processus** : Diagrammes de flux #### Format Standard ```markdown flowchart TB A[Composant A] --> B[Composant B] B --> C[Composant C] ``` ## 🔗 Gestion des Liens ### Liens Internes ```markdown - [Titre de la page](/docs/section/page) - [Section spécifique](/docs/section/page#section) - [Fichier relatif](../other/page) ``` ### Liens Externes ```markdown - [Site externe](https://example.com) - [Documentation externe](https://docs.example.com) - [GitHub](https://github.com/veza-platform/veza-full-stack) ``` ### Liens de Navigation ```markdown ## Voir Aussi - [Page connexe](/docs/section/page) - [Section parente](/docs/section) - [Page suivante](/docs/section/next) ``` ## 📝 Terminologie ### Termes Techniques #### Backend - **API** : Application Programming Interface - **JWT** : JSON Web Token - **REST** : Representational State Transfer - **WebSocket** : Protocole de communication temps réel #### Frontend - **SPA** : Single Page Application - **SSR** : Server-Side Rendering - **CSR** : Client-Side Rendering - **PWA** : Progressive Web App #### Infrastructure - **CI/CD** : Continuous Integration/Continuous Deployment - **WAF** : Web Application Firewall - **CDN** : Content Delivery Network - **LB** : Load Balancer ### Conventions de Nommage #### Fichiers et Dossiers - **kebab-case** : `user-management.md` - **PascalCase** : `UserManagement.tsx` (composants React) - **lowercase** : `package.json` (fichiers de config) #### Variables et Fonctions - **camelCase** : `userName`, `getUserData()` - **PascalCase** : `UserModel`, `UserService` (classes) - **UPPER_SNAKE_CASE** : `API_BASE_URL` (constantes) ## 🎯 Qualité et Validation ### Checklist de Rédaction #### Contenu - [ ] **Titre clair** et descriptif - [ ] **Introduction** qui explique l'objectif - [ ] **Structure logique** des sections - [ ] **Exemples concrets** pour chaque concept - [ ] **Conclusion** ou prochaines étapes #### Technique - [ ] **Front-matter** complet et correct - [ ] **Liens** fonctionnels et cohérents - [ ] **Code** syntaxiquement correct - [ ] **Diagrammes** Mermaid valides - [ ] **Tableaux** bien formatés #### Style - [ ] **Orthographe** et grammaire correctes - [ ] **Terminologie** cohérente - [ ] **Ton** professionnel et accessible - [ ] **Longueur** appropriée (500-2000 mots) - [ ] **Navigation** "Voir aussi" présente ### Outils de Validation #### Automatique ```bash # Linter Markdown npm run docs:lint # Formatter Prettier npm run fmt # Validation complète npm run docs:validate-full ``` #### Manuel - **Relecture** : 2 personnes minimum - **Test utilisateur** : Validation par un utilisateur externe - **Review technique** : Validation par un expert technique ## 📚 Ressources et Références ### Documentation Externe - [Docusaurus](https://docusaurus.io/docs) - [Markdown Guide](https://www.markdownguide.org/) - [Mermaid](https://mermaid-js.github.io/mermaid/) - [Prettier](https://prettier.io/docs/en/) ### Outils Recommandés - **Éditeur** : VS Code avec extensions Markdown - **Linter** : markdownlint-cli - **Formatter** : Prettier - **Diagrammes** : Mermaid Live Editor ### Templates Disponibles - `TEMPLATE-adr.mdx` : Architecture Decision Record - `TEMPLATE-module.mdx` : Documentation de module - `TEMPLATE-runbook.mdx` : Procédure opérationnelle - `TEMPLATE-api-resource.mdx` : Documentation API ## 🔄 Évolution du Guide ### Processus de Mise à Jour 1. **Identification** d'un besoin de changement 2. **Proposition** via issue GitHub 3. **Discussion** avec l'équipe 4. **Validation** par les contributeurs 5. **Mise à jour** du guide 6. **Communication** aux utilisateurs ### Feedback et Amélioration - **Issues** : [GitHub Issues](https://github.com/veza-platform/veza-full-stack/issues) - **Discussions** : [GitHub Discussions](https://github.com/veza-platform/veza-full-stack/discussions) - **PR** : Propositions d'amélioration --- **Dernière mise à jour** : 2025-09-13 **Version** : 1.0.0 **Maintenu par** : Veza Platform Team