Ceci est le dépôt associé au projet Karuta.
Pour plus d'informations, consulter la documentation associé au projet de refonte du backend.
- Révision de la structure du code :
- passage en architecture n-tiers plus modulaire : usage de frameworks (Hibernate, Spring, ...).
- Révision de la sécurité des comptes d'utilisateurs (nouveau processus de chiffrement des mdp en BDD).
- Mapping de la structure de la base de données sur des objets Java.
- Révision de la gestion des erreurs au sein de l'application.
- Compatible avec la version 9 de Tomcat.
- Tests unitaires et tests d'intégration.
- Suppression fichier de configuration
configKaruta.properties
, remplacer par une table configuration en base de données.
db
: les éléments de création de la base de données DB_KARUTAkaruta-batch
: Le module contient les batches de l'application.karuta-business
: Le module contient le logique métier de l’application avec notamment les classes Manager.karuta-consumer
: Le module contient les éléments d'interaction avec la base de données. S'y trouvent notamment les DAO.karuta-model
: Le module contient les objets métiers (les beans DO).karuta-webapp
: Le module contient "l’application web" du back-end (contrôleurs, Web services REST).Ces services sont destinées à être consommées par l’application avec IHM (karuta-frontend).
Ces étapes vous permettront d’installer, de modifier et d’exécuter rapidement le back-end de Karuta.
- Décompressez le fichier téléchargé, ce qui vous donnera un répertoire appelé karuta-master ou similaire.
- Déplacez-le dans votre zone de développement, par exemple. /devel/karuta/. NE choisissez PAS un répertoire dont le chemin contient des espaces, par exemple. n'utilisez pas de répertoire dont le chemin inclut C:/Documents and Settings/.
- Eclipse 2019-12 R est préférable. Eclipse IDE pour les développeurs Java EE est un bon choix. (Le back-end de Karuta a été développé avec).
- Dans Eclipse, choisissez File > Import..., puis choisissez Maven > Existing Maven Projects, cliquer sur Next >, définissez le répertoire racine sur votre répertoire karuta-master eg. /devel/karuta-master/, cliquer sur Finish.
- Le projet n’est pas encore construit, il affichera donc des erreurs.
- Dans Eclipse, choisissez Help > Eclipse Marketplace..., puis dans la barre de recherche, tapez « JBoss Tools ». Une fois la recherche terminée, cliquez sur Install et suivez les instructions.
Dans Eclipse, faites un clic droit sur le projet et choisissez Properties puis Java Compiler et assurer vous que Compiler compliance level is 1.8. Vous devrez peut-être activer Enable project specific settings.
- Dans Eclipse, cliquez avec le bouton droit sur le projet racine « Karuta » et choisissez actualiser. Cela devrait générer le projet avec succès et ne montrer aucune erreur.
- Cela permet également d’exécuter un build maven, si le projet n’avait pas été encore construit jusque là. NB : cela peut prendre du temps car des dépendances sont à télécharger.
Tomcat est un serveur HTTP à part entière qui gère les servlets et les JSP. Il sera notre serveur Web pour le développement.
- Go to Apache Downloads et téléchargez le .zip de la section Core.
- Une fois téléchargé, décompressez-le. Déplacez-le vers un emplacement approprié (par exemple, /devel/apache-tomcat-9.0.30).
- Dans Eclipse, en bas de la Fenêtre, dans la vue « Servers », cliquez sur New... et créer un nouveau serveur, suivez les instructions
-
Pour Linux, suivez ce tutoriel : http://www-lisic.univ-littoral.fr/~ramat/downloads/tp-asr-5.pdf .
-
Pour Windows, installez EasyPHP. Durant l’installation, NE choisissez PAS le répertoire par défaut C:/Program Files/… Privilégier un répertoire utilisateur (cad. un répertoire ou pas besoin d’avoir des droits administrateur) comme par exemple : C:\Users<Votre_Nom>\devel\EasyPhp
-
Vous disposez désormais de l'environnement suivant :
Web Server | Business | Persistence | Database Server | Logger |
---|---|---|---|---|
Tomcat 9 | Spring IOC | Hibernate | MySQL | Log4j |
(As jars in project) | (As jars in project) | (As jars in project) | (Nécessite installation) | (As jars in project) |
-
Clic droit sur Tomcat Server 9, puis cliquez sur add and remove, choisissez « karuta-webapp ».
-
À nouveau clic droit sur Tomcat Server 9 puis cliquez sur start.
-
Si erreur, notamment
ClassNotFoundException
fororg.slf4j.Logger or org.slf4j.impl.StaticLoggerBinder
, vérifier les arguments du serveur J2EE.- Choisissez Run > Run Configurations.... La fenêtre « Run Configurations » apparaît.
- Choisissez Tomcat v9 server at localhost ou similaire.
- Cliquez sur l'onglet Arguments.
- Ajoutez à la suite dans la zone de texte VM arguments:
-Dlog4j.configurationFile=log4j.properties
-
Vérifiez que Karuta fonctionne en allant, avec votre navigateur web, sur la page http://localhost:8080/karuta-webapp. Une page avec It works doit s’afficher !
- Dans Eclipse, arrêter Karuta-webapp (dans la vue Console, cliquez sur la case rouge).
- À partir du projet racine « Karuta », ouvrir les dossiers db > karuta-backend. A l’intérieur du dossier se trouve les scripts MySQL que vous devrez exécuter.
- Ouvrir phpMyAdmin
- Sur Windows, d’abord démarrer EasyPhp. Puis à partir du dashboard d’easyPHP, démarrer le serveur de base de données et le serveur HTTP. Enfin, ouvrez phpMyAdmin.
- Sur Linux, http://localhost/phpmyadmin/
- Pour créer la base de données depuis phpmyadmin, exécuter dans l'ordre les scripts SQL suivants :
01_create_db_user_karuta.sql
02_create_db_karuta.sql
10_insert_data_db_karuta.sql
- Vérifiez que Karuta fonctionne en allant, avec votre navigateur web, sur la page http://localhost:8080/karuta-webapp
- Essayez de faire un test rapide pour voir si le système fonctionne ...
- Dans Eclipse, projet karuta-webapp => recherchez le fichier de test
src/test/java/eportfolium/com/karuta/webapp/rest/controller/CredentialBasicLiveTest.java
- Double clic sur le fichier pour l’ouvrir. Puis, choisissez Run > Run As > Junit Test. Dans la vue « Console », le texte suivant doit s’afficher : Output from Server .... created.
- Dans Eclipse, projet karuta-webapp => recherchez le fichier de test