Détail...

Convention over Configuration

Dans le monde du développement logiciel, la productivité, la lisibilité du code et la facilité de maintenance sont des critères clés dans le choix des Framework et des architectures. C’est dans cette logique qu’est né le principe de « Convention over Configuration », littéralement « La convention plutôt que la configuration ». Un concept puissant, devenu une norme dans de nombreux Framework modernes tels que Spring Boot, Ruby on Rails, ou encore Laravel.

Qu’est-ce que cela signifie concrètement ?

Autrefois, pour que chaque composant d’une application fonctionne correctement, le développeur devait tout déclarer manuellement, souvent dans de longs et fastidieux fichiers de configuration XML ou propriétés. Cela créait un goulet d’étranglement en termes de lisibilité et augmentait le risque d’erreurs.

Le principe de « Convention over Configuration » inverse cette logique :

Si vous respectez certaines conventions préétablies, le Framework se charge automatiquement de la configuration à votre place.

Cela ne signifie pas qu’on ne peut plus configurer, mais que la configuration devient l’exception, et non la règle.

Avantages du principe

·      Gain de temps : Moins de fichiers à écrire et à maintenir.

·      Simplicité : Le code est plus lisible, plus propre.

·      Productivité accrue : On peut se concentrer sur l’essentiel : la logique métier.

·      Réduction des erreurs : Moins de risque de mal configurer un composant.

·      Standardisation : Des conventions communes facilitent la collaboration en équipe.

Exemple concret : Spring Boot vs Spring classique

Dans Spring Framework classique, il fallait configurer chaque bean dans un fichier applicationContext.xml, définir les composants à scanner, les routes, les sources de données, etc.

Avec Spring Boot, grâce à la convention, tout est déjà prévu :

  • Les classes annotées avec @RestController, @Service, @Repository sont automatiquement détectées.
  • La configuration de la base de données peut se faire en 2-3 lignes dans application.properties.
  • Pas besoin de web.xml, un @SpringBootApplication suffit pour démarrer une application.

Avec « Convention over Configuration » : Moins de XML, moins de friction, plus de rapidité.

Et pour des besoins spécifiques ?

Le principe n’interdit pas la configuration manuelle. Au contraire, elle reste possible si vous souhaitez personnaliser un comportement par défaut. Vous pouvez surcharger les conventions en définissant explicitement vos besoins.

« Convention over Configuration », c’est faire le choix de la simplicité sans renoncer à la puissance. En adoptant ce principe, les développeurs peuvent construire des applications robustes plus rapidement, avec moins de code, et une meilleure maintenabilité. C’est une révolution silencieuse qui a transformé notre façon de coder – pour le mieux.