Générez automatiquement des images SVG de vos statistiques GitHub et intégrez-les dans n'importe quel README.
Ce projet fonctionne entièrement via GitHub Actions : aucune installation locale requise. Les images sont générées automatiquement selon la fréquence de votre choix et hébergées sur GitHub Pages, accessibles par URL publique.
Ce projet génère automatiquement des images SVG affichant vos statistiques GitHub et les langages les plus utilisés.
stats-top4.svg- Top 4 langagesgithub-stats.svg- Statistiques globales GitHub
# Cloner le projet
git clone https://github.com/FabioDevCode/github-stats.git
cd github-stats
# Supprimer les fichiers SVG existants (ils seront regénérés avec vos stats)
rm -f *.svgAprès le clone, vérifiez que la structure suivante est bien présente :
github-stats/
├── .github/
│ └── workflows/
│ └── update-stats.yml
├── config.json
├── generate-stats.js
├── github_colors.json
└── README.mdDans config.json, modifiez les valeurs selon vos besoins :
{
"USERNAME": "votre-username",
"TITLE": "Top Languages",
"STATS_TITLE": "GitHub Stats",
"BG_COLOR": "#202830",
"BORDER_COLOR": "#202830",
"TITLE_COLOR": "#D1D7E0",
"TEXT_COLOR": "#D1D7E0",
"PERCENT_COLOR": "#9298A1",
"ICON_COLOR": "#6e7681",
"VALUE_COLOR": "#41B883",
"VARIANTS": [2, 4, 6],
"IGNORE_LANGUAGES": ["HTML", "CSS", "Handlebars", "SCSS"]
}📝 Note : Consultez la section Options disponibles pour la description complète de chaque paramètre.
- Allez sur GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic)
- Cliquez sur "Generate new token (classic)"
- Nom :
GitHub Stats - Cochez les permissions :
- ✅
repo(tous les sous-items) - ✅
read:user
- ✅
- Générez et copiez le token (vous ne le reverrez plus !)
- Dans votre repo GitHub → Settings → Secrets and variables → Actions
- Cliquez sur "New repository secret"
- Name :
GH_TOKEN - Secret : collez votre token
- Cliquez sur "Add secret"
- Repository Settings → Pages
- Source : Deploy from a branch
- Branch :
main// (root) - Cliquez sur "Save"
Deux options :
Option A - Automatique :
git add .
git commit -m "Initial setup"
git pushOption B - Manuel :
- Allez dans l'onglet "Actions" de votre repo
- Cliquez sur le workflow "Update GitHub Stats"
- Cliquez sur "Run workflow"
Une fois déployé, vos images seront disponibles aux URLs :
https://votre-username.github.io/github-stats/stats-top2.svg
https://votre-username.github.io/github-stats/stats-top4.svg
https://votre-username.github.io/github-stats/stats-top6.svg
https://votre-username.github.io/github-stats/github-stats.svgNote : Les fichiers
stats-topN.svgdépendent de la configurationVARIANTSdansconfig.json. Le fichiergithub-stats.svgaffiche vos statistiques globales (stars, commits, PRs, issues, contributions).

<img
src="https://votre-username.github.io/github-stats/stats-top4.svg"
alt="Top Languages"
/>
<img
src="https://votre-username.github.io/github-stats/github-stats.svg"
alt="Github Stats"
/>Toute la configuration se fait dans le fichier config.json :
{
"USERNAME": "votre-username",
"TITLE": "Top Languages",
"STATS_TITLE": "GitHub Stats",
"BG_COLOR": "#202830",
"BORDER_COLOR": "#202830",
"TITLE_COLOR": "#D1D7E0",
"TEXT_COLOR": "#D1D7E0",
"PERCENT_COLOR": "#9298A1",
"ICON_COLOR": "#6e7681",
"VALUE_COLOR": "#41B883",
"VARIANTS": [2, 4, 6],
"IGNORE_LANGUAGES": ["HTML", "CSS", "Handlebars", "SCSS"]
}| Option | Description | Exemple |
|---|---|---|
USERNAME |
Votre nom d'utilisateur GitHub | "FabioDevCode" |
TITLE |
Titre du SVG des langages | "Langages Utilisés" |
STATS_TITLE |
Titre du SVG des stats globales | "GitHub Stats" |
BG_COLOR |
Couleur de fond | "#202830" |
BORDER_COLOR |
Couleur de la bordure | "#202830" |
TITLE_COLOR |
Couleur du titre | "#D1D7E0" |
TEXT_COLOR |
Couleur du texte | "#D1D7E0" |
PERCENT_COLOR |
Couleur des pourcentages (langages) | "#9298A1" |
ICON_COLOR |
Couleur des icônes (stats globales) | "#6e7681" |
VALUE_COLOR |
Couleur des valeurs (stats globales) | "#41B883" |
VARIANTS |
Variantes à générer (top N langages) | [2, 4, 6, 8] |
IGNORE_LANGUAGES |
Langages à exclure des stats | ["HTML", "CSS"] |
Dans .github/workflows/update-stats.yml, remplacez la valeur cron par l'une des options suivantes selon vos besoins :
schedule:
- cron: "0 0 * * *" # Tous les jours à minuit
- cron: "0 */6 * * *" # Toutes les 6 heures
- cron: "0 0 * * 1" # Tous les lundis💡 La fréquence par défaut est définie dans ce fichier. Conservez une seule ligne
- cron:active à la fois.
Les couleurs des langages sont définies dans github_colors.json. Ce fichier contient les couleurs officielles GitHub pour chaque langage. Vous pouvez le modifier si nécessaire.
- Vérifiez que le token
GH_TOKENest bien configuré - Vérifiez que le
USERNAMEdansconfig.jsonest correct - Consultez les logs dans l'onglet "Actions"
- Attendez 2-3 minutes après le premier push (déploiement GitHub Pages)
- Vérifiez que GitHub Pages est activé dans Settings
- Vérifiez l'URL :
https://votre-username.github.io/nom-du-repo/stats-top4.svg
- Onglet "Actions"
- "Update GitHub Stats"
- "Run workflow"
Ce projet est distribué sous licence MIT. Vous êtes libre de l'utiliser, le modifier et le redistribuer.
Note : Les dépôts forkés sont exclus du calcul des statistiques. La fréquence de mise à jour est configurable, voir la section Changer la fréquence de mise à jour.