343 lines
8.2 KiB
Text
343 lines
8.2 KiB
Text
---
|
|
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
|
|
<MermaidDiagram>
|
|
flowchart TB
|
|
A[Composant A] --> B[Composant B]
|
|
B --> C[Composant C]
|
|
</MermaidDiagram>
|
|
```
|
|
|
|
## 🔗 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
|