Le piège des Server Actions dans Next.js
L'autre jour, je suis tombé sur un extrait de code qui m'a arrêté net. C'était du React, du Next.js pour être précis. Mais en le lisant, j'ai eu l'impression de revenir 8 ans en arrière.
On y voyait un formulaire, et directement à l'intérieur, une requête SQL INSERT INTO.
Ce n'était pas une erreur de débutant, mais une démonstration des nouvelles capacités des "Server Actions" de Next.js. Si techniquement c'est possible, cela soulève une question fondamentale sur notre manière de concevoir des applications aujourd'hui.
Est-ce que nous sommes en train de sacrifier la qualité de notre architecture juste pour gagner quelques minutes au démarrage ?
Le retour du "Code Spaghetti" ?
Pour comprendre mon inquiétude, il faut regarder le code en face.

Ce que vous voyez là, c'est la fusion totale entre l'interface utilisateur (UI) et la base de données.
Comme le disait très bien Martin Fowler, une référence dans notre métier :
"N'importe quel idiot peut écrire du code qu'un ordinateur peut comprendre. Les bons programmeurs écrivent du code que les humains peuvent comprendre." — Martin Fowler
Le problème avec ce snippet, ce n'est pas que l'ordinateur ne le comprend pas (il l'exécute très bien). Le problème, c'est l'humain qui passera derrière.
En mélangeant tout, on perd la clarté. On ne sait plus où s'arrête le rendu visuel et où commence la logique métier. C'est exactement ce qu'on reprochait au PHP des années 2000 : des fichiers où HTML, CSS et SQL se battaient pour exister au même endroit.




Commentaires