Projet open source
traefik/traefik avatar
traefik/traefik

Traefik : proxy d'application cloud natif

Traefik est un reverse proxy HTTP et répartiteur de charge moderne qui se configure automatiquement en surveillant les orchestrateurs comme Docker, Kubernetes ou Consul.

64 839 étoiles6 196 forksGoMIT

En bref

De quoi s’agit-il ?
Un proxy inverse HTTP et équilibreur de charge qui génère des routes à partir des API d'orchestrateur et de registre de services.
À qui s’adresse-t-il ?
Traefik déplace la gestion des routes de la configuration manuelle vers la découverte automatique, et la licence MIT reste permissive. Le README ne fournit pas de benchmarks de performance ni de garanties de sécurité, ceux-ci restent donc à vérifier.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 1 jour.
En quel langage est-il écrit ?
Principalement Go, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Découverte des services depuis l'orchestrateur

Traefik est un proxy inverse HTTP moderne et un équilibreur de charge destiné à simplifier le déploiement de microservices. Selon le README, il s'intègre à des composants d'infrastructure tels que Docker, Swarm mode, Kubernetes, Consul, Etcd, Rancher v2 et Amazon ECS. Le flux de travail prévu consiste à pointer Traefik vers votre orchestrateur ou registre de services, après quoi il se configure automatiquement et dynamiquement. Le README appelle cela la seule étape de configuration nécessaire. La description du projet est « The Cloud Native Application Proxy ».

Génération de routes depuis l'API de l'orchestrateur

Les proxys inverses traditionnels exigent que chaque route soit définie manuellement pour chaque chemin et sous-domaine. Traefik écoute l'API du registre de services ou de l'orchestrateur et génère instantanément les routes, rendant les microservices accessibles de l'extérieur sans intervention supplémentaire. Le README note également que la configuration manuelle des routes est prise en charge si vous préférez définir certaines routes vous-même. Cette combinaison de découverte automatique et de surcharges manuelles optionnelles est la conception centrale.

Fonctionnalités documentées

Le README liste un ensemble spécifique de fonctionnalités : mises à jour de configuration continues sans redémarrage, prise en charge de plusieurs algorithmes d'équilibrage de charge, HTTPS via Let's Encrypt avec prise en charge des certificats génériques, disjoncteurs, nouvelles tentatives, interface Web propre, prise en charge de WebSocket, HTTP/2 et gRPC, métriques pour REST, Prometheus, Datadog, Statsd et InfluxDB 2.X, journaux d'accès au format JSON ou CLF, API REST, et un binaire unique empaqueté en image Docker officielle. Le README décrit également le proxy comme rapide. Ce sont les capacités documentées ; aucun chiffre de performance ni benchmark n'est fourni.

Backends pris en charge

La section « Supported Backends » du README liste explicitement Docker et Swarm mode, Kubernetes, ECS et File. L'aperçu mentionne Consul, Etcd, Rancher v2 et Amazon ECS comme exemples de composants d'infrastructure avec lesquels il peut s'intégrer. Le backend File permet de définir des routes dans un fichier de configuration, couvrant ainsi les configurations manuelles. Des liens de documentation pour chaque backend sont fournis dans le README.

Exécuter Traefik

Pour un démarrage rapide, le README renvoie à un guide de démarrage rapide de 5 minutes dans la documentation, précisant que Docker est requis. Il fournit également des instructions de téléchargement : récupérez un binaire depuis la page des versions et exécutez-le avec un fichier de configuration d'exemple : `./traefik --configFile=traefik.toml`, ou utilisez l'image Docker officielle avec `docker run -d -p 8080:8080 -p 80:80 -v $PWD/traefik.toml:/etc/traefik/traefik.toml traefik`. Vous pouvez également cloner les sources avec `git clone https://github.com/traefik/traefik`. Le README ne spécifie pas de numéros de version ni de détails de configuration au-delà du fichier d'exemple. Le fichier de configuration d'exemple est référencé comme traefik.sample.toml.

Interface Web et documentation

Traefik fournit un frontend HTML simple, accessible via son interface Web. La documentation complète de Traefik v3 est disponible sur doc.traefik.io, et le README inclut une capture d'écran du tableau de bord montrant les fournisseurs. La documentation est la référence principale pour les détails de configuration et d'utilisation. Le README renvoie également à des vidéos d'introduction sur videos.traefik.io.

Support, cycle de publication et licence

Le support communautaire est disponible via le forum communautaire Traefik, et le support commercial est offert via Traefik.io. Le cycle de publication comprend généralement trois ou quatre nouvelles versions par an, avec des candidats de publication avant chaque version, et des correctifs de bogues publiés au besoin. Le projet utilise Semantic Versioning, et chaque version est prise en charge jusqu'à la publication de la suivante. Le code est sous licence MIT, avec des droits d'auteur de Containous SAS (2016-2020) et Traefik Labs (2020-2025). La licence stipule que le logiciel est fourni « tel quel » sans garantie d'aucune sorte. Le README mentionne également les directives de contribution, un code de conduite, des listes de diffusion pour les annonces et la sécurité, et des crédits pour le logo gopher.

Conclusion éditoriale

Traefik déplace la gestion des routes de la configuration manuelle vers la découverte automatique, et la licence MIT reste permissive. Le README ne fournit pas de benchmarks de performance ni de garanties de sécurité, ceux-ci restent donc à vérifier. Pour décider, vérifiez dans ce dépôt les commandes, fichiers et limites cités avant de retenir le projet pour votre contexte.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté