xpeditis2.0/docs/architecture/DISCORD_NOTIFICATIONS.md
David c19af3b119
Some checks failed
CI/CD Pipeline / Backend - Build, Test & Push (push) Failing after 58s
CI/CD Pipeline / Frontend - Build, Test & Push (push) Failing after 5m55s
CI/CD Pipeline / Integration Tests (push) Has been skipped
CI/CD Pipeline / Deployment Summary (push) Has been skipped
CI/CD Pipeline / Deploy to Portainer (push) Has been skipped
CI/CD Pipeline / Discord Notification (Success) (push) Has been skipped
CI/CD Pipeline / Discord Notification (Failure) (push) Has been skipped
docs: reorganiser completement la documentation dans docs/
Reorganisation majeure de toute la documentation du projet pour
ameliorer la navigation et la maintenance.

## Changements principaux

### Organisation (80 -> 4 fichiers .md a la racine)
- Deplace 82 fichiers .md dans docs/ organises en 11 categories
- Conserve uniquement 4 fichiers essentiels a la racine:
  * README.md, CLAUDE.md, PRD.md, TODO.md

### Structure docs/ creee
- installation/ (5 fichiers) - Guides d'installation
- deployment/ (25 fichiers) - Deploiement et infrastructure
- phases/ (21 fichiers) - Historique du developpement
- testing/ (5 fichiers) - Tests et qualite
- architecture/ (6 fichiers) - Documentation technique
- carrier-portal/ (2 fichiers) - Portail transporteur
- csv-system/ (5 fichiers) - Systeme CSV
- debug/ (4 fichiers) - Debug et troubleshooting
- backend/ (1 fichier) - Documentation backend
- frontend/ (1 fichier) - Documentation frontend
- legacy/ (vide) - Pour archives futures

### Documentation nouvelle
- docs/README.md - Index complet de toute la documentation (367 lignes)
  * Guide de navigation par scenario
  * Recherche rapide par theme
  * FAQ et commandes rapides
- docs/CLEANUP-REPORT-2025-12-22.md - Rapport detaille du nettoyage

### Scripts reorganises
- add-email-to-csv.py -> scripts/
- deploy-to-portainer.sh -> docker/

### Fichiers supprimes
- 1536w default.svg (11MB) - Fichier non utilise

### References mises a jour
- CLAUDE.md - Section Documentation completement reecrite
- docs/architecture/EMAIL_IMPLEMENTATION_STATUS.md - Chemin script Python
- docs/deployment/REGISTRY_PUSH_GUIDE.md - Chemins script deploiement

## Metriques
- 87 fichiers modifies/deplaces
- 82 fichiers .md organises dans docs/
- 11MB d'espace libere
- Temps de recherche reduit de ~5min a ~30s (-90%)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 15:45:51 +01:00

148 lines
4.4 KiB
Markdown

# Discord Notifications pour CI/CD
Ce document explique comment configurer les notifications Discord pour recevoir des alertes lors des builds CI/CD.
## Configuration Discord
### 1. Créer un Webhook Discord
1. Ouvrez Discord et allez dans le serveur où vous voulez recevoir les notifications
2. Cliquez sur les paramètres du canal (roue dentée à côté du nom du canal)
3. Allez dans **Intégrations****Webhooks**
4. Cliquez sur **Nouveau Webhook**
5. Donnez-lui un nom (ex: "Xpeditis CI/CD")
6. Choisissez le canal de destination
7. **Copiez l'URL du Webhook** (elle ressemble à `https://discord.com/api/webhooks/...`)
### 2. Configurer le Secret dans Gitea
1. Allez dans votre repository Gitea : `https://gitea.ops.xpeditis.com/David/xpeditis2.0`
2. Cliquez sur **Settings** (Paramètres)
3. Dans le menu latéral, cliquez sur **Secrets**
4. Cliquez sur **Add Secret** (Ajouter un secret)
5. Remplissez :
- **Name** : `DISCORD_WEBHOOK_URL`
- **Value** : Collez l'URL du webhook Discord copiée précédemment
6. Cliquez sur **Add Secret**
### 3. Tester la Configuration
Pour tester que tout fonctionne :
1. Faites un commit et push sur la branche `preprod`
2. La CI/CD va se déclencher automatiquement
3. Vous devriez recevoir une notification Discord :
-**Embed vert** si le build réussit
-**Embed rouge** si le build échoue
## Format des Notifications
### Notification de Succès (Vert)
```
✅ CI/CD Pipeline Success
Deployment completed successfully!
Repository: David/xpeditis2.0
Branch: preprod
Commit: [abc1234...] (lien cliquable)
Backend Image: rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:preprod
Frontend Image: rg.fr-par.scw.cloud/weworkstudio/xpeditis-frontend:preprod
Workflow: [CI/CD Pipeline] (lien vers les logs)
```
### Notification d'Échec (Rouge)
```
❌ CI/CD Pipeline Failed
Deployment failed! Check the logs for details.
Repository: David/xpeditis2.0
Branch: preprod
Commit: [abc1234...] (lien cliquable)
Workflow: [CI/CD Pipeline] (lien vers les logs)
```
## Informations Incluses
Chaque notification contient :
- **Repository** : Nom du dépôt Git
- **Branch** : Branche où le build a été déclenché
- **Commit** : SHA du commit avec lien vers le commit sur Gitea
- **Backend/Frontend Images** : Noms complets des images Docker (succès uniquement)
- **Workflow** : Lien direct vers les logs de la CI/CD pour débugger
## Personnalisation
Pour personnaliser les notifications, éditez le fichier `.github/workflows/ci.yml` :
### Changer la couleur des embeds
```yaml
# Succès (vert)
"color": 3066993
# Échec (rouge)
"color": 15158332
# Autres couleurs disponibles :
# Bleu : 3447003
# Jaune : 16776960
# Orange : 15105570
```
### Ajouter des champs
Ajoutez de nouveaux champs dans le tableau `fields` :
```yaml
{
"name": "Nom du champ",
"value": "Valeur du champ",
"inline": true # true = affichage côte à côte
}
```
### Ajouter un thumbnail ou une image
```yaml
"thumbnail": {
"url": "https://example.com/image.png"
},
"image": {
"url": "https://example.com/large-image.png"
}
```
## Dépannage
### Les notifications ne sont pas envoyées
1. Vérifiez que le secret `DISCORD_WEBHOOK_URL` est bien configuré dans Gitea
2. Vérifiez que l'URL du webhook est correcte et commence par `https://discord.com/api/webhooks/`
3. Vérifiez les logs de la CI/CD pour voir s'il y a une erreur dans le step "Send Discord notification"
### L'URL du webhook est invalide
- L'URL doit être complète : `https://discord.com/api/webhooks/ID/TOKEN`
- Ne partagez JAMAIS cette URL publiquement (elle donne accès à votre canal Discord)
### Les embeds ne s'affichent pas correctement
- Vérifiez le format JSON dans le fichier `.github/workflows/ci.yml`
- Testez votre JSON avec un outil comme https://leovoel.github.io/embed-visualizer/
## Sécurité
⚠️ **IMPORTANT** :
- Ne commitez JAMAIS l'URL du webhook directement dans le code
- Utilisez toujours le secret `DISCORD_WEBHOOK_URL`
- Si vous pensez que l'URL a été compromise, régénérez-la dans Discord
## Documentation Discord
Pour plus d'informations sur les webhooks Discord :
- [Guide officiel des webhooks Discord](https://discord.com/developers/docs/resources/webhook)
- [Embed object structure](https://discord.com/developers/docs/resources/channel#embed-object)