Développement Web

Gitea vs Forgejo vs GitHub : comparatif honnête 2026

10 دقائق للقراءة

Choisir entre Gitea, Forgejo et GitHub dépend de plusieurs critères : souveraineté, coût, communauté, écosystème, perf perçue. Voici un comparatif honnête en 2026 (informations vérifiées en avril 2026, susceptibles d’évoluer) pour vous aider à décider en connaissance de cause.

Voir notre guide Forgejo / Gitea.

GitHub — le standard de l’industrie

  • Forces : écosystème massif (GitHub Marketplace, Actions, Copilot, Codespaces), communauté worldwide, intégrations partout, plan free très généreux pour repos publics
  • Faiblesses : appartenant à Microsoft, données aux US, coût par utilisateur sur Team/Enterprise (4-21 USD/user/mois), facturation USD parfois compliquée depuis l’Afrique, latence depuis Sénégal/CI
  • Pour qui : équipes dont les collaborateurs sont déjà sur GitHub, projets open-source visant audience mondiale

Gitea — le projet historique self-hosted

  • Forces : projet historique (depuis 2016), maturité, communauté large, support commercial possible (Gitea Ltd)
  • Faiblesses : gouvernance partagée commerciale/communautaire qui a généré des frictions, parfois plus lent à intégrer features communautaires
  • Pour qui : équipes qui veulent un projet self-hosted mature avec option de support payant

Forgejo — le fork communautaire

  • Forces : gouvernance communautaire (hébergé chez Codeberg), évolution rapide, intégration features communautaires, philosophie ethical software
  • Faiblesses : projet plus jeune (fork 2022), pas de support commercial officiel
  • Pour qui : équipes qui privilégient la souveraineté et la communauté

Tableau comparatif

CritèreGitHubGiteaForgejo
ModeSaaSSelf-hosted (+ SaaS Gitea Cloud)Self-hosted
Open-sourceNonOui (MIT)Oui (MIT)
Coût pour 10 users~40 USD/mois (Team)5 € VPS (libre)5 € VPS (libre)
CI/CDActions managéesGitea ActionsForgejo Actions
Container RegistryGHCR (limites)OuiOui
Package RegistryLimiténpm, PyPI, etc.npm, PyPI, etc.
Marketplace actionsÉnormeCompatible GitHubCompatible GitHub
SouverainetéAucune (US)TotaleTotale
Latence Afrique~150-200 ms~150 ms (Hetzner)~150 ms (Hetzner)
Communauté100M+ devsLargeEn croissance

Recommandation par cas

Projet open-source visant communauté mondiale → GitHub. La discoverability et les contributions externes en dépendent.

Code privé entreprise, données confidentielles, souveraineté → Forgejo (recommandé) ou Gitea, sur VPS Hetzner ou local.

Coût par utilisateur GitHub Team/Enterprise devient un frein → migration vers Forgejo, économie immédiate.

Vous voulez du support commercial → Gitea Ltd ou GitHub Enterprise selon budget.

Stratégie hybride

Possible et fréquent : code public open-source sur GitHub (visibilité, marketing) + code privé client/produit sur Forgejo self-hosted. Forgejo permet le mirroring vers GitHub pour les repos qui doivent être sur les deux.

Adaptation Afrique de l’Ouest

Pour une PME ouest-africaine, Forgejo sur Hetzner offre 95 % des fonctionnalités GitHub Team à 5 % du coût. La latence ajoutée vs GitHub est négligeable (les deux sont en Europe/US). La souveraineté est l’argument décisif pour code client confidentiel.

Pour explorer plus loin

Etape 1 : comprendre la genealogie Gitea, Forgejo et GitHub

GitHub appartient a Microsoft depuis 2018 et heberge plus de 100 millions de developpeurs. Gitea est un fork allege de Gogs, ecrit en Go, auto-hebergeable sur un VPS a 3 EUR / mois. Forgejo est un soft-fork communautaire de Gitea ne fin 2022 apres la creation de Gitea Ltd, gouverne par la non-profit Codeberg e.V., 100 % copyleft GPL 3.0. Comprendre cette genealogie aide a choisir la bonne plateforme pour un projet a Dakar, Abidjan ou Cotonou.

En une phrase : GitHub = SaaS proprietaire avec ecosysteme massif, Gitea = self-hosted permissif et rapide, Forgejo = Gitea sans risque commercial, gouverne en commun. Aucun n’est mauvais, mais leur cible et leur modele economique different fortement.

Etape 2 : evaluer le critere souverainete des donnees

Pour une banque mutualiste a Thies ou une fintech a Abidjan, le code source represente un actif strategique. GitHub heberge sur des datacenters US sous le Cloud Act qui permet au gouvernement americain d’acceder aux donnees sans notification. Ce point est bloquant pour les organismes regules par BCEAO ou les administrations publiques senegalaises sous loi 2008-12.

Gitea et Forgejo s’installent sur un VPS Hetzner Falkenstein (UE, RGPD strict) ou un VPS local Sonatel a Dakar. Les donnees ne quittent jamais ta juridiction. Pour un projet open-source non-strategique, GitHub reste imbattable cote visibilite ; pour tout code metier, l’auto-hebergement Gitea ou Forgejo s’impose.

Etape 3 : comparer les couts mensuels reels

GitHub Free : 0 USD pour repos publics et prives illimites, mais Actions limitees a 2000 minutes / mois et stockage Packages 500 Mo. GitHub Team : 4 USD / utilisateur / mois soit environ 2625 FCFA. Pour 15 devs, 39 375 FCFA mensuels.

Gitea ou Forgejo sur VPS Hetzner CX22 (4,51 EUR HT soit 2960 FCFA / mois) : repos illimites, utilisateurs illimites, Actions runners gerables sur ton infra. Le break-even par rapport a GitHub Team se fait des 2 utilisateurs, ROI massif au-dela de 5.

Etape 4 : installer Forgejo en moins de 10 minutes

Sur Ubuntu 24.04, telecharge le binaire Forgejo 8.0 LTS depuis codeberg.org/forgejo/forgejo, place-le dans /usr/local/bin, cree l’utilisateur forgejo et le service systemd. Forgejo a besoin de Postgres 14+ ou MariaDB 10.11+.

sudo -u postgres psql -c "CREATE USER forgejo PASSWORD 'long_password';"
sudo -u postgres psql -c "CREATE DATABASE forgejo OWNER forgejo;"
systemctl enable --now forgejo

Le signal de reussite : http://IP:3000 affiche le wizard d’installation. Renseigne Postgres, le compte admin et clique Install. La page d’accueil de ton instance est en ligne, prete a accueillir les premiers repos. Configure ensuite le reverse proxy Caddy avec TLS Let’s Encrypt sur git.tonentreprise.io.

Etape 5 : migrer un repo GitHub vers Forgejo en 1 commande

Forgejo expose une API de migration qui clone le repo GitHub avec ses issues, pull requests, labels, milestones et wiki. Cree un Personal Access Token GitHub avec scope repo, puis lance le wizard New Migration dans Forgejo. La migration d’un repo de 500 Mo et 200 issues prend environ 4 minutes.

Le signal de reussite : tous les commits, tags et issues sont presents avec les memes auteurs (mappes via email). Les pull requests deviennent des issues si tu coches l’option, ou de vraies PR si l’historique est preserve. Verifie la totalite avant de bascule en production le DNS git.tonentreprise.io.

Etape 6 : configurer les Actions Forgejo et un runner local

Forgejo supporte les Actions compatibles avec la syntaxe GitHub Actions (yaml + uses + run). Active la fonctionnalite dans app.ini, demarre forgejo-runner en mode self-hosted sur un VPS dedie ou un Raspberry Pi 5 a Dakar. Tes pipelines CI tournent localement avec une bande passante quasi-gratuite.

./forgejo-runner register --instance https://git.tonentreprise.io --token TOKEN --name dakar-runner-01 --labels ubuntu-latest:docker://node:22

Le signal de reussite : un workflow .forgejo/workflows/test.yml qui execute npm test passe en moins de 90 secondes et le log apparait dans l’onglet Actions de ton repo. Tu n’as plus de quota Minutes a craindre.

Etape 7 : comparer la qualite de l’ecosysteme et des integrations

GitHub gagne nettement sur l’ecosysteme : 25 000 Actions sur le marketplace, integration native Copilot, GitHub Codespaces (VS Code dans le navigateur), Dependabot et CodeQL pour le scan de securite. Pour un dev qui veut publier un package npm public, GitHub reste plus visible et plus indexe sur Google.

Forgejo et Gitea ont 70 % des features mais avec moins d’integrations tierces. Les Actions GitHub fonctionnent souvent telles quelles sur Forgejo car la syntaxe est compatible, mais des actions exotiques peuvent necessiter un fork. Pour 90 % des cas (build, test, deploy), Forgejo couvre le besoin sans regression.

Etape 8 : choisir Gitea ou Forgejo selon ta gouvernance

Gitea Ltd (la societe) a leve des fonds en 2022 pour vendre Gitea Enterprise. Le projet open-source continue mais certains contributeurs craignent un eventuel pivot type Elastic ou Hashicorp vers une licence non-OSS. Forgejo est gouverne par Codeberg e.V., association allemande non-profit, avec des statuts qui interdisent toute privatisation. Si tu pries pour la perennite long terme, Forgejo est le pari plus prudent.

Dans la continuité : choisir REST ou GraphQL et Coolify auto-heberge.

Etape 9 : configurer SSO et SCIM pour les equipes de plus de 10 devs

A partir de 10 utilisateurs, gerer les comptes manuellement devient une charge. Forgejo 8.0 supporte OIDC via Keycloak, Authentik ou Azure AD. Cree un client Authentik avec slug forgejo, redirect URI https://git.tonentreprise.io/user/oauth2/forgejo/callback et scopes openid profile email. Dans Forgejo, ajoute la source d’authentification dans Site Administration > Authentication Sources.

./forgejo admin auth add-oauth --name authentik --provider openidConnect --key forgejo --secret SECRET --auto-discover-url https://auth.tonentreprise.io/.well-known/openid-configuration

Le signal de reussite : les nouveaux devs cliquent sur « Sign in with Authentik » et leur compte Forgejo est provisionne automatiquement avec leur email d’entreprise. Quand un dev quitte Dakar, tu desactives son compte une seule fois dans Authentik et il perd l’acces a Forgejo, Wazuh et Grafana simultanement.

Etape 10 : sauvegarder Forgejo avec dump puis restic vers Backblaze B2

Forgejo expose une commande dump qui produit un .zip contenant la base Postgres exportee, les repos Git, la configuration app.ini et les attachments. Combine avec restic pour la deduplication et le chiffrement, tu obtiens un backup incremental fiable vers Backblaze B2 (0,005 USD / Go / mois soit environ 3 FCFA).

0 2 * * * /usr/local/bin/forgejo dump -c /etc/forgejo/app.ini -f /tmp/forgejo.zip && restic -r b2:forgejo-backup backup /tmp/forgejo.zip

Test la restauration au moins une fois par trimestre sur un VPS de staging. Le signal de reussite : tu redemarres Forgejo a partir du dump et tous les repos, issues et utilisateurs reapparaissent identiques. Sans test de restauration, ton backup est une fiction.

Etape 11 : securiser avec 2FA obligatoire et scan secrets

Active 2FA TOTP obligatoire pour les administrateurs et fortement recommande pour tous les devs. Configure ensuite un pre-receive hook qui rejette tout push contenant un secret detecte par gitleaks ou trufflehog. Un dev qui colle accidentellement une cle AWS ou un token Sonatel API ne peut pas pousser sur Forgejo, l’erreur s’affiche dans son terminal en moins de 2 secondes.

#!/bin/bash
gitleaks protect --source . --staged --redact && exit 0 || exit 1

Cette barriere a sauve plus d’une fintech ouest-africaine d’une fuite couteuse. La detection cote serveur ne remplace pas pre-commit cote dev, elle complete : les deux ensemble offrent 99 % de couverture.

Etape 12 : choisir entre auto-heberge complet et hybride GitHub Enterprise

Pour une entreprise tres regulee mais pas pretes a renoncer a Copilot et CodeQL, GitHub Enterprise Server (auto-heberge) coute 21 USD / utilisateur / mois soit environ 13 780 FCFA mais reste sur ton infra locale. Le compromis : conserve la souverainete des donnees et l’ecosysteme GitHub, en echange d’un budget annuel de 30 a 50 millions FCFA pour 20 devs.

Pour 90 % des PME ouest-africaines, ce surcout n’est pas justifie. Forgejo gratuit + un VPS Hetzner + Authentik SSO + 2 jours de configuration initiale donne un resultat operationnel a 99 % du besoin pour moins de 200 000 FCFA annuels tout compris.

Etape 13 : tableau decisionnel synthetique

Cas 1, projet open-source recherche maximum de visibilite : GitHub Free reste la reference. Cas 2, equipe interne 5 a 50 devs avec code propietaire : Forgejo auto-heberge sur Hetzner ou local. Cas 3, organisme regule (banque, sante, secteur public) sous loi 2008-12 ou equivalent : Forgejo en data-center local Sonatel ou MTN Cote d’Ivoire. Cas 4, equipe distribuee multi-pays avec besoin Copilot et CodeQL et budget : GitHub Team ou Enterprise Cloud. Cas 5, transition douce d’un statu quo GitHub : commence par mirroir bidirectionnel puis migre progressivement.

Etape 14 : checklist de mise en production de la forge interne

Onze points avant d’annoncer la forge en interne : DNS git.tonentreprise.io avec TLS Let’s Encrypt valide plus de 60 jours, SSO Authentik teste pour creation et revocation de compte, 2FA obligatoire admins, backup forgejo dump quotidien restic + B2 + test trimestriel, runners Actions self-hosted operationnels avec 3 labels, gitleaks pre-receive hook actif, monitoring Uptime Kuma sur /api/healthz, regle Grafana sur taux d’erreur API, retention logs Forgejo 90 jours minimum, documentation interne pour les devs (lien depuis Confluence ou Notion), et procedure de migration GitHub > Forgejo testee sur un repo pilote. Sans ces 11 points, la migration en masse echouera ou sera percue comme un downgrade par les devs.

Etape 15 : roadmap d’adoption sur 90 jours

Mois 1 : deploie Forgejo, configure SSO et backups, migre 2 repos pilotes non-critiques, forme 3 devs ambassadeurs. Mois 2 : migre 50 % des repos, active les Actions sur les pipelines CI principaux, met en place gitleaks et 2FA obligatoire admins. Mois 3 : migre les 50 % restants, decommissione progressivement les acces GitHub Team, garde un mirroir read-only sur GitHub pour les repos open-source publics. A 90 jours, tu economises 39 375 FCFA par mois sur GitHub Team pour 15 devs et tu maitrises la souverainete de ton code.

مشاركة