Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
slam4:php:phalcon:td5 [2016/03/03 22:34] – supprimée jcheron | slam4:php:phalcon:td5 [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== TD n°5 ====== | ||
+ | [[https:// | ||
+ | |||
+ | ===== -- Contexte ===== | ||
+ | |||
+ | Une société de développement (Web, mobile, applications...) souhaite disposer en interne d'un outil permettant : | ||
+ | * de gérer la répartition de ses équipes sur les projets => affectations | ||
+ | * d' | ||
+ | |||
+ | L' | ||
+ | |||
+ | |||
+ | ===== - Règles de gestion ==== | ||
+ | |||
+ | ==== -- Utilisateurs ==== | ||
+ | |||
+ | Les utilisateurs sont : | ||
+ | * Internes à l' | ||
+ | * ou externes : clients commanditaires d'une application | ||
+ | |||
+ | La connexion à l' | ||
+ | La seule autre information retenue sur les utilisateurs est leur identité :\\ | ||
+ | Composée du nom et du prénom pour une personne physique, ou de la raison sociale pour une entreprise. | ||
+ | |||
+ | |||
+ | |||
+ | ==== -- Droits ==== | ||
+ | Les droits d' | ||
+ | Chaque utilisateur dispose d'un rôle, qui lui attribue des droits de faire (actions) sur les ressources de l' | ||
+ | |||
+ | ==== -- Projets ==== | ||
+ | |||
+ | L' | ||
+ | Sont également mémorisés leur date de lancement et la date de fin prévue.\\ | ||
+ | |||
+ | Chaque projet est découpé en cas d' | ||
+ | |||
+ | ==== -- Répartition des cas ==== | ||
+ | Les cas d' | ||
+ | |||
+ | **Exemple :** | ||
+ | On estime que la réalisation du cas " | ||
+ | |||
+ | |||
+ | |||
+ | ==== -- Avancement & tâches ==== | ||
+ | |||
+ | Chaque jour, ou le plus régulièrement possible, les développeurs en charge de cas d' | ||
+ | Le pointage des tâches doit mentionner leur date de réalisation. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== -- Messages ==== | ||
+ | |||
+ | Que l'on soit membre de l' | ||
+ | Les messages ne sont pas destinés à une personne en particulier. Un message peut par contre être ensuite accompagné d'un fil de discussion. | ||
+ | |||
+ | Les messages sont composés d'un objet, d'un contenu, d'un auteur, d'une date et heure d' | ||
+ | |||
+ | ==== -- Lecture et estimations ==== | ||
+ | |||
+ | Les membres d'une équipe affectés à un projet peuvent consulter : | ||
+ | * La présentation du projet | ||
+ | * La répartition des membre de l' | ||
+ | * L' | ||
+ | * L' | ||
+ | * La date de livraison estimée, et l' | ||
+ | * La liste des messages associés à un projet | ||
+ | |||
+ | Chaque membre (en interne)ne peut modifier que les informations qui le concernent. | ||
+ | |||
+ | |||
+ | Les clients peuvent consulter : | ||
+ | * La présentation de leur projet | ||
+ | * L' | ||
+ | * La date de livraison estimée (mais non garantie), et l' | ||
+ | * La liste des messages associés au projet | ||
+ | |||
+ | |||
+ | |||
+ | ===== -- Schéma de la base de données ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== -- Création ===== | ||
+ | |||
+ | ==== Base de données ==== | ||
+ | |||
+ | * Création de la base : {{: | ||
+ | * Insertion des données : {{: | ||
+ | |||
+ | ==== Projet initial ==== | ||
+ | |||
+ | Faire un fork du projet : https:// | ||
+ | |||
+ | Clonez le ensuite pour travailler en local (attention de bien le mettre dans le root web). | ||
+ | |||
+ | Créer un projet (phpStorm) à cet emplacement. | ||
+ | |||
+ | |||
+ | ====== fonctionnalités à implémenter ====== | ||
+ | |||
+ | ===== -- Ajax & jQuery ===== | ||
+ | |||
+ | Intégrer [[http:// | ||
+ | ===== -- Models ===== | ||
+ | |||
+ | * Générer les modèles | ||
+ | * Vous ajouterez les relations qui seront nécessaires par la suite au fur et à mesure de vos besoins | ||
+ | |||
+ | ===== -- Connexion ===== | ||
+ | Les requêtes suivantes sont à réaliser en Ajax, les opérations liées à la connexion/ | ||
+ | |||
+ | ==== Connexion ==== | ||
+ | |||
+ | * Ajouter un bouton Connexion permettant la connexion automatique d'un utilisateur (prendre le premier utilisateur dont le rôle est **user** présent dans la BDD).\\ | ||
+ | * L' | ||
+ | ==== Déconnexion ==== | ||
+ | * Afficher dans une div le résultat de la connexion : Nom d' | ||
+ | * Implémenter la déconnexion (Fermeture de la session, affichage d'un message + Bouton de connexion) | ||
+ | ===== -- Liste des projets d'un client ===== | ||
+ | |||
+ | L' | ||
+ | |||
+ | A l' | ||
+ | |||
+ | {{: | ||
+ | ==== -- Avancement ==== | ||
+ | |||
+ | |||
+ | L' | ||
+ | |||
+ | |||
+ | Soit le projet composé des uses cases suivants : | ||
+ | |||
+ | ^use case ^ poids ^ Avancement | ||
+ | |UC-1 | 20 | 50% | | ||
+ | |UC-2 | 10 | 100% | | ||
+ | |UC-1 | 20 | 0% | | ||
+ | |||
+ | On exprime le poids de chaque UC en % du total | ||
+ | |||
+ | ^use case ^ poids en % ^ Avancement | ||
+ | |UC-1 | 40% | 50% | | ||
+ | |UC-2 | 20% | 100% | | ||
+ | |UC-1 | 40% | 0% | | ||
+ | |||
+ | * UC-1, qui représente 40% du projet ayant un avancement de 50% => il a contribué à l' | ||
+ | * UC-2, qui représente 20% du projet ayant un avancement de 100% => il a contribué à l' | ||
+ | * UC-1, qui représente 40% du projet ayant un avancement de 0% => il a contribué à l' | ||
+ | |||
+ | L' | ||
+ | Avancement projet = somme sur les uc des (poids relatif*avancement) | ||
+ | |||
+ | ==== -- Visualisation des retards ==== | ||
+ | |||
+ | On considère qu'il y a retard dans l' | ||
+ | |||
+ | Pour apprécier les éventuels retards ou avances dans l' | ||
+ | |||
+ | |||
+ | ^Couleur /classe ^Signification ^ | ||
+ | |<fc # | ||
+ | |<fc # | ||
+ | |<fc # | ||
+ | |||
+ | |||
+ | ==== -- Ouverture de projet ==== | ||
+ | |||
+ | L' | ||
+ | ===== -- Projet d'un client ===== | ||
+ | |||
+ | A l' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== -- Equipe ==== | ||
+ | |||
+ | La zone **Equipe** sera chargée en Ajax au chargement de la page dans une div **# | ||
+ | Elle contient la liste des développeurs affectés au projet (par des cas d' | ||
+ | |||
+ | |||
+ | **Exemple sur un projet :** | ||
+ | |||
+ | ^use case ^ poids ^Développeur^ | ||
+ | |UC-1 | 20 |John DOE | | ||
+ | |UC-2 | 10 |John DOE | | ||
+ | |UC-1 | 20 |Martin SMITH | | ||
+ | |||
+ | John DOE intervient sur UC-1 et UC-2 qui pésent (20+10)/ | ||
+ | Son poids dans le projet est de 60%, 40% pour SMITH. | ||
+ | |||
+ | ==== -- Message ==== | ||
+ | |||
+ | La zone message devient visible sur click du bouton **# | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Certains messages appartiennent à un fil de discussion (ils ont été émis en réponse à un autre message => clé étrangère idFil dans la table message) : | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ==== -- Retour ==== | ||
+ | |||
+ | Un bouton doit permettre de fermer le projet, et de retourner à la liste des projets du client (en ajax/ | ||
+ | |||
+ | {{: |