
The Patterns We Don't Name - Christian Johansen - NDC Oslo 2026
Les schémas que nous ne nommons pas - Christian Johansen - NDC Oslo 2026
Mots-clés
Résumé
159 mots
Évaluation critique
Valeur des informations & solidité de l’argumentation
La valeur de cette présentation réside dans l’illustration concrète d’une démarche d’architecture émergente, basée sur l’identification de patterns réels dans le code plutôt que sur une conception descendante. L’argumentation est solide : l’orateur s’appuie sur des exemples de code réels, explique les bénéfices en termes de maintenabilité et de cohérence, et démontre comment de petites contraintes donnent levier au système. La progression logique (passer des pages aux commandes) est bien construite et les choix sont justifiés. La démonstration des extensions via un simple réglage (rendu client, streaming) illustre efficacement le gain de flexibilité obtenu par la centralisation.
Rigueur scientifique, qualité des sources, adéquation du titre
La rigueur scientifique est correcte : l’auteur cite des concepts reconnus (CQRS, DDD) et s’appuie sur son expérience en production. Il admet que les exemples ne sont pas directement réutilisables mais servent à illustrer un processus. Les sources externes se limitent aux conférences NDC, aucune référence académique n’est donnée, mais cela reste acceptable pour une conférence technique. L’adéquation titre/contenu est excellente : le titre « The Patterns We Don’t Name » résume parfaitement la thèse centrale. La présentation est cohérente et les exemples étayent l’argumentation.
197 mots
Adéquation titre / contenu
Le titre évoque les modèles (patterns) implicites dans le code ; le contenu illustre précisément comment identifier, nommer et modéliser ces patterns pour les rendre explicites.
Qualité & fiabilité
8/10
Exposé clair et structuré, s'appuyant sur une expérience pratique concrète et des principes reconnus (CQRS, DDD). Les exemples sont issus d'un système réel en production. La démonstration est cohérente et les choix architecturaux sont justifiés.
Moments clés
Repères établis par PSI à partir de la transcription : le créateur n'a pas défini de chapitres.
- Introduction et définition de l'architecture logicielle
- Problème : les concepts comme 'pages' ne sont pas dans le code
- Création d'un système de pages : définitions et génération de routes
- Extension : identifiants de page et URLs générées
- Rendu côté client avec un simple paramètre
- Introduction des commandes pour les modifications intentionnelles
- Conclusion : le flux persistant de commandes et l'analogie Jeopardy
Sources citées
- NDC Conferences — Organisation des conférences NDC, où cette présentation a été enregistrée
- NDC Oslo — Site de la conférence NDC Oslo 2026
Sources concordantes
- Wikipedia - Software Architecture — Définition citée au début de la présentation
Apport & nouveautés
L’apport original de cette présentation est de proposer une méthode concrète pour identifier et rendre explicites les patterns implicites du code, en les transformant en concepts de premier ordre (pages, commandes) via des structures de données. Cette approche permet de réduire la complexité et d’augmenter la cohérence, tout en offrant un levier pour ajouter des fonctionnalités transversales. Le processus de nommer et modéliser ces patterns est transférable à d’autres contextes.
Pour aller plus loin :
- Domain-Driven Design (DDD) — Fondamentaux pour modéliser le domaine métier, source d’inspiration pour les patterns techniques.
- Command Query Responsibility Segregation (CQRS) — Pattern mentionné explicitement, dont s’inspire le système de commandes.
- Event Sourcing — Complément naturel au flux persistant de commandes évoqué dans la présentation.
- Clojure — Langage utilisé dans les exemples de production, illustrant la programmation fonctionnelle.
133 mots
Profil radar
Le profil est équilibré, avec une qualité et une fiabilité élevées, un niveau technique correct et une quantité d'informations substantielle. Le point le plus faible est le niveau technique, car l'exposé reste accessible sans plonger dans les détails d'implémentation.