Esc
 Naviguer  Ouvrir Esc Fermer
Aller au contenu

Axe 8 — Backend (multi-langages)

🎯 Objectif global : construire des serveurs web robustes en choisissant un écosystème principal, et comprendre les autres assez pour pouvoir lire leur code.

  • Axes 1, 2, 4 + connaissance d’au moins un langage généraliste (axe 6 pour TS).
  • Recommandé : 9.1 SQL si tu n’as pas de bagage SQL.

Beaucoup d’apprenants se figent dans un seul écosystème. Ce guide propose trois parcours parallèles qui implémentent la même API d’exemple — une gestion de tâches avec authentification — afin de pouvoir comparer les approches.

Choisis-en un comme principal pour ton parcours, et survole les autres.

Phase 1 — Backend essentiel (à faire pour ton premier job)

Section intitulée « Phase 1 — Backend essentiel (à faire pour ton premier job) »

HTTP, REST, middleware, validation, auth, files de messages — voir Concepts communs.

ParcoursQuand le choisir
Node.js / TypeScriptTu viens du frontend (mêmes outils, même langage). Idéal pour le full-stack JS.
PythonTu vises data, ML, scripting, ou tu aimes la lisibilité. 3 frameworks au choix : Django, Flask, FastAPI.
PHPHébergement mutualisé, marché historique fort, écosystème Laravel/Symfony très productif.

💡 Ces deux sous-axes sont culturels et orientés décision — moins de code, plus de critères de choix. À lire après avoir terminé un parcours backend de la phase 1.

Sous-axeCouvre
8.4 — Architectures avancéesMonolith vs modulith vs microservices vs serverless · DDD light · hexagonal · clean architecture · event-driven · CQRS · sagas · outbox
8.5 — Protocols API modernesREST · GraphQL · gRPC · tRPC · WebSocket · SSE · WebHooks signés/idempotents — quand utiliser quoi

À l'issue de cet axe, tu sauras :

  • Concevoir une API REST conforme (méthodes, codes, idempotence, pagination)
  • Implémenter une authentification sûre (sessions ou JWT, hash argon2/bcrypt)
  • Valider toutes les entrées côté serveur
  • Mettre en place des middlewares (logs, CORS, rate-limit)
  • Gérer des tâches asynchrones via une file (Redis, RabbitMQ)
  • Tester l'API avec des tests d'intégration sur base éphémère

Une API de gestion de tâches avec :

  • Inscription / connexion (JWT)
  • CRUD sur les tâches (créer, lister, marquer faite, supprimer)
  • Liste partagée entre utilisateurs (RBAC)
  • Recherche full-text
  • Tâches récurrentes traitées par un worker

Implémentée dans chacun des trois écosystèmes pour t’offrir une comparaison directe.

Code dans exercises/08-backend/<langage>/taskly-api/.

En 2026, beaucoup d’APIs backend se mettent à intégrer des LLM — chat, RAG, function calling, agents. Si c’est ton cas :

C’est un virage majeur du métier depuis 2024 — pas optionnel pour rester employable en 2026.

  1. Lis d’abord Concepts communs — ils sont valables partout.
  2. Choisis ton écosystème principal et fais le parcours en entier.
  3. Implémente taskly-api.
  4. (Optionnel mais recommandé) Refais les bases du même projet dans un second écosystème — ça consolide l’abstraction.
  5. Quand tu vises Lead/Staff : lis 8.4 (architectures avancées) et 8.5 (protocols API) — culturels, déclencheurs de bonnes décisions, pas urgents pour ton premier job.
  • RESTful Web APIs — Leonard Richardson
  • Designing Data-Intensive Applications — Martin Kleppmann (au-delà du backend)
  • OpenAPI Specificationopenapis.org
  • OAuth 2.1oauth.net/2.1