framework-web:spring:td5

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
framework-web:spring:td5 [2019/03/18 22:39] jcheronframework-web:spring:td5 [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 19: Ligne 19:
  
  
-===== Application Gestion de scripts =====+===== Application Gestion de scripts (partie 1) ===== 
 + 
 +Vous appartenez à la DSI et utilisez régulièrement des scripts permettant d'automatiser des tâches, qu'ils soient créés par vos soins, par vos collègues ou trouvés sur Internet. 
 +Vous êtes également amenés à créer/modifier des fichiers de configuration. 
 + 
 +Après quelques années d'expérience, vous en avez créé quelques-uns... que vous ne voudriez pas perdre, compte tenu du travail effectué.  
 + 
 +Vos collègues du service sont dans le même cas que vous. 
 + 
 +On vous confie la mission de créer une application web qui permettra de recenser et de sauvegarder les scripts (de tous genres) créés par les différents intervenants. 
 + 
 + 
 +===== Résumé ===== 
 + 
 +|< 100% >| 
 +^Outils à utiliser| <html><ul><li><a href="https://emberjs.com/">Spring-boot</a></li></html>
 +^Principales fonctionnalités |<html><ul><li>Gestion des scripts (Ajout, modification, suppression),</li><li>Listage</li></ul></html>
 + 
 + 
 +===== Règles de gestion (partielles) ===== 
 + 
 +Les utilisateurs peuvent créer un compte, et se connecter à l'application. 
 + 
 +Un script : 
 +  * est créé par un utilisateur 
 +  * appartient à une catégorie (config files, bash scripts...) 
 +  * est écrit dans un langage (php, bash, python...) 
 + 
 +On conservera un historique des versions de chaque script, accompagné de la date de modification et d'un commentaire. 
 + 
 +===== Diagramme de classes / MEA ===== 
 +<html><table border='0' style="width: 100%"><tr><td></html> 
 +<classdiagram plain> 
 +[Script|id;title;description;content;creationDate], 
 +[Category|id;name]category 1-0..*[Script], 
 +[History|id;date;content;comment]0..*-1[Script], 
 +[User|id;login;password;email;identity]user 1-0..*[Script], 
 +[Language|id;name]language 1-0..*[Script] 
 +</classdiagram> 
 +<html></td><td></html> 
 +{{:framework-web:spring:mcd.png?|}} 
 +<html></td></tr></table></html> 
 +===== Fonctionnalités à mettre en place ===== 
 + 
 +==== Entities-Repositories ==== 
 +Créer le projet  
 +Créer les classes métier et les repositories nécessaires 
 +Configurer l'application (BDD H2) 
 + 
 +==== Connexion ==== 
 +<wrap mytodo>**<nowiki>//</nowiki>TODO 1.1**</wrap> 
 + 
 +Il s'agit d'une simulation de connexion à l'application : 
 + 
 +  * Créer des instances d'utilisateur (en dur dans le code) et les enregistrer dans la base de données. 
 + 
 +|< 100% >| 
 +^Routes ^Description ^ 
 +| **/login** | Met en session l'un des utilisateurs chargé depuis la base de données (il devient l'utilisateur connecté),\\ va ensuite vers l'accueil **/index** | 
 +| **/logout** | Déconnecte l'utilisateur connecté (supprime la variable de session)\\ puis va vers l'accueil **/index** et affiche un message | 
 + 
 +==== Ajout/modification script ==== 
 + 
 +<wrap mytodo>**<nowiki>//</nowiki>TODO 1.2**</wrap> 
 + 
 +  * Ajout/modification d'un script (uniquement ceux qui appartiennent à l'utilisateur) 
 + 
 +|< 100% >| 
 +^Routes ^Description ^ 
 +| **/script/new** | Affiche le formulaire d'ajout d'un script, dont l'utilisateur connecté sera propriétaire.\\ La page n'est pas accessible si l'utilisateur n'est pas connecté. | 
 +| **/script/submit** [POST] | Valide la création ou la modification d'un script\\ puis va vers l'accueil **/index** et affiche un message | 
 +| **/script/{id}** | Affiche le formulaire de modification d'un script, dont l'utilisateur connecté doit être propriétaire.\\ La page n'est pas accessible si l'utilisateur n'est pas connecté, ou s'il n'est pas propriétaire du script.\\ Proposer la connexion, ou afficher un message si l'accès n'est pas autorisé au script. | 
 + 
 +La modification d'un script (content) doit créer une instance de **History** à chaque validation par **/script/submit**. 
 + 
 +==== Liste des scripts / accueil ==== 
 +<wrap mytodo>**<nowiki>//</nowiki>TODO 1.3**</wrap> 
 + 
 +|< 100% >| 
 +^Routes ^Description ^ 
 +| **/index** | Page d'accueil affichant :<html><ul><li>La connexion ou la déconnexion</li><li>Les infos de connexion (login, email)</li><li>La liste des scripts de l'utilisateur</li><li>L'accès à l'ajout d'un script ou la modification d'un script existant</li></ul></html>
  
  
  • framework-web/spring/td5.1552945196.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)