Carte de références backend et architecture par décision
Fondations
- roadmap.sh Backend — inventaire de compétences ; transformer chaque thème en pratique ou projet vérifiable.
- Operating Systems: Three Easy Pieces — processus, mémoire, concurrence, persistance.
- Beej's Guide to Network Programming — sockets et réseau pour comprendre les abstractions HTTP.
- MIT Missing Semester — shell, Git, debugging et outillage quotidien.
Contrats, données et sécurité
- Google API Design Guide, Microsoft REST API Guidelines et Zalando REST Guidelines — conventions concrètes et comparables.
- OpenAPI — contrat de description d'API ; générer validation/tests seulement après revue.
- PostgreSQL EXPLAIN et Use The Index, Luke — décisions d'index basées sur plans réels.
- OWASP Cheat Sheet Series — contrôles de sécurité applicables par sujet.
Architecture et systèmes distribués
- System Design Primer — méthode, compromis, calculs et exercices ; voir [[KNOW-REF-014]].
- Patterns of Enterprise Application Architecture — patterns applicatifs avec contexte.
- Patterns of Distributed Systems — patterns de consensus, réplication et coordination.
- Azure Cloud Design Patterns — pattern, problème, compromis et exemple documentés.
- Enterprise Integration Patterns — vocabulaire précis pour messaging et intégration.
Écosystème Node.js : sélectionner, pas collectionner
awesome-nodejs est utile pour découvrir des packages par fonction (HTTP, validation, logs, files, DB, test, sécurité, queues, profiling). Avant adoption : vérifier documentation officielle, activité, support ESM/TypeScript, licence, dépendances, surface d'API et benchmark représentatif. Préférer une primitive Node native lorsqu'elle couvre le besoin.
Raccourcis raisonnables : undici/fetch pour HTTP, node:test pour tests simples, pino pour logs, zod/JSON Schema pour validation selon le contrat, Fastify ou un framework déjà maîtrisé pour l'API. Aucun package n'est obligatoire par défaut.
Évaluation des agrégateurs
- awesome-backend : excellente structure d'apprentissage (OS, réseau, API, DB, sécurité, tests, architecture, DevOps), mais mélange langues et âges ; suivre en priorité les docs officielles qu'il référence.
- awesome-nodejs : sélection large et maintenue, bonne découverte de packages ; ce n'est pas une garantie d'adéquation ou de sécurité.
- Node.js Best Practices : checklist opérationnelle très concrète ; certaines préférences de style sont secondaires face aux règles d'erreurs, tests, sécurité, event loop et déploiement.
- awesome-design-patterns : taxonomie très large, mais beaucoup de liens historiques ; préférer Fowler, Microsoft/Azure, microservices.io et les docs de plateforme actuelles.
Liens KC
- [[KNOW-PAT-241]] — séquence de décision d'architecture
- [[KNOW-PAT-242]] — socle Node.js production
- [[KNOW-PAT-228]] — API REST
- [[KNOW-PAT-227]] — schéma et performance base de données
- [[KNOW-PAT-230]] — CI/CD et rollback