Le développement full stack, c'est une capacité à penser une application dans son ensemble, depuis l’interface que l’utilisateur voit jusqu’aux choix backend qui impactent les performances, la sécurité et la maintenabilité. Quand je travaille sur un projet, je prends en compte le parcours utilisateur, la structure des données, les flux entre le front et le back et les compromis techniques à faire pour livrer quelque chose de cohérent.
Cette polyvalence me permet de comprendre rapidement un projet de bout en bout et d’être plus réactif face aux problèmes. Plutôt que de traiter les bugs de manière isolée, j’essaie d’en identifier la cause globale : un choix d’API mal adapté, une logique métier trop couplée à l’interface ou une structure de données qui limite l’évolution. C’est aussi ce qui me permet d’optimiser l’expérience utilisateur sans sacrifier la qualité du backend.
Un exemple concret est le développement d’une interface de client mail en React, connectée à un backend en Rust. Mon rôle a été de concevoir une interface claire et réactive tout en tenant compte des contraintes du backend, notamment en termes de performances et de gestion des appels réseau. Ce projet m’a obligé à bien réfléchir aux échanges front/back, à la gestion de l’état côté client et à la manière de présenter des données complexes de façon lisible pour l’utilisateur.
J’ai également conçu un outil de gestion de tâches collaboratives basé sur Express, Flutter et MariaDB. Sur ce projet, j’ai travaillé à la fois sur la modélisation de la base de données, la création d’API REST cohérentes et leur consommation côté front. Cette approche full-stack m’a permis d’anticiper les évolutions possibles de l’application et d’éviter certaines décisions techniques qui auraient compliqué la maintenance à moyen terme.
Enfin, lors de la conception d’une application de génération de menus, j’ai pris en charge le développement de l’interface utilisateur, en travaillant sur la configuration des critères de génération. L’enjeu principal était de rendre des paramètres complexes simples à comprendre et à manipuler, ce qui m’a poussé à réfléchir davantage à l’ergonomie et à la logique métier exposée au front.
Aujourd’hui, je maîtrise plusieurs technologies du développement full-stack comme React, Next.js, Node.js, Express et MariaDB, mais je suis conscient de mes limites. J’ai parfois tendance à privilégier la rapidité de mise en œuvre au détriment d’une architecture plus robuste sur le long terme. Pour progresser, je veux structurer davantage mes projets dès le départ : meilleure séparation des responsabilités, choix d’architectures plus claires et intégration plus systématique de pratiques DevOps (tests, CI/CD, conteneurisation). L’objectif est de concevoir des applications non seulement fonctionnelles, mais scalables, sécurisées et maintenables dans un contexte professionnel.