Comme j'ai commencé à apprendre le développement à peu près à cette époque, j'ai dû tâtonner un bon moment avant de trouver la pile technologique qui, selon moi, correspond le mieux à mes besoins et au type de projets que je réalise.
J'ai commencé à apprendre le développement avec AdonisJS.
À l'époque, il y avait déjà de nombreux cours créés directement par l'équipe du framework, ce qui était vraiment idéal pour apprendre toutes les bases du développement web.
Naturellement, j'ai ensuite commencé à utiliser AdonisJS pour réaliser mes premiers projets.
Il y avait une pile technologique en particulier que j'ai trouvée très pratique : AdonisJS + Inertia + React.
Elle me permettait d'avoir une seule application, avec le frontend et le backend intégrés.
Le premier obstacle qui m'a fait abandonner AdonisJS, cependant, a été le déploiement. À l'époque, je devais utiliser Docker et gérer moi-même une grande partie de l'environnement, le déploiement, etc.
Et je n'avais tout simplement pas envie d'y consacrer du temps.
Je voulais créer des projets et des SaaS, pas passer mon temps à gérer Docker et l'infrastructure.
Je souhaitais vraiment me rapprocher au maximum d'un environnement où je pourrais déployer mon projet et c'est tout.
Puis, l'IA prenant une place de plus en plus importante dans mon flux de travail, un deuxième problème est apparu : AdonisJS n'était pas assez répandu, et les IA avaient donc beaucoup plus de mal à l'utiliser.
Je suis donc passé à Next.js et Supabase.
Et là… honnêtement, même si tout le monde utilise Next.js, je n'ai jamais vraiment compris l'intérêt d'ajouter autant de complexité à mon architecture.
Composants serveur, changements constants, comportement implicite du framework…
Je me souviens notamment des changements concernant les middlewares/proxys où, lors du développement avec l'IA, personne ne comprenait vraiment ce qu'il fallait faire. Moi non plus, et parfois l'IA non plus.
Et c'est probablement ce qui m'a le plus gêné avec Next.js : tant de choses sont implicites.
On est censé savoir que placer un fichier spécifique à un endroit précis déclenchera un comportement spécifique, qu'une partie s'exécute sur le serveur, qu'une autre fonctionne différemment, etc.
Quand on développe beaucoup avec l'IA, je trouve que ça devient vite agaçant, car une grande partie du travail repose sur des suppositions.
C'est pourquoi j'ai fini par passer à TanStack Start. TanStack Start couvre globalement les mêmes besoins que Next.js : React, routage, SEO, fonctions serveur, backend, etc.
Mais je le trouve beaucoup plus explicite.
Quand un problème survient, il est bien plus facile de comprendre pourquoi et comment.
Et pour le développement assisté par IA, je pense que cela fait une énorme différence.
Cela résout aussi précisément le problème de déploiement que j'avais au début.
L'intégration avec Cloudflare est excellente et aujourd'hui, je n'ai quasiment plus rien à faire pour déployer correctement mes applications.
Je peux me concentrer sur ce que je veux vraiment faire : créer des produits, au lieu de gérer l'infrastructure sous-jacente. Aujourd'hui, ma pile technologique pour le développement SaaS est la suivante :
TanStack Start + Supabase.
Pour le développement, je peux utiliser quasiment n'importe quel outil d'IA de création de code : Claude, Codex, etc.
TanStack possède désormais d'excellentes capacités et une documentation très claire. Et surtout, grâce à l'explicité du framework, une IA peut lire le code et comprendre très facilement son fonctionnement.
Alors qu'avec Next.js, j'avais beaucoup plus souvent l'impression qu'il devait deviner. Voilà donc comment mon architecture technique a évolué :
-> AdonisJS + Inertia + React -> Next.js + Supabase -> TanStack Start + Supabase
Au final, mon critère principal n'a pas vraiment changé depuis le début : je veux consacrer le moins de temps possible à la gestion de l'architecture et de l'infrastructure, et le plus de temps possible au développement de mes projets.
Et pour l'instant, TanStack Start + Supabase est probablement l'architecture avec laquelle je me sens le plus à l'aise.