1.1 Choix de technologies - dosseggegw1/AMT_projet GitHub Wiki
Base de données
Nous avons choisi d'utiliser le service de base de données MySQL pour les raisons suivantes :
- compatible avec Java
- open-source
- très largement utilisé
- bien documenté
- performant (vitesse et simplicité)
- SQL déjà connu par l'équipe
- connexions multiples possibles en même temps
UML outil
Pour pouvoir dessiner nos diagrammes UML, nous nous sommes arrêtés sur 2 outils en particulier :
- StarUML
- draw.io
Même si nous reconnaissant une certaine supériorité à StarUML pour ce qui est de la création et gestion de diagramme de classes, nous préférons utiliser draw.io car ce dernier a un catalogue de diagramme plus large permettant de créer des diagrammes de séquences ou d'activité si le besoin se présente durant le projet. Cet outil permet également d'intégrer le diagramme directement dans notre repository github.
Template e-commerce
Afin d'intégrer une interface graphique à notre web app, nous avons choisi un template disponible sur https://www.free-css.com/ Nous nous sommes arrêtés sur 2 templates en particulier :
- https://www.free-css.com/free-css-templates/page264/lion
- https://www.free-css.com/free-css-templates/page236/dailyshop
Notre choix se portait sur le template "Lion" car ce dernier paraissait plus moderne et plus épuré que son vis-à-vis. Malheureusement, le template "Lion" ne fonctionne pas convenablement, nous avons donc pris notre second choix qui est fonctionnel.
Serveur d'applications
Etant donné qu'on utilise Jakarta EE en appliquant le patron de conception MVC, nous avons regardé les différentes alternatives pour un serveur d'application. Notre choix s'est donc porté sur WildFly pour les raisons suivantes:
- Dernière release récente (2021-03-11)
- Simple d'utilisation
- Bonne documentation détaillée
- Léger
- Open-source
- Possibilité de changer de Jakarta EE à Java EE sans changer le serveur applicatif
Gestion des objets en base de données relationnelle
Nous avons décidé d'utiliser un ORM au lieu de JDBC pour la liaison application-base de données. Nous avons pris ce framework pour les raisons suivantes:
- Faciliter d'implémenter les méthodes CRUD
- Bonne organisation du code
- Directement inclu dans le serveur applicatif WildFly
Intégration continue
Nous avons choisi Maven (3.8.2) comme outil pour l'intégration continu, car:
- Les membres de l'équipe connaissent déjà l'outil
- Bonne documentation en ligne
Test unitaire
Pour les tests unitaire nous allons utiliser le framework de test Junit. Nous allons utiliser la version 4. La méthode given-when-then est utilisé pour les tests unitaire.