Pourquoi utiliser un framework dans une application web ?

Un ensemble de frameworks

Le développement d’applications informatiques implique souvent sa normalisation et son accélération. Ce qui conduit généralement tout développeur sérieux à utiliser un framework. Dans le cadre de mon mémoire de fin de formation du Cycle Ingénieur de Conception en Informatique à l’Institut Africain d’Informatique, j’ai eu à me pencher sur le sujet. Voici donc un extrait dudit mémoire, datant de 2014, que je partage avec tous.

C’est quoi un framework ?

Un framework (qu’on peut traduire par «cadre d’applications» en français) est un ensemble cohérent de composants logiciels structurels, qui sert à créer les fondations ainsi que les grandes lignes de tout ou d’une partie d’un logiciel (architecture). Un framework se distingue d’une simple bibliothèque logicielle principalement par :

  • son caractère générique, faiblement spécialisé, contrairement à certaines bibliothèques; un framework peut à ce titre être constitué de plusieurs bibliothèques chacune spécialisée dans un domaine. Un framework peut néanmoins être spécialisé, sur un langage particulier, une plateforme spécifique, un domaine particulier : Reporting, mapping, etc.
  • le cadre de travail (traduction littérale de l’anglais : framework) qu’il impose de par sa construction même, guidant l’architecture logicielle voire conduisant le développeur à respecter certains patterns; les bibliothèques le constituant sont alors organisées selon le même paradigme.

Un framework est un ensemble d’outils et de composants logiciels organisés conformément à un plan d’architecture et des patterns, l’ensemble formant ou promouvant un « squelette » de programme. Il est souvent fourni sous la forme d’une bibliothèque logicielle, et accompagné du plan de l’architecture cible du framework.

Et donc pourquoi l’utiliser

Un Framework inclut généralement de nombreuses fonctionnalités prêtes à l’emploi dont les implémentations sont bien rodées et utilisent des modèles de conception standard et bien implémentés. L’utilisation du Framework présente de nombreux avantages dans le développement de notre application :

  • Normalisation des développements : Le Framework va permettre de construire les applications avec les mêmes technologies, les mêmes normes et les mêmes méthodes. Ceci est un point crucial pour les développements informatiques de l’entreprise. Son utilisation permettra à n’importe quel informaticien de l’entreprise (développeur d’application) de pouvoir par la suite très facilement intervenir sur
    l’application (développement, débogage, maintenance, etc.).
  • Accélération des développements : Le Framework fournit un point de départ pour le développement des applications (création des projets à partir d’assistants par exemple) ce qui permet d’avoir à disposition très rapidement la structure de base des développements. Le point de départ fourni par le Framework doit notamment inclure les mécanismes récurrents des applications, comme la gestion des erreurs, le log de ces erreurs, les composants de connexion à la base de données, les différentes couches dans le cas des applications multi-niveaux (couche d’accès aux données, couche objets métiers, etc.).
  • Modularité et flexibilité : Les bons Frameworks sont toujours architecturés pour permettre une grande souplesse; ils implémentent de nombreux patterns qui leur permettent d’apporter une finesse bien supérieure à celle d’une application classique. Par exemple, les Framework apportant une librairie d’accès aux données implémentent souvent un ensemble de providers (fournisseurs) différents (ODBC, SQL Server, Oracle, OLE DB, MySQL) le plus souvent avec un choix du provider à utiliser par le biais du fichier de configuration. Une application, elle, va se limiter au mieux à une classe abstraite dans la couche d’accès aux données évitant l’initialisation de la connexion, ou la gestion des erreurs.
  • Augmentation de la robustesse des applications : En effet, le Framework s’appuie sur des composants techniques et sur une méthodologie maintes fois éprouvés. Les composants techniques utilisés de développements en développements ont forcément gagné en robustesse. Il en est de même des méthodes et normes qui s’affinent au cours du temps. Ainsi, le Framework devient de plus en plus robuste, prenant en charge la grosse partie du développement et des éléments techniques. Il y a donc de moins en moins de code « purement technique » à mettre en place et l’on peut dès lors se concentrer sur les règles métiers. Parce que plusieurs personnes dans le cadre de la mise en place d’un Framework s’accordent, le risque d’erreur est dès lors minimisé et l’application est beaucoup plus robuste et fiable.
  • Amélioration de la maintenance des applications : Le Framework étant de plus en plus robuste, la plupart des problèmes techniques sont traités directement par le Framework, et les collaborateurs n’ont plus qu’à maintenir la partie métier ou interface des applications. De plus, tous les collaborateurs utilisant le Framework de développement seront à même d’intervenir assez rapidement et assez facilement sur une application qui aura été développée en respectant les règles du Framework.

Ainsi, on a non seulement une généralisation de bonnes pratiques de développement, mais en plus une harmonisation des développements produisant une facilité de maintenance. Il est à retenir alors que le choix du Framework est indispensable et critique. Indispensable, car il est quasi impossible de réaliser de nos jours de grandes applications maintenables et respectant les normes actuelles de développement sans en utiliser; critique, en ce sens que le choix du Framework aura un impact énorme sur les performances, la productivité, la qualité, et la maintenabilité des applications. Et puisque le Framework deviendra le socle sur lequel un important patrimoine logiciel sera construit, sa pérennité est elle-même fondamentale.

Partager sur les réseaux sociaux


Also published on Medium.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *