11 points par hongminhee 2025-07-09 | 2 commentaires | Partager sur WhatsApp

Définition de la stack à contre-courant

  • Une philosophie de développement qui consiste à choisir délibérément des technologies alternatives plutôt que des technologies dominantes
  • Un terme forgé par l’auteur comme l’opposé de la stack conventionnelle
  • Les choix de l’auteur :
    • Ruby: Rails → Sinatra + DataMapper
    • JavaScript: Prototype → MooTools
    • Python: Django → Werkzeug + SQLAlchemy
    • Aujourd’hui : React/Next.js → Solid/SolidStart

La progression née des difficultés de la stack à contre-courant

  • Faute de réponses sur Stack Overflow, analyse directe du code source → compréhension approfondie de la technologie
  • Faible base d’utilisateurs et manque de soutien communautaire → progression comme contributeur open source, satisfaction de voir ses PR fusionnées
  • Expérience de l’auteur :
    • Le faible niveau d’abstraction de Werkzeug → acquisition de la capacité à construire un framework interne
    • Le processus souvent qualifié de "galère" → des connaissances fondamentales réutilisables dans n’importe quelle stack
  • Avantage : une profonde compréhension technique acquise à travers le processus de résolution de problèmes

L’avantage des suiveurs tardifs

  • Une expérience de conception qui identifie les problèmes des stacks conventionnelles et les améliore
  • Exemple : la fine-grained reactivity de Solid (qui évite le surcoût du DOM virtuel de React)
  • Gain inattendu : comprendre le "pourquoi" des technologies et développer une meilleure intuition en conception d’architecture

La valeur cachée de la stack modulaire

  • Stack conventionnelle : un coffret tout-en-un pratique
    • Rails(CoC), Django(Batteries Included), Next.js(full-stack)
  • Stack à contre-courant : choix des composants un par un et assemblage manuel
    • Exemple de l’auteur : Sinatra + DataMapper + Haml + Sass
    • La complexité de la configuration de chaque composant et du chaînage des middlewares
  • Avantage : une compréhension complète du fonctionnement interne des technologies et des interactions entre les couches

Leçon historique

  • Ce qui est aujourd’hui la voie classique était hier une approche à contre-courant (Rails → alternative à Java, React → alternative à Backbone.js)
  • Avantage : une position de pionnier qui permet d’expérimenter et de comprendre à l’avance les futures technologies dominantes

L’opportunité paradoxale à l’ère des LLM

  • Renforcement de l’avantage des stacks conventionnelles (ChatGPT maîtrise bien Next.js, mais beaucoup moins SolidStart)
  • Avantage : une expertise dans les domaines où les LLM sont moins capables devient un facteur de différenciation encore plus fort
  • Un parcours de progression pour devenir un véritable ingénieur, et non un simple utilisateur de framework

2 commentaires

 
gjen6s 2025-07-09

Je n’ai jamais pensé une seule fois que SQLAlchemy était à contre-courant, c’est assez particulier.

 
krepe90 2025-07-09

Je pense qu’il faisait probablement référence à Werkzeug plutôt qu’à SA. En général, on utilise Flask ou FastAPI. Aller à contre-courant jusque dans l’ORM, ce n’est pas si facile.