Avertissement : Ce contenu a été traduit automatiquement. Envoyer un feedback

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.

Role: Développeurdéc. 2025

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 :

  1. Se déclenche au push — Chaque push sur main exécute le workflow
  2. Analyse l'historique git — Extrait le hash du commit, l'auteur, la date et le message
  3. Catégorise les commits — Détecte les types de commits conventionnels (feat, fix, chore, etc.)
  4. Met à jour les données JSON — Écrit dans data/changelog.json
  5. Commit les modifications — Utilise [skip ci] pour éviter les boucles infinies

Tech Stack

ComposantTechnologieObjectif
AutomatisationGitHub ActionsDéclencher au push sur main
ScriptTypeScript + tsxAnalyser git log et générer le JSON
DonnéesJSONStocker les données des commits
RenduNext.js Server ComponentPage dynamique avec support multilingue
i18nnext-intlFormatage de date selon la langue

Analyse des Commits Conventionnels

Le script reconnaît les préfixes standards des commits conventionnels :

  • feat: — Nouvelles fonctionnalités
  • fix: — Corrections de bugs
  • chore: — Tâches de maintenance
  • docs: — Mises à jour de documentation
  • refactor: — Refactorisation de code
  • style: — Modifications de style
  • test: — Mises à jour des tests
  • perf: — 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 :

  1. Ajoutant [skip ci] au message du commit
  2. 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

Links