Travail pratique
ID : A15/A17-TP08
Liste des projets
- Projet A - Salle de sport
- Projet B - Médiathèque communale
- Projet C - Restaurant
- Projet D - Agence de location de vélos
- Projet E - Clinique vétérinaire
- Projet F - Centre de formation
- Projet G - Cabinet de recrutement
Projet A - Salle de sport
Une petite salle de sport souhaite disposer d'une application web interne afin de gérer l'organisation de ses cours collectifs (yoga, musculation, cardio, etc.) ainsi que les inscriptions des membres à ces cours. Cette application a pour objectif de centraliser les informations, de faciliter la gestion quotidienne et d'éviter les erreurs liées aux inscriptions manuelles.
L'application doit permettre à l'utilisateur de gérer les cours, les catégories de cours et les membres à l'aide d'interfaces et de formulaires web. Il doit être possible d'ajouter, modifier et supprimer des cours, des catégories et des membres. Les cours sont caractérisés par un titre, une catégorie, un coach, une date et un nombre de places maximum. Chaque cours appartient à une seule catégorie, tandis qu'une catégorie peut regrouper un ou plusieurs cours. Un membre est défini par son prénom, son nom et son adresse email.
L'application doit également gérer les inscriptions des membres aux cours. Un membre peut s'inscrire à un ou plusieurs cours et se désinscrire si nécessaire. Pour chaque cours, il doit être possible de consulter la liste des membres inscrits, et plus globalement d'afficher la liste des cours disponibles. Lors de l'inscription, certaines règles doivent être respectées afin de garantir la cohérence des données et le bon fonctionnement du service. Il ne doit notamment pas être possible d'inscrire un membre à un cours ayant atteint son nombre maximum de participants. De plus, un membre ne peut pas être inscrit à deux cours ayant lieu à la même date.
Cette application est destinée à un usage interne et vise avant tout la simplicité, la clarté des informations affichées et la fiabilité de la gestion des inscriptions. Les choix techniques, l'organisation de la base de données et la validation des données relèvent de la responsabilité de la personne en charge du développement.
Projet B - Médiathèque communale
Une médiathèque communale souhaite disposer d'une application web interne permettant de gérer son catalogue de livres ainsi que les emprunts réalisés par les usagers. Cette application a pour objectif de centraliser les informations, de simplifier la gestion quotidienne des ouvrages et de garantir un suivi fiable des emprunts.
L'application doit proposer des interfaces web et des formulaires permettant de gérer les livres, les catégories de livres et les usagers. Il doit être possible d'ajouter, modifier et supprimer ces différents éléments. Les livres sont caractérisés par un titre, un auteur, une catégorie et un nombre d'exemplaires maximum correspondant au stock total disponible dans la médiathèque. Chaque livre appartient à une seule catégorie, tandis qu'une catégorie peut regrouper un ou plusieurs livres.
Les usagers sont définis par un prénom, un nom et une adresse email. L'application doit permettre de créer et de clôturer des emprunts afin de suivre les livres actuellement prêtés. Un usager peut emprunter un ou plusieurs livres, et un même livre peut être emprunté plusieurs fois au fil du temps par différents usagers.
Lors de la création d'un emprunt, certaines règles doivent être respectées afin d'assurer la cohérence du système. Il ne doit notamment pas être possible d'emprunter un livre lorsque tous ses exemplaires sont déjà prêtés. La clôture d'un emprunt correspond au retour du livre et rend à nouveau un exemplaire disponible pour un futur emprunt.
L'application doit également permettre d'afficher la liste complète des livres du catalogue ainsi que les emprunts associés à chaque livre, afin d'identifier facilement les livres disponibles et ceux actuellement empruntés. Destinée à un usage interne, l'application doit privilégier la simplicité d'utilisation, la clarté des informations affichées et la fiabilité du suivi des emprunts. Les choix techniques et l'implémentation relèvent de la responsabilité de la personne en charge du développement.
Projet C - Restaurant
Un restaurant souhaite disposer d'une application web interne permettant de gérer sa carte de plats ainsi que les commandes passées par les clients, pour une consommation sur place ou à emporter. Cette application a pour objectif de centraliser les informations, de simplifier la gestion quotidienne des commandes et d'assurer un suivi fiable de l'activité du restaurant.
L'application doit proposer des interfaces web et des formulaires permettant de gérer les plats, les clients et les commandes. Il doit être possible d'ajouter, modifier et supprimer ces différents éléments. Les plats sont définis par un nom, un prix et une description. Les clients sont caractérisés par un prénom, un nom, une adresse email et un numéro de téléphone.
L'application doit permettre de créer et d'annuler des commandes. Chaque commande est associée à un client et à une date. Un client peut passer une ou plusieurs commandes, et une commande peut contenir un ou plusieurs plats. Une commande annulée ne doit plus être prise en compte dans le suivi de l'activité du restaurant.
L'application doit également permettre d'afficher la liste des commandes, ainsi que l'historique des commandes pour chaque client. Destinée à un usage interne, l'application doit privilégier la simplicité d'utilisation, la clarté des informations affichées et la cohérence des données. Les choix techniques et l'implémentation relèvent de la responsabilité de la personne en charge du développement.
Projet D - Agence de location de vélos
Une agence de location de vélos souhaite disposer d'une application web interne permettant de gérer son parc de vélos ainsi que les locations effectuées par les clients. Cette application a pour objectif de centraliser les informations, de faciliter la gestion quotidienne des locations et d'assurer un suivi fiable de la disponibilité des vélos.
L'application doit proposer des interfaces web et des formulaires permettant de gérer les vélos, les clients et les locations. Il doit être possible d'ajouter, modifier et supprimer ces différents éléments. Un vélo est défini par un nom, un modèle, un numéro de série et un état, permettant notamment d'indiquer s'il est disponible ou en maintenance. Les clients sont caractérisés par un prénom, un nom et une adresse email.
L'application doit permettre de créer et de clôturer des locations. Chaque location est associée à un client, à un ou plusieurs vélos, ainsi qu'à une date de début et une date de fin. Un client peut louer un ou plusieurs vélos, et un même vélo peut être loué plusieurs fois au fil du temps par différents clients.
Lors de la création d'une location, certaines règles doivent être respectées afin d'assurer la cohérence du système. Il ne doit pas être possible de louer un vélo qui n'est pas disponible, notamment lorsqu'il est déjà loué ou en maintenance. La clôture d'une location correspond à la restitution du ou des vélos et permet de mettre à jour leur disponibilité.
L'application doit également permettre d'afficher la liste des locations associées à chaque vélo, afin de consulter l'historique des locations et d'identifier facilement les vélos actuellement disponibles ou indisponibles. Destinée à un usage interne, l'application doit privilégier la simplicité d'utilisation, la clarté des informations affichées et la cohérence des données. Les choix techniques et l'implémentation relèvent de la responsabilité de la personne en charge du développement.
Projet E - Clinique vétérinaire
Une clinique vétérinaire souhaite disposer d'une application web interne permettant de gérer ses animaux suivis, leurs propriétaires et les consultations réalisées par les vétérinaires. Cette application a pour objectif de centraliser les informations médicales de base, de faciliter l'organisation des consultations et d'assurer un suivi fiable des animaux.
L'application doit proposer des interfaces web et des formulaires permettant de gérer les animaux, les propriétaires et les consultations. Il doit être possible d'ajouter, modifier et supprimer ces différents éléments. Un animal est défini par un nom, une espèce, une race et une date de naissance. Chaque animal est associé à un seul propriétaire, tandis qu'un propriétaire peut posséder un ou plusieurs animaux. Les propriétaires sont caractérisés par un prénom, un nom, une adresse email et un numéro de téléphone.
L'application doit permettre de créer et de clôturer des consultations. Chaque consultation est associée à un animal, à une date et à un vétérinaire. Un animal peut faire l'objet de plusieurs consultations au fil du temps. La clôture d'une consultation permet d'indiquer que la visite est terminée.
L'application doit également permettre d'afficher la liste des animaux suivis par la clinique ainsi que l'historique des consultations pour chaque animal. Destinée à un usage interne, l'application doit privilégier la simplicité d'utilisation, la clarté des informations affichées et la cohérence des données. Les choix techniques et l'implémentation relèvent de la responsabilité de la personne en charge du développement.
Projet F - Centre de formation
Un centre de formation souhaite disposer d'une application web interne permettant de gérer ses formations et les inscriptions des participants. Cette application a pour objectif de centraliser les informations, de simplifier l'organisation des inscriptions et d'assurer un suivi fiable des participants inscrits à chaque formation.
L'application doit proposer des interfaces web et des formulaires permettant de gérer les formations et les participants. Il doit être possible d'ajouter, modifier et supprimer ces différents éléments. Une formation est définie par un titre, une description et un nombre de places maximum. Les participants sont caractérisés par un prénom, un nom et une adresse email.
L'application doit permettre d'inscrire et de désinscrire des participants à une formation. Un participant peut s'inscrire à une ou plusieurs formations, et une formation peut accueillir plusieurs participants. Lors de l'inscription, certaines règles doivent être respectées afin d'assurer la cohérence du système. Il ne doit notamment pas être possible d'inscrire un participant à une formation ayant atteint son nombre maximum de places. La désinscription d'un participant libère une place pour un autre participant.
L'application doit également permettre d'afficher la liste des formations proposées ainsi que la liste des participants inscrits à une formation donnée, afin de visualiser facilement les inscriptions et la disponibilité des places. Destinée à un usage interne, l'application doit privilégier la simplicité d'utilisation, la clarté des informations affichées et la fiabilité du suivi des inscriptions. Les choix techniques et l'implémentation relèvent de la responsabilité de la personne en charge du développement.
Projet G - Cabinet de recrutement
Un cabinet de recrutement souhaite disposer d'une application web interne permettant de gérer les offres d'emploi proposées aux entreprises clientes ainsi que les candidatures reçues. Cette application a pour objectif de centraliser les informations, de faciliter le suivi des candidatures et d'assurer une gestion cohérente des offres et des candidats.
L'application doit proposer des interfaces web et des formulaires permettant de gérer les offres d'emploi, les candidats et les entreprises clientes. Il doit être possible d'ajouter, modifier et supprimer ces différents éléments. Une offre d'emploi est définie par un intitulé de poste, une description et une entreprise cliente. Une entreprise cliente peut proposer une ou plusieurs offres d'emploi, tandis qu'une offre d'emploi est toujours rattachée à une seule entreprise.
Les candidats sont caractérisés par un prénom, un nom et une adresse email. L'application doit permettre d'associer un candidat à une offre d'emploi afin de créer une candidature, et de clôturer une candidature lorsque le processus de recrutement est terminé. Un candidat peut postuler à plusieurs offres d'emploi, et une offre d'emploi peut recevoir plusieurs candidatures au fil du temps.
L'application doit également permettre d'afficher la liste des offres d'emploi ainsi que les candidatures associées à chaque offre, afin de suivre l'avancement du recrutement. Destinée à un usage interne, l'application doit privilégier la simplicité d'utilisation, la clarté des informations affichées et la cohérence des données. Les choix techniques et l'implémentation relèvent de la responsabilité de la personne en charge du développement.
Travail à réaliser
Créez un nouveau projet sur GitLab dans votre espace personnel et m'ajoutez en tant que membre de celui-ci avec le rôle Maintainer.
Implémenter le projet (HTML, CSS, PHP et MySQL) en mettant en oeuvre l'ensemble des connaissances et compétences acquises durant le cours Technologies Internet.
L'interface utilisateur doit être responsive et donc optimisée pour une utilisation sur tous les types de périphériques.
Le projet doit être versionné avec Git en utilisant le workflow usuel.
‼️ Au minimum 1 commit de l'état d'avancement du code doit être fait durant chaque demi-journée de cours entre le lund 5 et le mercredi 21 janvier..
Mise en production
Déployez la dernière version de votre site web sur votre serveur de production (VPS) avec l'URL https://tp08.apiXX.isc.heia-fr.ch (remplacez XX par le numéro de votre serveur personnel).
Rendu du TP
Le dernier commit du projet sur Git ainsi que le dernier upload du projet sur votre VPS devront être faits au plus tard le mercredi 21 janvier à 15h.
Un résultat insuffisant pour ce TP peut conduire à un Non Acquis pour l'évaluation finale de ce cours !