À retenir
- Indispensable pour accompagner la croissance d'une entreprise ou d'un service.
- Réduit les coûts de maintenance et de mise à jour sur le long terme.
- S'anticipe dès la phase de conception d'un projet informatique.
L'évolutivité est l'aptitude d'un système (logiciel ou matériel) à s'adapter facilement à de nouveaux besoins, comme une hausse soudaine du nombre d'utilisateurs ou l'ajout de nouvelles fonctions. On peut la comparer à une bibliothèque dont les étagères sont conçues pour être agrandies à l'infini sans avoir à reconstruire le bâtiment.
Étymologie
Dérivé du mot évolution (du latin evolutio, désignant l'action de dérouler un parchemin) avec le suffixe -ité exprimant une propriété. En informatique, le terme s'est imposé pour traduire la capacité d'un système à ne pas devenir obsolète face au changement.
Exemples d'usage
- Un site web de vente en ligne qui utilise le Cloud pour multiplier ses capacités de calcul pendant les soldes.
- Un logiciel de comptabilité conçu par modules, permettant d'ajouter une option "gestion des stocks" deux ans après son installation initiale.
Cas d'usage
Elle intervient dans l'architecture logicielle (choix des langages et structures), dans la gestion des infrastructures réseaux (capacités des serveurs) et dans la conception des bases de données pour garantir que le système pourra supporter une charge de travail croissante.
Bonnes pratiques
Il est recommandé d'adopter une architecture modulaire (découper le projet en petits blocs indépendants) et d'utiliser des standards ouverts. Il faut éviter de figer des valeurs dans le code (hardcoding) qui rendraient toute modification future complexe et coûteuse.
Synonymes
Antonymes
Conseil
Lorsque vous débutez un projet, ne cherchez pas à tout prévoir pour les 10 prochaines années, mais assurez-vous que vos choix technologiques actuels ne ferment pas de portes pour des évolutions futures simples.
Questions fréquentes
Quelle est la différence entre évolutivité et scalabilité ?
Bien que proches, l'évolutivité est souvent plus large (ajout de fonctions), tandis que la scalabilité (ou mise à l'échelle) se concentre spécifiquement sur la capacité à gérer une augmentation du volume de données ou d'utilisateurs.
Un système peut-il être trop évolutif ?
Oui, on parle alors de sur-ingénierie (over-engineering) : créer un système trop complexe pour des besoins qui resteront peut-être simples, ce qui fait perdre du temps et de l'argent.