Etude de Cas
Etude de Cas
Etude de Cas
• La classe virtuelle, qui domine nettement comme on l’a vu précédemment (82 % des
entreprises la plébiscite). La durée idéale d’une classe virtuelle se situerait autour d’une 3
heure ;
• Le fast Learning (sessions d’apprentissage de moins de 15 minutes), cité par 64 % des
répondants ;
• L’e-learning scénarisé, composé de séquences de 25 minutes environ, mentionné par
61 % des professionnels de la formation questionnés.
On le voit, les formats d’apprentissage courts sont très attractifs. Le défi pour les
formateurs est de proposer des contenus percutants et synthétiques.
Viennent ensuite :
Le futur de l’e-learning
1
https://skillscouter.com/online-learning-statistics/#Key_Online_Learning_Statistics
Partie 2 :
Cahier des charges et Conception
Pour optimiser l’utilité d’une plateforme LMS, il est important de bien choisir la manière
dont on la déploie. Deux types de personnes y ont principalement accès :
Une plateforme LMS propose souvent un service d’assistance technique aux équipes
de formation e-learning. La plupart des plateformes LMS étant évolutives, les
formateurs peuvent disposer de nouvelles fonctionnalités (réseau social interne,
messagerie électronique, etc.) afin d’offrir une meilleure expérience apprenant. Dans
le User Story du projet, les taches des formateurs seront présentées comme un travail
à faire.
Questions :
1. Dans le cadre du projet LMS présenté, rédiger en quelques lignes :
a. Un exemple de but d’une application
b. Un exemple de public visé
c. Un exemple des fonctionnalités qui peuvent exister dans le LMS au
niveau
i. Inscription et connexion
ii. Création de cours et formations
iii. Le suivi de la progression des apprenants.
iv. Gestion de contenu
Les enseignants doivent être en mesure de créer des cours et de définir les
modules, les activités et les évaluations pour chaque cours. Les
administrateurs doivent pouvoir gérer les utilisateurs, les cours et les
certificats.
Vous devrez identifier les entités du système, les relations entre les entités et
les fonctionnalités de chaque entité. Vous devrez également créer des
diagrammes de :
- Cas d'utilisation
- Classes
- Séquence.
- Etat- Transition
Scrum : Scrum est une méthode de gestion de projet agile qui se concentre sur la
livraison itérative de fonctionnalités et la collaboration entre les membres de
l'équipe. Les sprints sont des périodes de temps définies (habituellement de 2 à 4
semaines) pendant lesquelles l'équipe travaille à la livraison de fonctionnalités
spécifiques. Pour répondre aux besoins d'un projet informatique, l'équipe de
développement peut adapter la durée des sprints en fonction des besoins du projet,
utiliser des outils de suivi de sprint pour suivre la progression de chaque sprint et
organiser des réunions quotidiennes pour maintenir une communication fluide entre
les membres de l'équipe.
Questions :
1. Contexte
Lors de présentation ou lors d’un cours dispensé à un public, il est bien de faire un bilan
conclu des apprentissages. Pour cela, nous souhaitons créer une application
permettant le suivi des apprentissage grâce à la proposition de Quiz en ligne.
L’application sera accessible via le navigateur Web de façon à ne pas être
dépendante du support matériel : ordinateur, tablette, smartphone.
Pendant une séance de formation, un formateur peut proposer aux apprenants de
participer à un « match », c'est-à-dire répondre individuellement à un quiz en ligne.
Chaque match est identifié grâce à une chaine de caractère (code). L’application
permettra à toute personne de participer à un match après saisie du code et de
répondre à des questions avec choix multiples. La personne assurant la formation,
demande aux apprenants, alors qualifiés de « joueurs » de répondre à un ensemble
de questions et il peut prendre connaissance et donner les réponses attendues.
Les apprenants qui participent à un cours ou à une présentation peuvent répondre
aux questions posées par le formateur. L’apprenant ne se connecte pas à
l’application car il ne possède pas de compte. L’apprenant doit pouvoir également
utiliser l’application en dehors des créneaux du cours et répondre à un ensemble de
questions dans le temps qu’il souhaite.
Bien que le contexte soit l’enseignement, l’application de gestion de quiz en ligne
pourra bien sur être adaptée à d’autres usages (ex ; concours, quiz de personnalité,
auto-formation, quiz thématiques, entrainement au code de la route, …).
2. Objectifs de la solution
3. Acteurs et utilisateurs
a. Administrateurs
Pour pouvoir créer des quiz, il faut être identifié dans l’application. Cette inscription se
fait par des administrateurs qui attribuent les droits aux formateurs. Il y a au moins un
administrateur à l’installation de l’application dont on ne changera pas les données
de connexion (Login : responsable, mot de passe : resp_QUIZ)
b. Utilisateurs
Dans cette application, coté utilisateurs, nous avons deux types de personnes. Celles
qui assurent les présentations que nous appellerons « Formateurs »et celles qui
participent à une présentation et que nous appellerons « joueurs »
i. Formateurs
Les formateurs utilisent l’application en s’y connectant. Ils doivent donc avoir un
compte préalablement créé par un administrateur.
ii. Joueurs
Les joueurs n’ont pas à se connecter pour utiliser le logiciel mais ils doivent se choisir
un pseudo pour le temps du match. Ils doivent aussi connaitre le code du match
auquel ils veuillent participer.
4. Périmètre du système
Actuellement, les enseignants peuvent par exemple utilisent wooclap ou kahoot mais
ces deux systèmes ont des limites qui ne nous conviennent pas. Pour les deux logiciels,
les quiz sont déposés sur les plates-formes que l’enseignant ne maitrise pas. Si ces
services s’arrêtent du jour au lendemain, tout peut être perdu.
https://docs.wooclap.com
https://kahoot.com
5. Règles métier
6. Cas d’utilisation
Un quiz et un match ne peuvent être crées que par un formateur. Le système génère
un code pour chaque match crée à partir d’un quiz. C’est ce code qui sera par la
suite utilisé pour identifier le match, le modifier ou l’utiliser.
d. Modification d’un quiz et d’un match
Toute personne qui connait le code d’un match peut accéder aux questions du quiz
correspondant. Après avoir choisi un pseudo un pseudo pour le match, la personne
visualise sur son interface la (les) question (s) activées par le formateur avec les choix
possibles.
Une fois le quiz terminé, chaque apprenant obtient son score (taux de bonnes
réponses en %) qui est stocké dans la base et peut visualiser les réponses aux questions
(si le formateur l’a autorisé).
Puis, le formateur peut afficher le taux de réussite global des joueurs venant de
participer au match. Si un joueur a déjà participé un match, il ne peut pas rejouer ce
même match avec le même pseudo.
f. Suppression d’un match ou d’un quiz
7. Besoins fonctionnels
8. Interopérabilité et interfaces
Pour l’affichage des questions, les présentations seront homogènes. Dans la partie
haute nous retrouvons le texte de la question et dessous, les choix proposés. Dans les
choix faits, on fera attention à l’ergonomie de l’application
9. Exigences de qualité de produit
10. Contraintes
a. Contraintes techniques
a. Application finale
L’application sera déployée sur le serveur local de l’école le temps quelle soit testée
par des utilisateurs concernés. Les tests finaux (et les évaluations en contrôle continue)
se font obligatoirement sur cette machine serveur.
En plus des codes de l’application et la base de données, une notice d’utilisation sera
fournie. Celui-ci pourra être intégrer à l’application. 13
b. Dossier du projet
Les différents fichiers contenants le dossier de projet et les versions de l’application
sont à livrer à Mr KHALD selon le calendrier et les modalités données pendant les
séances de TPs.
La version finale du système doit s’appuyer sur un jeu de données réelles à préparer
individuellement par chaque Etudiant (au moins un administrateur, pseudo :
responsable, mot de passe resp22_Qui. Au moins 3 formateurs, au moins 5 questions,
au moins 5 matchs, …)
c. Calendrier
L’application Web fonctionnelle est à rendre à la fin de l’examen avec le code et la
base de données.
A noter : dans cet exercice de rédaction des User Stories Agile, on identifie les
différents types d’utilisateurs de l’application Web du « online quiz ». Chaque type
d’utilisateur est un type d’utilisateur au sens informatique du terme (c’est à dire un
utilisateur neutre) qui ne représente pas une personne physique homme ou femme.
En tant qu’administrateur...
#5 En tant qu'administrateur, je veux pouvoir saisir mes identifiants personnels afin
d’accéder à l’espace privé (back office) des administrateurs.
#6 En tant qu'administrateur, je veux pouvoir accéder à la page de mon profil afin
Questions :
1. Créer un projet Laravel
2. En se basant sur la conception réalisée, créer les migrations, les modèles, les
contrôleurs et les routes nécessaires.
3. Installer le plugin d’authentification.
4. Configurer les gates/policy nécessaires pour les accès.
Partie 4 :
Déploiement de l’application
15
Après être passé des serveurs physiques aux machines virtuelles, les développeurs et
administrateurs de services ont trouvé un nouvel allié dans le déploiement de «
conteneurs », où Docker est roi. Si le sujet parait parfois compliqué, il peut être simple
à expliquer.
20 ans plus tard, nous sommes à l'heure du « Cloud » et de ses instances qui
sont autant de VM que l'on peut créer et détruire en quelques secondes
seulement. Au point qu'un système et ses dépendances peuvent être vus
Une solution parfois perçue comme complexe, mais qui ne l'est en réalité pas
vraiment et peut changer en profondeur vos méthodes de travail. Pour vous
le faire comprendre, nous avons décidé de vous montrer ce à quoi pouvait
servir Docker par quelques exemples pratiques, simples à mettre en œuvre.
L'avantage, c'est que les images et ressources utilisées sont bien plus légères,
tout du moins en théorie (nous y reviendrons). Lors de nos essais avec LXC
nous avions évoqué le cas d'une distribution pensée pour une utilisation dans
des conteneurs, Alpine Linux, dont le Template n'utilisait que 2,5 Mo. 8,8 Mo
une fois le système déployé.
L'usage courant est ainsi le plus souvent de faire fonctionner des conteneurs
de différentes distributions Linux comme invités depuis un système hôte
également sous Linux. On peut ainsi y déployer une multitude de services
exposés ou non sur le réseau via différents ports sans avoir à changer quoi
que ce soit à l'OS principal.
D'autant que des systèmes d'orchestration peuvent être mis en œuvre pour
déployer différentes instances et les faire travailler ensemble, les reproduire 17
Des besoins qui sont au cœur du cahier des charges de services qui
comptent de nombreux clients. Cela permet aussi d'adapter le nombre de
serveurs et d'instances selon le besoin : tout peut être éteint ou presque
lorsque les utilisateurs ne sont pas là hors des heures de bureau par exemple,
ou au contraire on peut s'adapter automatiquement à des pics de charge
pour éviter de voir son site tomber lorsqu'il « passe à la TV ».
C'est d'ailleurs sur ces promesses que certains se sont spécialisés dans le
Platform-as-a-Service (PaaS), proposant aux entreprises de se focaliser sur le
développement de leurs applications et services avec une facilité de
déploiement, peu d'entretien (les serveurs/instances n'étant pas à gérer) et
une adaptation à toute situation.
Comme on peut le voir sur l'image ci-dessus, Docker permet de décrire des
images et de les construire (build) avec différents composants (système,
stockage, réseau, etc.), de les déployer sous la forme de conteneurs, de les
gérer et de les mettre à disposition via son registre Docker Hub. Mais comme
Questions
1. Créez un fichier Dockerfile à la racine de votre application Laravel. Le
Dockerfile est un fichier de configuration qui décrit comment votre
application doit être construite et exécutée dans un conteneur Docker.
Voici un exemple de Dockerfile pour une application Laravel.
2. Construisez l'image Docker en exécutant la commande suivante dans
le répertoire contenant le Dockerfile
3. Exécutez le conteneur Docker en utilisant la commande suivante
4. Vérifiez que votre application fonctionne en ouvrant un navigateur
Web et en accédant à l'URL http://localhost:80