Changelog en Direct
Une page changelog qui se met à jour automatiquement après chaque commit via GitHub Actions. Analyse les commits conventionnels et affiche l'historique de développement.
Une chronologie détaillée du développement, extraite de l'historique des commits Git. Cette page se met à jour automatiquement après chaque push sur la branche main.
Chargement du changelog...
Fonctionnement
Le changelog utilise un workflow GitHub Actions qui :
- Se déclenche au push — Chaque push sur
mainexécute le workflow - Analyse l'historique git — Extrait le hash du commit, l'auteur, la date et le message
- Catégorise les commits — Détecte les types de commits conventionnels (feat, fix, chore, etc.)
- Met à jour les données JSON — Écrit dans
data/changelog.json - Commit les modifications — Utilise
[skip ci]pour éviter les boucles infinies
Tech Stack
| Composant | Technologie | Objectif |
|---|---|---|
| Automatisation | GitHub Actions | Déclencher au push sur main |
| Script | TypeScript + tsx | Analyser git log et générer le JSON |
| Données | JSON | Stocker les données des commits |
| Rendu | Next.js Server Component | Page dynamique avec support multilingue |
| i18n | next-intl | Formatage de date selon la langue |
Analyse des Commits Conventionnels
Le script reconnaît les préfixes standards des commits conventionnels :
feat:— Nouvelles fonctionnalitésfix:— Corrections de bugschore:— Tâches de maintenancedocs:— Mises à jour de documentationrefactor:— Refactorisation de codestyle:— Modifications de styletest:— Mises à jour des testsperf:— Améliorations de performance
Les commits sont automatiquement catégorisés et les statistiques sont calculées.
Prévention des Boucles
Le GitHub Action évite les boucles infinies en :
- Ajoutant
[skip ci]au message du commit - Vérifiant
if: "!contains(github.event.head_commit.message, '[skip ci]')"dans le workflow
Fichiers
.github/workflows/update-changelog.yml # GitHub Action
scripts/generate-changelog.ts # Script de génération
data/changelog.json # Données générées
lib/types/changelog.ts # Types TypeScript
app/[locale]/changelog/page.tsx # Composant de page
components/changelog-stats.tsx # Composant statistiques
components/changelog-table.tsx # Composant tableau
Outcomes
- •Workflow GitHub Actions se déclenche à chaque push sur main
- •Analyse des commits conventionnels (feat, fix, chore, etc.)
- •Commits groupés par date avec formatage adapté à la langue
- •Support i18n complet pour 5 langues