Académique Documents
Professionnel Documents
Culture Documents
Remerciements
Je souhaite remercier toute l’équipe BBS « Brest Business School » qui m’a suivi et encadré
tout au long de mon stage. Toute cette attention portée vers moi a rendu mon stage
motivant. Je remercie particulièrement Mr. Laurent GORRY mon encadrant qui m’a
accompagné tout au long de cette expérience professionnelle et qui m’a toujours été de bon
conseil, et Je n'oublie pas, Mr. Erwan LANCHEC, le responsable des systèmes
d’informations du campus, de m’avoir pris comme stagiaire.
Je tiens également à remercier tous les enseignants de l’UBO qui m’ont toujours soutenu
et particulièrement responsable de la formation Mr. Guillou Goulven qui m’a aussi suivi,
soutenu sur différents points, J’aimerais également remercier le responsable des stages Mr.
Jean- Philippe Babau qui m’a soutenu durant ma recherche de stage.
Enfin, j’adresse aussi mes remerciements les plus chaleureux à mes amis qui ont toujours
été là pour moi au cours de cette année.
Migration de L’ERP de l’école BBS
1
Table des matières
I. GLOSSAIRE .............................................................................................................. 3
II. INTRODUCTION ........................................................................................................ 4
1. RESUME : ............................................................................................................. 4
2. ABSTRACT ............................................................................................................ 5
III. PRESENTATION BBS .................................................................................................... 6
A. STRUCTURE ENTERPRISE BBS « BREST BUSINESS SCHOOL » .................................................. 6
1. HISTOIRE.......................................................................................................... 6
2. SECTEUR D’ACTIVITE ............................................................................................ 6
B. CONTEXTE ENTREPRISE............................................................................................ 7
IV. LE STAGE ............................................................................................................. 8
1. DESCRIPTION SUJET DE STAGE ................................................................................. 8
2. PRISE DE CONNAISSANCE DE SUJET ............................................................................ 8
V. ENVIRONNEMENT DU TRAVAIL ....................................................................................... 10
A. ARCHITECTURE GENERALE ...................................................................................... 10
1. INFRASTRUCTURE INFORMATIQUE .......................................................................... 10
2. ARCHITECTURE APPLICATIVE ................................................................................ 10
VI. TRAVAIL REALISE .................................................................................................. 20
1. TACHE 1 : INTERFACE CONSULTATION DE MODULES (SYLLABUS) .................................... 21
2. TACHE 2 : INTERFACE DE RUBRIQUES QUESTIONNAIRES ................................................. 26
3. TACHE 3 : INTERFACE DE GESTION DE RUBRIQUES ....................................................... 31
4. TACHE 4 : INTERFACES DE SAISIE SYLLABUS................................................................ 35
VII. BILAN DU STAGE .................................................................................................. 59
1. DIFFICULTES RENCONTREES ................................................................................. 59
2. EXPERIENCES PROFESSIONNELLES ACQUISES ............................................................... 59
VIII. CONCLUSION ...................................................................................................... 60
IX. ANNEXES .............................................................................................................. 61
X. RESSOURCES DOCUMENTAIRES..................................................................................... 63
2
I. Glossaire
EF : Entity Framework
3
II. Introduction
1. Résumé :
Le travail présenté dans le rapport a été effectué dans le cadre d’un stage de fin
d’études chez BBS. L’objectif de stage est de migrer de L’ERP de l’école BBS sous
l’outil Visual Studio 2013, un environnement de développement intégré, facilite
les tâches de création, débogage et déploiement d’applications pour Windows,
par exemple le Web.
La première phase de mon stage a été consacrée à apprendre la programmation
en c#, ensuite l'étude et l’analyse de l'application et de ses concepts métiers, ainsi
que .NET Framework utilisé qui m’a permis de créer des applications pour une
plate-forme Microsoft donné.
La seconde phase a été consacrée pour l'aspect technique, d’où de migrer
quelques applications et perfectionner leurs fonctionnalités d’une part, et de
développer des nouvelles sur deux projets :
Etudiant(Etud) qui est dédié à un site intranet étudiant
Administrateur(Admin) qui est dédié à un site intranet pour les personnels.
L’objectif était d’assurer un bon résultat et répondre aux besoins. Tout au long de
ce rapport, je vais vous présenter en détail le déroulement de mon stage. Dans la
première partie, je vais introduire brièvement BBS et le contexte du projet. Suite
à cela, dans la seconde partie, nous verrons plus particulièrement les objectifs qui
m’ont été confiés. J’ai eu l’opportunité de travailler sur deux écrans de l’outil, le
premier écran dédié pour écrire le programme et l’autre pour afficher l’exécution
de l’application. Enfin, j’aborderai les perspectives et le bilan du travail réalisé
pour aboutir à une conclusion sur ces six mois de stage.
Migration de L’ERP de l’école BBS
4
2. Abstract
The second phase was devoted to the technical aspect, which migrate some
applications and improve their capabilities on the one hand, and to develop new
projects on two:
Student (Etud) which is dedicated to a student intranet
Administrator (Admin) which is dedicated to an intranet site for staff.
The objective was to ensure a good result and needs. Throughout this report, I
will present in detail the course of my internship. In the first part, I will briefly
introduce BBS and context of the project. Following this, in the second part, we
will see more particularly the objectives entrusted to me. I had the opportunity
to work on both screens of the tool, the first dedicated screen to write the
program and the other to show the execution of the application. Finally, I will
address the outlook and the balance sheet of the work to reach a conclusion on
these six-month internship.
Migration de L’ERP de l’école BBS
5
III. Présentation BBS
A. Structure Enterprise BBS « Brest Business School »
1. Histoire
Fondé en 1962, Brest Business School fut d’abord ESCAE Brest, puis ESC Bretagne
et ESC Bretagne Brest avant de fusionner avec quatre autres grandes écoles pour
former France Business School en 2012. BBS a su conserver le meilleur de chaque
étape de sa vie notamment, des valeurs instructives et une volonté d’innovation
pédagogique.
2. Secteur d’activité
BBS propose, aujourd’hui, une gamme de programmes innovants,
professionnalisant et internationaux à partir du BAC jusqu’à BAC + 5 pour
répondre aux défis majeurs de notre société. Leurs programmes intègrent les
cultures économiques, sociétales, technologiques, les dimensions de créativité,
d’innovation et d’entrepreneuriat.
En tant qu’établissement d’enseignement supérieur et de recherche en
management des organisations, forte d’un corps professoral de 30 professeurs
permanents, d’un centre de recherche et d’un incubateur, l’école met en place
une stratégie de recherche pour accompagner les entreprises dans leurs projets
de développement.
Programmes
supply chain)
6
Les chiffres clés
B. Contexte Entreprise
« Brest Business School » accueille des étudiants, mais aussi des stagiaires.
De ce fait, la décision de faire migrer ERP de BBS sous une nouvelle technologie
était majeure. Pour ce faire, le responsable du service informatique a décidé de
proposer cette offre au sein de département informatique UBO, afin de terminer
les fonctionnalités du site internet de l’ENT (Espace Numérique de Travail).
L’école de commerce ayant des partenaires internationaux, le site web doit être
fait de manière multi langue. La langue internationale étant l’anglais, elle est la
Migration de L’ERP de l’école BBS
7
IV. Le Stage
1. Description sujet de stage
BBS est une école de commerce dont la mission est de former des experts dans
le domaine du management et du commerce. Elle accueille 900 étudiants chaque
année. Le recrutement se fait de BAC à BAC+5. Elle propose également plusieurs
programmes en formation continue. Dans cette optique, il est d’une nécessité
capitale et majeure de mettre en place un site intranet pour son personnel et ses
étudiants, afin que ceux-là puissent bénéficier d’un espace personnel dédié pour
la gestion de leurs cursus scolaire.
L’entretien avec mon maître de stage était axé sur la prise en charge de la refonte
d’un portail intranet pour les étudiants et les personnels.
J’ai pu comprendre que je serai impliquée dans le développement web (orienté
objet) et base de données. Les projets à réaliser seront basés sur les technologies
suivantes : ASP.NET Web Forms pour la couche locale/web (front office) et C#
pour la couche métier (back office).
l’authentification.
8
Figure 2 : Vieux intranet de BBS (Authentification)
Migration de L’ERP de l’école BBS
9
V. Environnement du travail
A. Architecture générale
1. Infrastructure informatique
Par l’intermédiaire de son navigateur internet, l’utilisateur accédera aux
ressources dont il a besoin en se connectant avec son login et son mot de passe.
Ainsi, chaque action sur l’interface utilisateur déclenchera des traitements
complexes (accès à divers serveurs, accès aux Base de données). Ceux-ci seront
invisibles pour l’utilisateur. Il recevra uniquement la réponse au besoin formulé.
L’architecture globale est composée d’un serveur SQL, qui communique avec un
serveur IIS et enfin, d’un Active Directory. Les rôles de tous ces serveurs seront
détaillés ci-après.
Le serveur web
C’est un serveur applicatif Microsoft IIS Windows 8. A l’aide du langage ASP.NET,
il permet de construire dynamiquement des pages HTML qui seront transmises
aux postes clients. Il assure de nombreuses tâches même si la prise en charge du
protocole http reste son activité principale. Le protocole http repose sur un
mécanisme de questions et de réponses entre le navigateur de l’utilisateur et le
serveur. La réponse du serveur est composée d’un en-tête et d’un corps séparé
par une ligne vide. L’en-tête donne le code d’erreur (200 pas d’erreur), la taille
du corps est de 70 octets avec un format de sortie text/html.
Le serveur SQL
Le serveur SQL (version 2005) est utilisé pour stocker des données au niveau
local. Il permet entre autres de sauvegarder le contexte des pages ASPX. Ce
stockage se fait dans une base de données SQL Server.
Migration de L’ERP de l’école BBS
2. Architecture applicative
10
Visual studio est beaucoup plus un environnement de développement : des plug-
ins viennent s’ajouter afin d’ajouter de nouvelles fonctionnalités. On trouve par
exemple le Team Suite qui permet de travailler en collaboration sur un projet.
Framework .Net est une plateforme de développement et d’exécution créée par
Microsoft destinée au développement de tout type d’applications :
Applications Windows : application client/serveur (Win Form/WPF), service
windows
Applications mobiles
Applications Web (ASP.NET), services web (c’est le type d’application du
notre projet)
Le Framework est indépendant du langage utilisé pourvu que celui-ci réponde à
la CLS (Common Language Specification). La CLS décrit les règles à suivre pour que
le langage soit compatible avec le Framework .Net. La plateforme est
principalement constituée :
d’une bibliothèque de classe (Base Class Library) qui comprend un grand
nombre de fonctions communes telles que la lecture et l’écriture,
l’interface utilisateur, l’accès aux données, la connexion à une base de
données, etc. La bibliothèque est exploitable par tous les langages
compatibles
d’une définition commune des types de bases (CTS : Common Type System,
CLS : Common Language Specification)
d’une machine virtuelle (CLR : Common Language Runtime).
L’environnement de développement utilisé pour la réalisation du projet est
Microsoft Visual Studio 2013, Framework.Net 4.5
11
Figure 4 : Framework.NET 4.5
Langage C#
veut distribuer. Sous Windows, ça prend l’apparence d’un .exe. Lorsqu’on exécute
un programme CIL, il est lu par la machine virtuelle (CLR) qui compile en le code
en un vrai programme machine codé en binaire et exécutable par la machine. La
CLR vérifie également la sécurité du code. Le code C# est donc exécuté sous le
contrôle de la machine virtuelle. On parle de code managé.
J’ai travaillé sur une application C#. Ce langage a l’avantage de m’être familier, la
syntaxe ressemble au Java, mais va au-delà de son parent : le C# reprend les
12
atouts des autres langages plus anciens mais développe aussi des notions
nouvelles telles que le « binding », le tout associé à Visual Studio et fusionnant de
raccourcis afin d’accélérer le travail du développeur.
LINQ
C’est un ensemble de fonctionnalités introduites dans Visual studio qui étend les
fonctions de requêtes puissantes à la syntaxe des langages C# et Visual Basic. Il
exige que les données soient encapsulées dans des objets. Le retour de la requête
est renvoyé sous forme d’une collection d’objets en mémoire qui peut être
énumérée.
LINQ propose des modèles simples d’apprentissage proche de SQL pour
l’interrogation et la mise à jour des données de types sources et de format divers.
Presque tout au long de ce projet LINQ a été utilisé quand il s’agit de
communiquer avec la base de données. Voir par exemple annexe I pour la mise
en œuvre de LINQ.
DataSet
13
DataReader
DataReader est un outil avec lequel on peut extraire de données, ce qui implique
la création d’une instance de l’objet Command, puis la création d’un Reader en
appelant Command.ExecuteReader pour extraire des lignes d'une source de
données. Son utilisation est toujours en mode connecté contrairement au
DataSet.
SQL
C’est un langage standard qui permet de communiquer avec une base de
données. Avec des fonctions déjà faites, SQL donne aussi la possibilité d’effectuer
des traitements complexes sur des données.
Entity Framework
C’est un mappeur objet/relationnel qui permet aux développeurs .NET d'utiliser
des données relationnelles à l'aide d'objets spécifiques au domaine (ci-dessous
figure 5)
14
Consultation et insertion de données dans la base
LINQ exige que les données soient mappées dans le domaine correspondant si
elles ne sont pas stockées nativement en tant qu’objets.
Donc l’obligation de créer des classes s’imposent pour le mappage des données,
afin de les utiliser en fonction de nos besoins.
Le Mode Code First est le plus intéressant pour nous autres développeurs, car il
nous permet de simplement générer la base de données à partir de nos classes
POCO (des classes toutes simples composées Propriétés).
15
ASP .NET
Récupère
Vue
Voit
Migration de L’ERP de l’école BBS
Figure 6 : MVC
16
ajouté un nouvel espace de noms dans le Framework .Net. Il contient toutes les
classes et interfaces permettant de mettre en œuvre l’architecture : classes de
base pour les contrôleurs, classes pour les vues, classes désignant les actions
permettant de créer des liaisons de données entre la vue et le modèle.
17
Cependant, par défaut de ressources et contrainte de temps, mon maître de
stage, le développeur de BBS, a pris la décision de concevoir l’application avec
ASP .NET WebForms.
Pour simplifier les tâches à réaliser, ASP .NET WebForms ajoute une couche
d'abstraction permettant de masquer la complexité du travail ainsi que toutes les
spécificités de la programmation d'applications Web.
L’ASP.NET WebForms
18
Les contrôleurs de la boite à outils
A noter que ces contrôles possèdent tous un identifiant unique ID, et un attribut
runat= « server » qui indique au framework ASP .NET que le balise en question
comporte un fonctionnement serveur. Il peut y avoir aussi des événements par
attributs.
Par exemple : prenons le contrôleur Button, il possède un attribut OnClick qui
Migration de L’ERP de l’école BBS
appelle une méthode à chaque fois que le bouton est cliqué. Ainsi, le développeur
indique dans cette méthode les traitements à effectuer pour cet événement.
19
VI. Travail réalisé
Ce stage m’a permis de travailler sur différents métier au sein de l’école BBS. J’ai
commencé par une partie d’étude sur les différents logiciels à utiliser, Je ne
connaissais pas le développement sur asp.Net, C# et l’utilisation de SQL Server,
mes premiers jours de stage ont été dédiées à mon auto-formation dans ces
langages.
L’expert technique, Mr. Laurent GORRY, m’a fourni un document intéressant me
permettant d’assimiler les notions de base de l’Asp.Net. Le suivi des tutoriaux et
le développement de mini-projets m’ont permis de me familiariser avec les
langages. Aussi le travail sur le code m’a permet de comprendre la logique qui
avait été adoptée pour coder.
Maintenant que les technologies utilisées côté client et côté serveur pour le
développement des interfaces ont été présentées, je vais définir en détails
l’architecture MVC ci-après, qui est adopté tout au long du développement.
Application
Bien que l’objectif principal d’une application soit de répondre au besoin exprimé
par le client, dans notre cas le client est soit l’étudiant, Professeur ou
Administrateur, il est également nécessaire que l’application remplisse d’autres
critères tels que :
avoir une interface homme-machine (IHM) intuitive
avoir des temps de réponses satisfaisants
gérer la validité des saisies de l’utilisateur
gérer de façon claire les erreurs éventuelles
Migration de L’ERP de l’école BBS
20
1. Tache 1 : Interface consultation de modules
(Syllabus)
Description de la mission
Cette mission était de mettre en place toutes les interfaces nécessaires afin que,
l’application réponde au besoin des utilisateurs. L’objectif de mon premier projet
est de faire une prise en main de L’ASP.Net et de la base de données, puis passer
à l’étape de développement de l’interface qui permet aux étudiants de consulter
les modules selon le niveau, la session, l’année et le délai du leurs parcours. Dans
ce qui suit, je vais décrire étape par étape les différentes phases de mon travail
relatif à ce projet.
Etude de la tâche
Cette tâche n’existait pas dans l’ancienne version du site intranet, cette interface
est nouvelle, simple et répond aux besoins des étudiants. L’interface est conçue
avec deux éléments dont le rôle de chacun sera décrit ci-dessous :
Le DropDownList
Il permet dans cette interface d’afficher la liste des parcours effectués par
l’apprenant depuis son entrée à l’école de commerce.
Le GridView
Il a pour rôle, ici, d’afficher les modules et les codes de chaque module suivi par
l’apprenant par rapport à son parcours.
Migration de L’ERP de l’école BBS
21
Figure 7 : MCD de l’interface de consultation des modules par parcours
Nous observons que toutes les tables représentées sont utilisées. Il faut
maintenant mettre en œuvre ce modèle de conception de données pour la
récupération des données. C’est l’objectif de la partie qui suit.
Ensuite, il faut récupérer toutes les informations qui sont en relation avec les
modules de l’apprenant. Dans cette situation plusieurs tables entrent en jeu, c'est
pourquoi je ferai un résumé de la technique utilisée dans la partie exploitation
des résultats.
Migration de L’ERP de l’école BBS
22
Exploitation des résultats
La première requête LINQ permet de récupérer les informations qui sont liées au
parcours de l’apprenant et de les afficher sur DropdownList.
23
Figure 9 : Interface d’affichage de modules pour un parcours (suite)
24
Figure 11 : PDF Syllabus pour Module Anglais
Désormais tout apprenant qui se connecte sur le site peut consulter ses
modules sur tout son parcours scolaire au sein de BBS. Pour illustrer la mise en
Migration de L’ERP de l’école BBS
25
2. Tache 2 : Interface de rubriques questionnaires
Description de la mission
Cette mission était de développer une application qui permet aux étudiants de
consulter une ou plusieurs rubriques destinées à eux, et répondre aux questions
posées appropriée à la rubrique sélectionnée.
Le remplissage des réponses aux questions de ces rubriques est limité par une
date de fin, et si le remplissage n’a pas été fait avant cette date de limite.
L’étudiant est appelé donc impérativement à saisir les réponses avant une
dernière date limite qu’on appelle « date butoir »
Pour se faire, j’ai créé une rubrique que j’ai appelé « Rubrique pour tester » afin
d’étudier les différents types de réponses proposées par l’administrateur de BBS.
Etude de la tâche
Cette interface n’existait pas dans l’ancienne version du site intranet, cette
interface mise en place, est basée sur un système dynamique, c'est-à-dire les
questions sont dynamiques, changent de questions d’une rubrique à l’autre.
La mission serait alors de présenter une interface avec des questions simples liées
à des types différents de réponses aux besoins des étudiants. L’interface
complète et ergonomique, utilisable sur le profil « Etudiant », et elle est conçue
avec un dropdownlist et un repeater qui contient des éléments dont le rôle de
chacun est décrit ci-dessous :
Le DropDownList
Migration de L’ERP de l’école BBS
Il permet dans cette interface d’afficher la liste des rubriques qui n’ont pas été
validé par l’apprenant, cette liste de rubrique est décrit par le nom de la rubrique
concaténée par la date de début et la date de fin de validation.
26
Le repeater
C’est un contrôle de liste lié aux données qui permet une disposition
personnalisée en appliquant de façon répétée un modèle donné à chaque
élément affiché dans la liste, parmi les éléments on trouve :
TextBox et TextBox (mutiligne) : Il permet à la saisie d’une réponse.
DropDownList: il a pour rôle, de lister des réponses.
RadioButtonList : il permet de choisir une réponse.
CheckBoxList : il permet de choisir plusieurs réponses.
C’était mon premier travail pour la création des tables d’un MCD, qui consistait
de créer des tables utiles sur SQL Server, et appliquer les relations entre ces
tables, pour ensuite accéder aux données. Et les tables sont les suivantes :
Table Rub_Apprenant : sert à regrouper les apprenants orientés à la saisie de la
rubrique, contient du champ valide, une façon de savoir si la rubrique est validée
ou non.
Table Rub_rubrique : regroupe tous les noms des rubriques avec leurs dates de
début, date de fin et date de butoir.
Table Rub_question : contient toutes les questions des rubriques avec leurs types
de réponses proposées.
Table Rub_TypeReponse : désigne le type de réponse à la question, par exemple
champ textbox, liste déroulante, champ textbox multiligne, checkBox, ou radio
button.
Table Rub_reponse : contient toutes les réponses des rubriques.
Migration de L’ERP de l’école BBS
27
Figure 12 : MCD de l’interface de rubriques questionnaires
Sachant qu’il peut exister plusieurs rubriques, ce qui fait que nous aurons besoin
de la clé rubrique et des requêtes LINQ, pour accéder aux questions et pour
récupérer les réponses associées à chaque question en utilisant la clé de réponse
et la clé question.
Une fois terminé l’étape de récupération des données, il faut passer à leur
manipulation. Avant d’aller plus loin, j’ai proposé une présentation de l’interface
de test pour que les explications soient plus claires. Ci-dessous, la figure 13 et
figure 14 de l’interface rubrique de test. Migration de L’ERP de l’école BBS
28
Figure 14 : Affichage de la rubrique test questionnaires
29
Figure 15 : Profile d’un apprenant
30
3. Tache 3 : Interface de gestion de rubriques
Description de la mission
Cette interface n’existait pas dans l’ancienne version du site intranet, cette
application est nouvelle, elle passait d’une interface à une autre.
Pour ce faire, j’ai créé une interface qui donne une possibilité aux personnels de
BBS de voir toutes les rubriques de l’apprenant, et via un lien approprié à la
rubrique, on peut passer à une autre interface, ce dernier a le rôle de revoir toutes
les réponses des questionnaires sous une forme de tableau Gridview.
Mon maitre de stage m’avait recommandé de créer deux boutons, quand
l’utilisateur appuie sur « csv », un fichier automatiquement se télécharge en
format (.csv), ainsi que s’il appuie sur « csv simple » il recevait le fichier de même
format que le précédent, la différence se pose sur la façon d’afficher les réponses,
Dans le cas « csv » les réponses sont affichées en colonnes, par contre, dans le
cas « csv simple » les réponses sont affichées en lignes. L’interface est conçue
avec une table et des éléments dont le rôle de chacun est décrit ci-dessous :
Le textBox : son rôle est d’inviter l’utilisateur s’il souhaite, de saisir le nom
de rubrique afin de rechercher la rubrique souhaitée.
Migration de L’ERP de l’école BBS
31
rubrique, l’affichage des réponses pour les questions de la rubrique, ces questions
sont enseignées par l’administration de BBS. Ce travail est fait grâce à l’utilisation
de l’objet « DataTable » pour créer des colonnes et des lignes dynamiquement et
représente aussi une table de donnée en mémoire, en parallèle j’avais besoin
aussi de la requête LINQ.
Consulter l’annexe III pour avoir un aperçu d’une partie du code que j’ai mis en
place sur ce contrôle « GridView ». Les (figures 17, 18,19, 20, 21, 22) ci-dessous
montrent l’évolution de l’application.
32
Figure 19 : Affichage de la rubrique version3
33
Figure 21 : Affichage du fichier .csv
34
4. Tache 4 : Interfaces de saisie Syllabus
Description de la mission
Histoire de l’existant
L’application existait dans l’ancienne version du site intranet, était basée sur un
système de pagination, c’est-à-dire qu’après chaque validation, on passait d’une
interface à une autre. La mission était alors de se rejoindre dans une réunion afin
de changer le processus de syllabus, et se mettre d’accord sur différents points
sur la migration. Dans ce qui suit, je vais schématiser pour décrire l’ancien
processus de syllabus, de même pour le processus syllabus qui a été mis en place.
Rm : Responsable du module.
Dy : Doyen.
DE : Direction d’études
35
Ancien Processus Syllabus : (la figure 23)
RM saisit module en
chantier
Envoi mail
Resp.dépt auto au
Dy ne valide pas
ne valide resp.dépt
module.
pas module
Responsable du Envoi mail au RM
département évalue pour demander
module modification
Envoi mail au
Dy pour
Resp.dépt demande de
valide et envoi validation
mail auto au DP
Envoi mail
aux assistants
DE
accord du syllabus.
Basculement du module
en chantier en module
valide
36
Nouveau Processus Syllabus qui est mis en place : (la figure 24)
RM saisit module en
chantier
Envoi mail
Resp.dépt auto au
ne valide resp.dépt
pas module
Responsable du
département évalue
module
Resp.dépt
valide et envoi
mail auto au DP
Envoi mail
aux assistants
DE
37
Dans ce qui suit, je vais décrire étape par étape les différentes phases de mon
travail relatif à ce projet.
Description de la mission
Cette recherche est nécessaire pour chercher le module en chantier, qui veut dire
un module qui n’a pas été validé par le responsable de département, ni par le
doyen. Aussi pour apporter des modifications du syllabus.
Le tout premier travail consistait à mettre en place un MCD pour les tables, après
l’acquisition de cette information vient l’étape qui consiste à accéder aux données
et enfin, leur exploitation. J’ai suivi cette logique qui m’a permis d’avoir le MCD
ci-dessous (figure 25).
38
Toutes ces tables représentées sont utilisées. Il faut maintenant mettre en œuvre
ce modèle de conception de données pour la récupération des données. C’est
l’objectif de la partie qui suit.
Dans cette situation, toutes les tables du MCD entrent en jeu, notamment la clé
année dans la table « Annee » est utilisée pour récupérer tous les modules de
l’année souhaitée.
La première requête LINQ permet de récupérer les informations qui ont été
demandées d’être affichées dans le tableau GridView.
Les autres requêtes apportent plus sur l’aspect de facilité ce qu’on appelle
« Le filtrage », pour faciliter à l’utilisateur les saisies de quelques informations qui
sont disponibles dans la base de données : comme rechercher le nom du module
qui est conçue par un lien, l’intervenant et le code. Mais ce n’est tout, il m’a fallu
d’utiliser LINQ aussi pour sélectionner le département et la discipline pour
Migration de L’ERP de l’école BBS
39
Figure 26 : l’interface recherche module version1
40
Cependant, mon maître de stage voulait une autre option « Sorting », plus
adéquate, qui peut trier les colonnes du tableau avec un tri ascendant (flèche en
bas) ou descendant (flèche en haut), seulement en double clic sur l’entête de la
colonne. Ceci est déjà mis en place dans le code. Ci-dessous la figure 28, montre
le « Sorting ».
Migration de L’ERP de l’école BBS
41
Interface Informations Syllabus
Comme expliqué précédemment, notre mission était d’utiliser le nom de
mudule comme un lien pour accéder à l’interface formulaires.
L’objectif de cette interface est de placer plusieurs rubriques de formulaires
dans la même page web. Pour commencer, je vais décrire chaque rubrique
étape par étape, avec son MCD qui est mis en place.
Un MCD mis en place pour les tables : module, discipline, et je devais créer deux
tables supplémentaires : ModuleProgSyllabus et ProgrammeSyllabus.
Après l’acquisition de cette information vient l’étape qui consiste à accéder aux
données et enfin, leur exploitation.
Pour éviter des bugs dus aux migrations, mon maitre m’a demandé d’ajouter
des valeurs dans la table module : Cletypemodule =1 et Cleuniversite =1
J’ai suivi cette logique qui m’a permis d’avoir le MCD ci-dessous (figure 29).
Migration de L’ERP de l’école BBS
42
Figure 29 : MCD pour Informations générales
43
Une fois cliquer sur le lien « Edit » le tableau de figure 28 s’invite à remplir les
champs Learning goal et Learning goal en anglais, par suite faire de Update afin
de finaliser l’opération ou cancel en cas d’annulation. Comme le montre la figure
31.
44
Etape3 : Intervenants pressentis
Description
45
Récupération des données
Après l’ajout ou la suppression d’un professeur ou plusieurs professeurs, la table
« ModuleProfesseur » sert à stocker la mise à jour des intervenants pressentis.
Toutefois lors de l’ajout, il faut vérifier s’il le nom n’existe pas dans la base de
donnée. Sachant que chaque intervenant a sa propre clé dans la table
« ModuleProfesseur ». Ce qui fait que j’avais besoin à des requêtes LINQ, pour
ajouter, supprimer, et enfin faire d’Update.
46
Figure 34 : Etape Intervenants pressentis version2
Migration de L’ERP de l’école BBS
47
Etape4 : Résumé cours
Description
48
Etape5 : Evaluation
Description
Cette mission de cette rubrique « Evaluation» est basée sur l’évaluation d’un
examen, si l’examen est écrit ou oral, elle a rôle de désigner le type détaillé de
l’examen (Evaluation individuelle ou contrôle continu).
Etude de l’existant
Cette rubrique est partiellement changée par rapport à l’ancienne version. Un lien
link mis en place pour « Edit » au lieu d’un bouton link, de même pour « Delete »,
tous les champs sont obligatoires sauf « description ».
La mission serait alors de présenter une nouvelle interface avec ces petits
changements, simple à utiliser, ergonome, plus conviviale que celle proposée.
Méthode suivie et résultats obtenus
49
Récupération des données
Une fois terminé l’étape de récupération des données, il faut passer à leur
manipulation et l’exploitation.
Le fonctionnement de l’interface est très simple, l’utilisateur se connecte, choisit
la rubrique « Evaluation », un tableau d’évaluation Gridview représenté est mis
en place notamment pour des modifications ou suppression respectivement sur
les liens boutons « Edit » et « Delete ». L’utilisateur peut à tout moment changer
le type d’évaluation, le type détaillé et son poids. Ensuite, Le lien bouton « Insert »
sert pour ajouter une nouvelle évaluation. L’interface se présentera comme
l’illustre les figures 37 et 38
Migration de L’ERP de l’école BBS
50
Figure 38 : Etape d’évaluation version2
Migration de L’ERP de l’école BBS
51
Etape6 : Séances
Description
Cette mission de cette rubrique « Séances» est basée sur création des séances
par type de public : Régulier Fr, Régulier Anglais, Alternant Fr, Alternant Anglais,
Formation continue.
Etude de l’existant
Cette rubrique est partiellement changée par rapport à l’ancienne version.la
figure 39 ci-dessous montre étape séance dans l’ancienne version.
52
Les modifications demandées sur Ajout/modification d’une séance suite à la
dernière réunion sont :
Remplacer le label ‘thème’ par titre de la séance en Français et en
Anglais
Format : garder que : Cours magistral, travaux dirigés, groupe de
discussion, séance à distance et examen, il ne faut pas supprimer les
autres, juste désactiver de façon à ce qu’on ne les voit pas apparaître
dans la liste
Durée : Temps de cours hors pause (à préciser dans le label) et au
format décimal (1h30 équivaut à 1,5), ce principe existe déjà
Contenu en Français et en Anglais : à conserver, prévoir un tooltip pour
montrer avec un exemple ce que signifie le contenu.
Travail préparatoire demandé et non travail pédagogique demandé en
Anglais et en Français, prévoir un petit tooltip aussi
Besoins matériels : ajouter dans la liste « espace co working »
Objectifs pédagogiques : à retirer car ce champ existe déjà à la 1ère
étape (learning objectives)
La mission serait alors de présenter une nouvelle interface avec ces changements,
simple à utiliser, ergonome, plus conviviale que celle proposée.
Méthode suivie et résultats obtenus
53
Figure 40 : MCD Etape séance
Une fois terminé l’étape de récupération des données, il faut passer à leur
manipulation et l’exploitation.
Le fonctionnement de l’interface est très simple, l’utilisateur se connecte, choisit
la rubrique « Séance ».A ce moment, le système l’invite à sélectionner le type de
formation souhaité concaténé par le nombre de formations de ce type de
54
formations (comme l’illustre figure 38), l’objectif était basé de prévoir le résultat
à l’utilisateur. Ensuite, il choisit de cliquer sur nouvelle séance s’il le souhaite, et
voit apparaitre une interface « Ajout séance » pour remplir les champs et par suite
enregistrer la séance. L’interface se présentera comme l’illustre la figure 41 et la
figure 42.
55
Figure 42 : Interface ajout séance
56
Etape7 : Bibliographie
Description
57
Figure 43 : Interface bibliographie
58
VII. Bilan du stage
1. Difficultés rencontrées
59
VIII. Conclusion
Ces six mois de stage ont été très enrichissants. En effet, j’ai eu l’opportunité de
gérer entièrement mon projet, en m’appropriant des méthodes et des
technologies que je découvrais. Ils m'ont permis de consolider mes connaissances
théoriques en les mettant en pratique.
J’ai eu, en outre, la chance de pouvoir mettre mes compétences de futur
ingénieur à l’épreuve, notamment grâce aux libertés de choix et d’actions qui
m’ont été laissées dans mon travail, mais aussi grâce à un excellent encadrement.
En somme, malgré les difficultés rencontrées en début de stage, je suis parvenu
à monter les solutions sur les technologies ASP .NET, LINQ, C#
60
IX. Annexes
61
Annexe III :
62
X. Ressources documentaires
Documentation technique
Forums et blogs
http://stackoverflow.com
http://www.codeproject.com
Migration de L’ERP de l’école BBS
63