Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
departement_info:personnels:pb:r4.01 [2024/02/21 13:51] – Brutus Philippe | departement_info:personnels:pb:r4.01 [2025/02/27 14:25] (Version actuelle) – Brutus Philippe |
---|
{{:departement_info:personnels:pb:R4.01:MVC.png?400x0&nolink}} | {{:departement_info:personnels:pb:R4.01:MVC.png?400x0&nolink}} |
| |
C'est un patron d'architecture et il en existe d'[[https://fr.wikipedia.org/wiki/Patron_d%27architecture|autres]]. | C'est un patron d'architecture et il en existe [[https://fr.wikipedia.org/wiki/Patron_d%27architecture|d'autres]]. |
| |
On peut aussi concevoir une application en sous-ensembles de sous-programmes s'appuyant les uns sur les autres. On parle alors d'[[https://fr.wikipedia.org/wiki/Architecture_en_couches|architecture en couches]]. Ce principe est très utilisé dans les systèmes d'exploitation ([[https://courstechinfo.be/OS/StructureEnCouches.html|structure en couches]]) et dans les communications dans les réseaux informatiques ([[https://fr.wikipedia.org/wiki/Mod%C3%A8le_OSI|modèle OSI]]). | On peut aussi concevoir une application en sous-ensembles de sous-programmes s'appuyant les uns sur les autres. On parle alors d'[[https://fr.wikipedia.org/wiki/Architecture_en_couches|architecture en couches]]. Ce principe est très utilisé dans les systèmes d'exploitation ([[https://courstechinfo.be/OS/StructureEnCouches.html|structure en couches]]) et dans les communications dans les réseaux informatiques ([[https://fr.wikipedia.org/wiki/Mod%C3%A8le_OSI|modèle OSI]]). |
- différentes applications peuvent utiliser la même bibliothèque. | - différentes applications peuvent utiliser la même bibliothèque. |
| |
== Le projet == | === Le projet === |
| |
Il s'agit de développer une application utilisant une base de données. L'architecture retenue est de type client-serveur mais l'accès à la base de données se fera via un composant logiciel assurant l'interface entre l'application de bureau (le client) et le SGBD (le serveur). Ce composant pourra être développé ou consister en une bibliothèque disponible sur le marché (ici [[https://www.devart.com/linqconnect/|LINQconnect Express]] qui met en oeuvre [[http://igm.univ-mlv.fr/~dr/XPOSE2009/Linq/index.html#choix|Language INtegrated Query]]). L'intérêt d'un tel composant d'interface est de rendre le client indépendant du support de données. | Il s'agit de développer une application utilisant une base de données. L'architecture retenue est de type client-serveur mais l'accès à la base de données se fera via un composant logiciel assurant l'interface entre l'application de bureau (le client) et le SGBD (le serveur). Ce composant pourra être développé en sollicitant le SGBD par des requêtes SQL ou en utilisant une bibliothèque disponible sur le marché (ici [[https://www.devart.com/linqconnect/|LINQconnect Express]] qui met en oeuvre [[http://igm.univ-mlv.fr/~dr/XPOSE2009/Linq/index.html#choix|Language INtegrated Query]]). L'intérêt d'un tel composant d'interface est de rendre le client indépendant du support de données (voir le patron de conception procuration - //proxy//). |
| |
{{:departement_info:personnels:pb:R4.01:sujetTP.pdf|sujet}} | {{:departement_info:personnels:pb:R4.01:sujet2024-2025.pdf|sujet}}\\ |
| {{:departement_info:personnels:pb:R4.01:fenetres2024-2025.pdf|exemples de fenêtres}} |
| |
| == Travail à réaliser == |
| |
/!\ Attention : l'évaluation impose de réaliser le travail en respectant les attendus de chaque séance. | /!\ Attention : l'évaluation impose de réaliser le travail en respectant les attendus de chaque séance. |
| |
Séance 1 : | Séance 1 : |
Création de la base de données | Création de la base de données (1pt) |
Création de la solution et des projets | Création de la solution et des projets (1pt) |
Ajout de l’outil Linq | Ajout de l’outil LinQ (1pt) |
Création de la vue principale | Création de la vue principale (vue de consultation) (3pts) |
Création de la vue de configuration des paramètres de la base de données | Création de la vue de configuration des paramètres de la base de données (1pt) |
Connexion à la base de données (settings) | Connexion à la base de données (settings) (3pts) |
Séance 2 : | Séance 2 : |
Création de la vue d’authentification du gestionnaire | Affichage de la liste des sports (1pt) |
Test de l’authentification | La sélection d’un sport permet d’afficher les tournois associés à ce sport (2pts) |
Création de la vue de gestion d’un service ou fonction | La sélection d’un tournoi permet d’afficher la liste des noms des participants. (2pts) |
Ajout de services et fonctions à la base de données | Un menu recherche participant permet d’ouvrir une fenêtre pour afficher tous les participants avec l’ensemble des informations dans un DataGrid. On peut alors trier par ordre alphabétique des noms ou rechercher par tout ou partie du nom. (5pts) |
Création de la vue gestion de personnel | |
Ajout de personnel à la base de données | |
Séance 3 : | Séance 3 : |
Création de la vue liste de personnels | Création de la vue d’authentification du gestionnaire (1pt) |
Affichage dans un DataGrid des personnels enregistrés dans la base de données | Test de l’authentification (menus du gestionnaire activés) (1pt) |
Modification ou suppression d’un service ou fonction à l’aide d’un ContextMenu | Création de la vue de gestion d’un tournoi (1pt) |
| Création de la vue de gestion d’un sport (1pt) |
| Ajout d’un tournoi et d’un sport (2pts) |
| Création de la vue gestion des participants (1pt) |
| Ajout d’un participant (3pts) |
Séance 4 : | Séance 4 : |
Recherche d’un personnel par service | Vues complétées de gestion des tournois, sports ou participants afin de pouvoir modifier ou supprimer un tournoi, un sport ou un participant à l’aide d’un ContextMenu (2pts) |
Recherche d’un personnel par fonction | Création de la fenêtre de gestion des gestionnaires de l’application (1pt) |
Recherche d’un personnel par nom | Ajout d’un gestionnaire (2pts) |
| Modification ou suppression d’un gestionnaire à l’aide d’un ContextMenu (2pts) |
| |
| |
| == Compte-rendu == |
| |
| Le travail réalisé au cours des 4 séances fera l'objet d'un compte-rendu écrit unique comportant les points suivants : |
| |
| * présentation du TP, c'est-à-dire introduction résumant le projet |
| * nature de l'application (client lourd ou application de bureau cliente plutôt qu'application web) |
| * objet ou vocation |
| * catégories d'utilisateurs |
| * fonctionnalités |
| * présentation des outils utilisés |
| * description de la classe BdDTournois |
| * description des tests réalisés (manuels ou automatisés), des corrections éventuelles et résultats obtenus |
| * conclusion |
| * fonctionnalités non développées |
| * fonctionnalités complémentaires à développer |
| * intérêt d'un ORM (Object Relational Mapper) tel que LinQ |
| * et surtout, en adéquation avec le thème d'architecture logicielle, l'intérêt de l'architecture client-serveur (votre application et le SGBD) et d'une architecture en couches pour le client lourd : |
| * couche interface utilisateur avec architecture MVC (ou variante de MVC) |
| * couche mots-clés "métier" avec la bibliothèque proposant différents services (obtenir les tournois, les sports, les participants, ajouter un sport, un tournoi... obtenir les participants d'un tournoi...) |
| * couche technique avec la bibliothèque externe LinQ |
| |