Ce dépôt GitHub reprend mon travail sur l'exercice proposé.
L'interface présente quelques améliorations, dont la possibilité de revenir à la liste en cours dans l'écran de détail salarié. Quelques commentaires ont été aussi ajouté en home page de l'application.
Cordialement, JC Kleinbourg
Ce projet est un début d'application web de gestion de salariés aide à domiciles. Il permet de réaliser les exercices en séance (TD) et exercices de l'évaluation (TP) du cours. L'énoncé de ces exercices est dans la page web accessible à http://localhost:8080/home.html une fois l'application démarrée ou sinon [src/main/resources/templates/home.html]. L'énoncé d'un exercice de TP est préfixé par "TP". Les exercices optionnels sont aussi préfixés par "BONUS".
- Avoir installé un IDE :
- IntelliJ Ultimate, avec votre adresse IPI sur Jetbrains Student à https://www.jetbrains.com/student/
- sinon Eclipse, à https://www.eclipse.org/downloads/packages/release/2022-09/r/eclipse-ide-java-developers
- Savoir utiliser Git et les branches (utilisez les capacités Git de votre IDE ou installez-le séparément depuis https://git-scm.com/download/win ). Quelques liens :
- Avoir un compte Github. Voici comment y configurer l'authentification de git par clé SSH :
- Connaître les bases du développement Java avec Maven (la persistence avec JPA est également utilisée ponctuellement),
et au moins comment importer et compiler un projet Java dans l'IDE :
- IntelliJ :
- Installation de Git : Git > git not installed > Donwload and install
- Cloner un projet Github : Git > Clone
- Configuration d'un projet Maven : clic droit sur pom.xml > Add as Maven project ou bien voir IV-B-2 à https://damienrieu.developpez.com/tutoriel/java/nouveautes-intellij-12/?page=page_1
- Installation de Java : par exemple
- erreur ne trouve pas le symbol "java" : clic droit sur pom.xml > Build > sur Setup DSK choisir Configure > choisir Download et install
- "Error running..." : Project JDK is not specified > Configure... > no SDK > Add SDK > Download
- lancer un build maven complet : Run > Edit configurations > Maven > Create configuration > mettre Working directory au dossier du projet et dans Command line, écrire : clean install
- problème de sécurisation de connexion : (Maven error : unable to find valid certification path to requested targetmaven unable to find valid certification path to requested target ou unable to access 'https://github.com/mdutoo/ipi-jva350-tptd.git/': SSL certificate problem: unable to get local issuer certificate) mvn clean package -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true ou dans IntelliJ Run > Edit Configurations > Java Options (sans -D) : maven.wagon.http.ssl.insecure=true maven.wagon.http.ssl.allowall=true comme dit à https://stackoverflow.com/questions/45612814/maven-error-pkix-path-building-failed-unable-to-find-valid-certification-path
- sinon Eclipse : voir https://thierry-leriche-dessirier.developpez.com/tutoriels/java/importer-projet-maven-dans-eclipse-5-min/
- IntelliJ :
- Avoir installé postgresql (ou mysql) : https://www.postgresql.org/download/
Par défaut, l'application se lance avec la base de données embarquée en mémoire H2. Comme il n'y a rien à faire pour cela, il est conseillé de commencer comme cela. L'inconvénient, outre que cela est moins réaliste, est que les données rajoutées disparaissent à chaque démarrage, à part quelques données de test rajoutées à l'initialisation (par
Installer PostgreSQL : https://dbeaver.io/download/
Exécuter les lignes de commande plus bas,
- soit dans un outil à installer tel DBeaver : https://dbeaver.io/download/
- soit dans un terminal.
Créer l'utilisateur "ipi" :
en tant qu'administrateur (sous Windows : recherche "cmd" dans les applications et dessus clic droit > "Run as admin", sous linux : sudo su - postgres) :
$> psql postgres
$postgresql> create user ipi with password 'ipi' createdb;
$postgresql> \q
Créer la base de données "ipi_jva320_web" :
$> psql -U ipi postgres -h localhost
$postgresql> create database ipi_jva320_web encoding 'UTF8';
$postgresql> \q
Vérifier que l'utilisateur créé peut bien se connecter à cette base :
$> psql -U ipi ipi_jva320_web -h localhost
Configurer l'application pour s'en servir :
- dans
main/resources/application.properties
, décommenter les lignes sous "postgresql - clean setup" et commenter les lignes à propos de H2. - dans
pom.xml
, commenter la dépendance à H2 (ou la passer en<scope>test</scope>
).
lancer la classe com.ipi.jva320.Jva320Application
- dans l'IDE
- IntelliJ : l'ouvrir et cliquer sur la flèche verte sur sa gauche
- Eclipse : clic droit > Run as application),
- avec maven (IDE ou ligne de commande) :
mvn spring-boot:run
Puis pointer le navigateur web à http://localhost:8080/ , ou pour afficher une page sans rendu Thymeleaf par exemple http://localhost:8080/home.html (qui contient l'énoncé des exercices à réaliser).
FAQ :
- erreur au démarrage "Cannot find template location: classpath:/templates/" => dans IntelliJ : clic droit sur projet > Add as Maven project
Voici l'organisation du code source de l'application :
- code Java de l'application : dans le package com.ipi.jva320
- Controllers Spring MVC (à développer) : dans le sous-package web
- template Thymeleaf (à compléter) : dans main/resources/templates
- configuration : main/resources/application.properties