• Aucun résultat trouvé

Chapitre 5 – D’ICRA au prototype ICARS

1. La conception d’ICARS

1.2 L’environnement de développement

Pour développer l’application, différents outils et technologies sont mobilisés. Le choix de l’environnement de développement a été guidé par les avantages que nous voulions procurer à la solution. Nous souhaitions une solution qui puisse s’utiliser sur plusieurs plateformes (Mac ou Windows). L’application devait être légère afin de ne pas mobiliser trop de ressources. Nous souhaitions aussi utiliser un langage de programmation mature et répandu rendant aisées les évolutions futures. Notre objectif était de trouver un environnement de développement complet, modulable tout en étant très performant.

Nous nous sommes appuyés à la fois sur l’enquête et sur un test de performance des environnements de développement afin de prendre notre décision. Dans cette partie, nous allons expliquer quels choix ont été pris, tout en les justifiant. En accord avec la Chambre de Métiers et de l’Artisanat de l’Aube, il a été décidé de transcrire la méthode ICRA sur une application web. L’application sera mise en place sur un serveur afin de permettre aux utilisateurs d’y accéder depuis leur navigateur web. Ils n’auront donc pas de logiciels spécifiques (client) sur leur poste de travail. Cela permet d’éviter une installation fastidieuse et de se libérer de la contrainte de dépendance aux systèmes d’exploitation. De plus, l’outil est multiplateforme. La structure des pages est compatible avec les principaux navigateurs sur le marché. Pour faire l’état des lieux des navigateurs dominants sur le marché, nous nous sommes tournés vers le site W3Counter (W3Counter). Les pages doivent être compatibles avec les cinq principaux navigateurs dominant le marché : Internet Explorer, Firefox, Chrome, Safari et Opéra. La figure 44 nous montre les différentes parts de marché de ces navigateurs.

Figure 44.Parts de marché des principaux navigateurs web

Le début du développement a montré qu’entre deux versions d’Internet Explorer le rendu graphique pouvait être très différent. Par conséquent, la comptabilité a été focalisée sur les versions 7, 8 et 9 du navigateur.

Afin de travailler plus efficacement lors du développement, un IDE

(Environnement de Développement intégré) est nécessaire. Trois IDE qui

correspondent à nos besoins (Éclipse Indigo (3.7), NetBeans 7.1, et IntelliJ IDEA 11) ont été choisis. On pourra sans problème passer d’un IDE à un autre au cours du développement, cela ne changera pas la structure du projet.

Le langage de développement Java a été choisi pour l’application. Ce langage a l’avantage d’être stable. Les applications développées sous cette technologie sont facilement portables et peuvent s’exécuter sur des systèmes d’exploitation divers, grâce à la machine virtuelle Java (JVM : Java Virtual Machine).

En effet, le code Java est compilé en bytecode, et c’est la machine virtuelle qui va traduire et exécuter ce code en code natif, selon le système d’exploitation sur lequel est installée la machine virtuelle. Actuellement, de nombreux systèmes d’exploitation supportent la JVM : Windows, Mac OS, Linux, Android,…

(Microsoft) Internet Explorer (Mozilla) Firefox (Google) Chrome (Apple) Safari (Opéra software) Opéra

Compte tenu de la complexité du projet, il a été décidé d’avoir une approche orientée objet lors du développement. Cette approche assure l’évolutivité de l’application par la suite. Cette approche nous assurait une meilleure productivité des développeurs et une plus grande qualité des applications

L’application se lance sur un serveur web Apache Tomcat, développé par Apache Software Foundation. Techniquement, Tomcat n’est pas un serveur web, mais un conteneur web. Il permet d’exécuter des servlets. En réalité, il est employé en combinaison avec un serveur web Apache (Apache HTTP Server).

Tomcat est écrit en langage Java ; il peut donc s’exécuter via une JVM (machine virtuelle Java). Ainsi, on s’assure que ce serveur puisse se lancer sur n’importe quel système d’exploitation.

Un framework est un ensemble de composants logiciels structurels qui va servir de base lors du développement de tout ou partie d’un logiciel. Java permet de développer des pages web dynamiques. L’utilisation de frameworks a été décidée dans l’optique d’accroître la productivité. De cette façon, certaines étapes de la création de l’application ont été simplifiées. Le choix s’est porté sur des frameworks permettant de simplifier certaines tâches, et ne nécessitant pas de mise en place importante. Nous allons utiliser la combinaison de trois frameworks : Spring, Struts, et Hibernate qui ont chacun leur rôle précis.

Spring est un framework libre qui va permettre de construire et de définir

l’infrastructure globale de notre application. Il prend en charge la création d’objets et la mise en relation de ceux-ci par le biais de fichiers de configuration qui décrivent les objets qu’il faut fabriquer et les relations de dépendance qui existent entre ces objets. Il est qualifié de conteneur « léger », car les classes (type d’objet) n’ont pas besoin d’implémenter des interfaces spécifiques.

Apache Struts est aussi un framework libre et permet d’optimiser l’interface

Homme-Machine. Ce framework simplifie notamment le travail au niveau des contrôleurs et des vues. Il permet de structurer l’application sous forme d’actions, qui sont en fait des évènements déclenchés par les utilisateurs (lancement d’une recherche, remplissage d’un formulaire…). Struts peut aussi automatiser certaines actions, par exemple la validation des données entrées par les utilisateurs.

Enfin, Hibernate, un framework open source, permet de gérer la persistance des objets en base de données relationnelle. Grâce à des fichiers de configuration XML, il va faire le lien entre les objets de l’application et les tables de la base de données. Cette combinaison de trois frameworks est une solution utilisée dans de nombreuses entreprises, car elle permet de bien exploiter les points forts de chaque framework.