-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
cordier
committed
Jan 9, 2020
1 parent
74c6163
commit f6e5b11
Showing
1 changed file
with
54 additions
and
62 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,91 +1,83 @@ | ||
Refonte : spring mvc thymeleaf | ||
== | ||
Projet Bibliothèque - projet 07 | ||
= | ||
|
||
Technique | ||
Technique | ||
== | ||
Services Rest (Jar exécutables) | ||
-- | ||
* Un service pour les méthodes CRUD sur base PostgreSql | ||
* Un service type "Cron" pour envoi de email | ||
Référence | ||
--- | ||
* https://openclassrooms.com/fr/courses/5684146-create-web-applications-efficiently-with-the-spring-boot-mvc-framework | ||
|
||
WebApp Spring MVC/ThymeLeaf (Jar exécutable) | ||
-- | ||
* Une application qui gère les pages html ainsi que le controle d'accès (login/password) | ||
Environnement | ||
--- | ||
* Spring Boot, PostgreSql, httpClient, Git, Maven | ||
|
||
Spring Boot (OPENCLASSROOMS - cours en anglais) | ||
-- | ||
* Web Spring MVC avec ThymeLeaf (OPENCLASSROOMS - cours en anglais) | ||
* Security ( Login-Password, CORS) | ||
* Data/jpa | ||
* Hibernate (API Criteria) | ||
* Embedded tomcat | ||
* Note : utilisation de la librairie Lombok | ||
Starters Spring Boot | ||
--- | ||
* Web, Security, Data/Jpa, Hibernate, Mail | ||
|
||
Base de donnée | ||
-- | ||
* PostgreSql v12 | ||
Jars executables | ||
--- | ||
* Un service REST pour les méthodes de persistence - JPA/Hibernate et PostgreSql. | ||
* Un batch pour envoi de email - "@Scheduled" | ||
* Une Web application MVC - template engine : ThymeLeaf | ||
|
||
Communication entre services | ||
-- | ||
--- | ||
* Httpclient (jdk 11) placée dans une lib déployeé dans un repo local | ||
|
||
|
||
Build, gestion de source | ||
-- | ||
--- | ||
* Git version 2.24.0.windows.2 | ||
* Apache Maven 3.6.0 | ||
* Intellij IDEA 2019.3.1 Ultimate | ||
|
||
Mise en oeuvre sous Windows | ||
Installation sous Windows | ||
== | ||
* Note : Le compte local doit appartenir au groupe 'administrateurs' | ||
#### Installer Apache Maven V3 et Oracle JDK 11 | ||
#### Modifier la policy pour autoriser l'exécution des scripts 'Set-ExecutionPolicy Unrestricted' | ||
#### Verifier avec mvn --version | ||
* Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20:41:47+02:00) | ||
* Java version: 11.0.4, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-11.0.4 | ||
* Default locale: fr_FR, platform encoding: Cp1252 | ||
* OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" | ||
Installation de l'environnement | ||
--- | ||
* Installer Apache Maven V3 et Oracle JDK 11 | ||
* Modifier la policy pour autoriser l'exécution des scripts 'Set-ExecutionPolicy Unrestricted' | ||
* Verifier avec mvn --version | ||
|
||
Clone depuis GitHub | ||
--- | ||
* Cloner depu is https://github.com/lco3004/ocr-projet07-v3.git | ||
|
||
Clone et build des exécutables java | ||
-- | ||
#### Créer un repertoire racine du projet - exemple c:\prj07 | ||
* Se placer dans le répertoire qui vient d'être créer | ||
#### Cloner le projet : git clone https://github.com/lco3004/ocr-projet07-v3.git . | ||
* Générer les Jar exécutables avec mvn clean install | ||
* Puis aller dans le répertoire lib_httpclient pour déployer le repo local avec mvn deploy | ||
#### installer PostgresSql | ||
Création de la base PostgresSql | ||
--- | ||
* Lancer le service windows PostgreSql (barre de recherche Windows, saisir services.msc) | ||
* La version utilisée est la 12 | ||
* Créer le répertoire des tablespaces :'c:\bd_data' | ||
* Sous pgsql, exécuter le script sql_uml/prep_projet07.sql | ||
* Installer pgadmin v4 | ||
* Sous pgadmin, attribuer le password projet07 au role rl_projet07 | ||
* Choisir la base db_projet07 - mdp identique au role rl_projet07 | ||
* Enfin , exécuter sql_uml/create_tbl.sql | ||
#### pour les services CRUD et WEB | ||
* Ouvrir un terminal puis se placer dans le répertoire du service ( ex : service_crud) | ||
* Lancer le service avec mvn spring-boot:run' | ||
#### pour le service Batch | ||
#####dans le contexte de demo, il faut lancer le CRON immédiatement | ||
* Se placer dans le répertoire du service | ||
|
||
Lancement des applications | ||
== | ||
Application Web et Service Rest | ||
--- | ||
* Ouvrir un terminal puis se placer dans le répertoire de l'application ( ex : service_crud) | ||
* Lancer l'application avec mvn spring-boot:run' | ||
|
||
Application Batch | ||
--- | ||
* Se placer dans le répertoire de l'application | ||
* Editer le fichier application.yml et valoriser les champs de la rubrique Mail | ||
* lancer le service avec mvn spring-boot:run -Dspring-boot.run.arguments="immediat" | ||
#### répertoires particuliers | ||
* logs contient les traces applicatives | ||
* projet07-repo est le repo maven local (cf configuration "deploy" dans le pom de 'lib_httpclient' ) | ||
* Note : Ces répertoires sont supprimés lors d'un mvn clean | ||
|
||
Utilisation de l'application | ||
== | ||
#### connexion avec un des usagers du jeu de test (ex : juie / julie) | ||
#### Recherche d'ouvrage : | ||
== | ||
Login | ||
--- | ||
* connexion avec un des usagers du jeu de test (ex : juie / julie) | ||
|
||
Les Ouvrages - Recherche et liste | ||
--- | ||
* Insensible à la Casse | ||
* Fonctionne avec début de mot (ex : chris renvoie Christophe) | ||
#### Prêts : | ||
* le bouton "update" en regard d'un prêt déja prolongé n'apparait plus | ||
#### Parametrage durée du prêt | ||
* Par défaut 4 semaines | ||
* Paramètre dans properties.yml | ||
#### Batch | ||
* Déclenché tous les jours à 10 heures CET | ||
|
||
Les Prêts (Par défaut 4 semaines - dans properties.yml) | ||
--- | ||
* le bouton "update" en regard d'un prêt permet de le prolonger | ||
|