Vous êtes sur la page 1sur 18

Partie 1 :

Analyse du marché et les besoins

Marché de l’e-learning : rétrospective

Le succès de la formation à distance ne se dément pas. Les chiffres du marché de l’e-


learning confirment la montée en puissance de la formation en ligne. Les entreprises
ont bien compris qu’elles pouvaient en tirer d’incomparables bénéfices.

Un rapport de recherche d’IBM a d’ailleurs montré qu’un dollar investi dans la


formation online génère une hausse de revenus de 30 dollars. La raison ? La durée
d’apprentissage est moins longue et les employés mettent en application leurs
nouvelles compétences immédiatement. Le marché de l’e-learning est donc
largement investi par les organisations, qui y voient un levier important pour
augmenter leur productivité et leur compétitivité.

Les chiffres clés du marché de l’e-learning

Les États-Unis et l’Europe regroupent 70 % du marché mondial de l’e-learning. Un


marché dont la taille devrait tripler sur la période 2020 - 2025 et qui a déjà enregistré
une hausse de 900 % depuis 2000, poussée en particulier par une forte demande des
entreprises. Plus finement, le mobile Learning, le micro-Learning et la gamification
constituent trois des composantes de l’e-learning les plus dynamiques.

Pour 72 % des multinationales, l’e-learning apporte ou pourrait apporter un avantage


compétitif dans leur secteur d’activité. Au total, ce sont 80 % des employeurs qui
proposent déjà un apprentissage en e-learning via une plateforme de formation en
ligne. Enfin, 93 % des entreprises disposant (actuellement ou prochainement) d’un LMS
comptent l’utiliser pour développer l’apprentissage en ligne synchrone.

Au Maroc, les établissements ont commencé a utilisé le nouveau modèle d'éducation


hybride avec des avantages significatifs. Une discipline naissante au Maroc,
l’enseignement connaît aujourd’hui une transformation marquante due à la crise
sanitaire, de sorte que le e-learning devient un élément dans le processus
d’apprentissage des universités et des centres de formation professionnelle et les

M. KHALD Etude de cas


établissement publiques et privés. En effet, depuis le début de l'opération
d'enseignement à distance dans le Royaume, 3.000 ressources numérisées ont été
produites, et le nombre d'utilisateurs de la plateforme «TelmideTICE» par exemple s'est
chiffré à 600.000 utilisateurs par jour.

Les enjeux de l’e-learning

L’analyse du marché de l’e-learning montre que ce dispositif d’apprentissage est 2


largement adopté par les organisations. La formation à distance, s'appuyant sur des
technologies en constante évolution, ouvre en effet des perspectives séduisantes
pour les entreprises.

Voici les principaux enjeux de l’e-learning :

• Faciliter la compréhension de notions complexes ou très théoriques. La gamification et


l’utilisation de la réalité virtuelle constituent d’excellents moyens pour transformer un
contenu abstrait en expérience concrète, ce qui simplifie son appropriation par
l’apprenant ;
• Profiter de la variété des formats disponibles pour conserver l’attention des
collaborateurs. L’un des principaux écueils d’une formation : provoquer un sentiment
d’ennui chez les apprenants, qui vont alors décrocher. L’e-learning s’appuie sur une
diversité de supports qu’il convient d’assembler au mieux dans les dispositifs de
formation : podcasts, classes virtuelles, tutoriels vidéos…
• Favoriser la collaboration entre apprenants mais aussi entre apprenants et formateurs.
Partager des ressources, réaliser des travaux de groupes, échanger des expertises :
grâce aux outils collaboratifs en ligne, l’e-learning apporte une dimension
communautaire à l’apprentissage ;
• Proposer du sur-mesure. L’e-learning rompt avec un certain “formatage” des sessions
de formation classiques. Le collaborateur s’organise pour insérer son temps
d’apprentissage au moment qui lui convient et avance à son rythme.

L’e-learning au service de la formation professionnelle

L’e-learning ne peut que renforcer l’efficacité de la formation professionnelle. Et c’est


bien cet argument qui est avancé en tout premier par les entreprises interrogées par
l’ISTF concernant l’intérêt de la formation en ligne. Les organisations soulignent
également la pertinence du distanciel afin de gagner en réactivité face aux enjeux
business, autrement dit afin de s’adapter plus vite aux attentes du marché. La
troisième raison d’adopter l’apprentissage en ligne (citée par 21 % des professionnels
de la formation sondés) est de répondre à une demande des clients, internes ou
externes.

Efficacité, rapidité et facilité d’apprentissage, réponse à une demande forte : le


marché de l’e-learning s’appuie donc sur ces trois piliers pour poursuivre son
expansion. Le gain de temps procuré par la formation digitale revient dans de
nombreuses études.

M. KHALD Etude de cas


Les différentes modalités de l’e-learning

Le marché de l’e-learning peut être analysé via les différentes modalités


pédagogiques disponibles. Les types d’e-learning les plus porteurs, car considérés
comme les plus efficaces, sont les suivants :

• 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.

Autre donnée intéressante : la présence d’un tuteur constitue le premier facteur de


motivation pour terminer une formation à distance. En d’autres termes, le tutorat
permet d’améliorer le taux de complétion. Le constat est clair : 70 % des dispositifs de
formation tutorés enregistrent un taux de complétion supérieur à 60 %. À l’opposé,
60 % des dispositifs ne bénéficiant pas de tutorat ont un taux de complétion inférieur
à 10 %.

Le marché de l’e-learning à l’international

La croissance du marché de l’e-learning à l’international est exponentielle, avec un


taux de 7,6 % par an pour une part de marché évaluée à 190 milliards de dollars. Si le
marché est déjà bien installé aux États-Unis et, dans une moindre mesure, en Europe,
il est en train d’exploser en Asie-Pacifique, avec une progression de la formation à
distance de plus de 17 % par an. La Chine et l’Inde notamment dynamisent le marché
de l’e-learning dans cette région. L’Asie est suivie de très près par l’Europe de l’Est, qui
enregistre une croissance de 16,9 %.

Les freins au développement de l’e-learning

Les promesses de l’e-learning sont grandes, tout comme sa progression… Cependant,


plusieurs freins existent. Selon les données de l’ISTF, les entreprises sont ainsi
confrontées :

• au manque de temps ou d’effectifs pour développer des dispositifs en distanciel (cité


par 32 % des répondants) ;
• au manque de compétences et d’expérience en matière d’apprentissage via le digital
(cité par 25 % des répondants).

Les problématiques RH semblent donc constituer le principal blocage.

Viennent ensuite :

• Le manque de budget, qui concerne 15 % des entreprises interrogées ;


• L’absence d’outils pédagogiques suffisamment performants ;

M. KHALD Etude de cas


• la frilosité de la hiérarchie.

Le marché de l’e-learning en 2022 se voit donc confronté à des cultures d’entreprise


pas toujours en phase avec les exigences et les transformations qu’implique la
formation en distanciel.

Quel est l’impact environnemental de l’e-learning ?


4
L’e-learning apparaît comme un mode d’apprentissage plus respectueux de la
planète que les dispositifs en présentiel, en partie grâce à l’absence de déplacements
dans les lieux de formation. Ainsi, les émissions de CO2 seraient réduites de 86 % et la
consommation d’énergie de 90 %1. Il n’en reste pas moins que la pollution numérique
existe bel et bien, engendrée par le fonctionnement d’internet et la fabrication des
équipements informatiques.

Les tendances du marché de l’e-learning en 2023

Si le marché de l’e-learning 2022 érige la classe virtuelle en moteur de la formation à


distance, les tendances de l’e-learning pour 2023 sont plus diversifiées. On devrait ainsi
voir une montée en puissance :

• du mobile learning, associé au micro-learning (sessions de quelques minutes suivies


sur smartphone et faisant appel aussi bien aux supports vidéos, audios que textuels) ;
• social learning, un apprentissage entre pairs qui valorise le partage d’expertises
“cachées” et apporte un complément aux enseignements dispensés en présentiel et
en distanciel ;
• de la gamification, qui intègre le ludique ainsi qu’un esprit de compétition sain dans
l'univers de la formation ;
• des COOCs (Corporate Online Open Course), des cours massifs, sur le modèle des
MOOCs, mais restreints au cadre de l’entreprise. Un COOC s’adresse donc au
personnel, aux partenaires et/ou aux clients de l’organisation ;
• du LMS, plateforme de formation hybride, permettant aux services RH de gérer les
dispositifs de formation et aux salariés d’avoir accès à leurs contenus.

De manière plus générale, le recours au big data et à l’intelligence artificielle


permettra d’aller vers toujours plus de personnalisation et d’efficacité en matière de
formation à distance. De là naît un enjeu majeur : la protection des données. Dans ce
cadre, la technologie Blockchain jouera certainement un rôle important car elle peut
contribuer à protéger l'identification numérique d'une personne ou d'une entreprise.

Le futur de l’e-learning

L'utilisation de la réalité virtuelle et de la réalité augmentée est amenée à s’étendre.


Procurer des expériences immersives aux apprenants sera source d’un engagement
encore meilleur et viendra parfaitement compléter les autres modalités
pédagogiques de l’e-learning, précédemment décrites.

1
https://skillscouter.com/online-learning-statistics/#Key_Online_Learning_Statistics

M. KHALD Etude de cas


Le mobile Learning de son côté devrait continuer à croître rapidement. Ce marché
pourrait peser 80 milliards de dollars en 2027, selon GlobeNewswire.

En un mot, le marché de l’e-learning possède encore une énorme marge de


progression. L’accès à la formation à tout moment, des contenus spécialement
pensés pour des sessions courtes, de l’immersion, un lien humain conservé grâce au
tutorat et au social Learning : cette combinaison qu’offre le e-learning continuera à 5
être plus en plus utilisée.

Partie 2 :
Cahier des charges et Conception

Le Learning management system ou LMS est un logiciel permettant de gérer une


plateforme d’apprentissage en ligne, il remplit donc deux grandes fonctions,
l’apprentissage (Learning) et la gestion (management).

Par extension on désigne sous le terme de LMS, le système constitué :

- Des apprenants appartenant à une communauté virtuelle


- D’une plateforme d’apprentissage en ligne qui héberge d’une part le contenu
élaboré selon une stratégie de formation, et d’autre part les outils d’évaluation
;
- Des formateurs et/ou tuteurs qui animent cette formation.

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 :

1. L’équipe pédagogique (incluant les formateurs, responsable formation,


Learning Community manager, etc.) qui va animer la communauté et
partager les contenus.
2. Les apprenants qui vont interagir avec l’équipe pédagogique et les autres
stagiaires (si le LMS intègre des fonctionnalités de réseau social interne) et
télécharger des contenus.

M. KHALD Etude de cas


Nous avons dressé une liste (non exhaustive) des principaux avantages du LMS pour
un formateur ou plus globalement pour une équipe pédagogique :

Pour le formateur / administrateur

La plateforme d’apprentissage stocke et gère les données en toute sécurité.

Le formateur est plus à même d’adapter le contenu de sa formation aux formateurs. 6


En effet, grâce à certains indicateurs fournis par les LMS (par exemple : taux de
téléchargement des documents), il peut choisir de partager une ressource en
particulier en la modifier en fonction des attentes des apprenants. Les progrès de
l’apprenant sont régulièrement contrôles grâce à un reporting que le formateur peut
personnaliser en fonction de ses objectifs.

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.

Pour les apprenants :

La FAD (formation à distance) est personnalisée en fonction de chaque apprenant et


son interface est facile d’utilisation. La plateforme en ligne est facilement accessible,
sans limites géographiques ou temporelles. Une simple connexion internet suffit pour
s’y connecter. La plateforme apprentissage en ligne est « responsive design », c’est-à-
dire qu’elle s’adapte automatiquement à l’outil utilisé (tablette, portable,
ordinateur…) optimisant la lecture des contenus textes ou vidéos. Cela permet à
l’apprenant de se former partout où il se trouve. Les apprenants peuvent retrouver
toutes les informations et contenus dont ils ont besoin sur un seul et même plateforme.
Les stagiaires peuvent facilement échanger avec l’équipe pédagogique. Ces
derniers n’ont donc pas besoin d’accéder à leur messagerie électronique (chat app)

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

NB : chaque réponse doit dépendre d’un seul projet LMS.

M. KHALD Etude de cas


L'objectif est de modéliser le processus de gestion d'apprentissage en ligne
pour une plateforme éducative. Cette plateforme permet aux utilisateurs de
s'inscrire à des formations, de suivre des formations en ligne, d'interagir avec
les enseignants et les autres étudiants, de soumettre des travaux, passer des
tests et d'obtenir des certificats de réussite.

Le système doit prendre en compte les entités suivantes :


7
• Les utilisateurs : les étudiants, les enseignants, les administrateurs ;
• Les cours : les cours offerts par la plateforme ;
• Les modules : les cours sont divisés en modules, chacun avec ses
propres activités et évaluations ;
• Les travaux : les tâches et les devoirs assignés aux étudiants pour
chaque module ;
• Les certificats : les certificats de réussite délivrés aux étudiants après
avoir réussi un cours.

Le système doit permettre aux utilisateurs de s'inscrire et de se connecter à la


plateforme, de consulter les cours disponibles, de s'inscrire à un cours, de
suivre les modules et de soumettre des travaux et passer des tests.

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.

Votre tâche consiste à modéliser ce processus en utilisant le langage de


modélisation UML.

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

M. KHALD Etude de cas


Partie 3 :
Gestion du projeti
Les méthodes agiles sont des approches de développement de logiciels qui se
concentrent sur la collaboration, l'itération et la livraison rapide de logiciels de
qualité. Les méthodes agiles les plus courantes sont Scrum, Kanban. Voici comment
chaque méthode peut être adaptée pour répondre aux besoins spécifiques d'un 8
projet informatique agile (Voir le cours sur teams) :

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 :

Dans le cadre du projet :

1. Expliquer dans quelques lignes comment pouvons-nous mesurer la


réussite du sprint et comment pouvons-nous améliorer le processus
pour le sprint suivant ?
2. Comment pouvez-vous gérer votre projet avec une approche
DevOps.
3. Utiliser un outil de scrum pour visualiser les sprints.

M. KHALD Etude de cas


Partie 4 :
Application Web : Quiz en ligne

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

a. Pour les formateurs


Ce logiciel permet à un formateur de voir quelles sont les notions acquises ou non
pendant sa présentation. Pour chaque question les taux de bonnes réponses sont
donnés après la phase de réponse de l’ensemble des joueurs. L’objectif est
simplement d’évaluer les acquis au cours d’une présentation

M. KHALD Etude de cas


b. Pour les joueurs
Le logiciel permet aux joueurs d’accéder au match. Si le match est ouvert par le
formateur. Il a proposé au joueur ayant saisi le code du match de répondre aux
questions du quiz associé au match.
Tout joueur connaissant le code du match peut aussi passer la série de questions en
autonomie.
3 niveaux de développement : Toute la série de questions en une fois/ les questions
les unes après les autres/ une question à la fois avec temps de réponse limité. 10

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

Les joueurs accèdent à l’application sans se connecter et ne doivent pas pouvoir


participer à plusieurs quiz en même temps.
Un formateur peut créer plusieurs quiz quand il est authentifié.
A chaque quiz sont associées des séries de questions qui ont une chronologie définit
par le formateur. Un même quiz peut être (re) joué lors de différentes séances de
formation et avec différents ensembles de participants
Chaque quiz a un intitulé et une image d’illustration.
Chaque match a un intitulé et un code différent de ceux des autres matchs.

M. KHALD Etude de cas


Un code (a au moins 8 caractères) est généré par l’application lorsque le formateur
crée un nouveau match d’un quiz. Les joueurs utilisent ce code pour accéder au
match et répondre aux questions du quiz. La participation au match n’est plus possible
si le formateur désactive le match.

6. Cas d’utilisation

a. Création, modification, désactivation ou suppression d’un compte 11


formateur.
Suite à une demande, l’un des administrateurs peut créer un compte par formateur.
Un administrateur peut aussi modifier les données du compte d’un formateur ainsi que
l’activer ou le désactiver. Dans le cas de la suppression d’un compte, on veillera à
supprimer toutes les actualités publiées par ce compte mais on ne supprimera pas les
quiz associés.
b. Connexion d’un formateur

Un formateur peut se connecter s’il possède un identifiant et un mot de passe.


c. Création d’un quiz et de match

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

Le formateur peut appliquer des modifications à son quiz en supprimant, ajoutant,


activant/désactivant des questions. Si un formateur modifie un quiz, les matchs
correspondantes déjà joués doivent être supprimés, si non le formateur peut copier
un quiz existant pour en créer un nouveau et le modifier.
Le formateur peut décider de remettre à zéro un match (RAZ), c'est-à-dire de réaliser
une suppression des participants au match (les pseudos ne seront pas obligatoirement
supprimés)
e. Réponse aux questions d’un quiz lors 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

Le formateur peut faire le choix de supprimer complétement un quiz. Dans ce cas, il


faudra supprimer toutes les questions et les choix qui lui sont rattachés.

g. Ajout d’une actualité

M. KHALD Etude de cas


Les formateurs et les administrateurs de l’application peuvent ajouter, modifier,
supprimer une actualité en rapport avec les différents quiz, les matchs et le
fonctionnement de la plateforme.

7. Besoins fonctionnels

Les questions à choix multiples crées auront :


- Une seule bonne réponse 12
- Et 4 propositions de réponse de réponse maximum
La question à un nombre de caractères limité de façon à ce qu’elle soit lisible quelle
que soit la taille de support d’affichage.
2 niveaux de développement : saisie du numéro de la réponse dans un champ de
saisi pour toutes les questions, dans un premier temps/Ajout de boutons radio, dans un
second temps.

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

Tout au long du développement en mode agile, une version testée et fonctionnelles


de l’application devra pouvoir être présentée comme le prévoient les méthodologies
agiles. Au cours de la phase de développement, les différentes parties du logiciel
seront testées.

10. Contraintes

a. Contraintes techniques

A propos du Projet Détails du projet


Nom du projet Plateforme E-Learning
Nom et Prénom du développeur ……………………………………
Framework utilisé Laravel
Langages utilisés HTML, CSS, JS, PHP
SGBDR MYSQL

Le développement se fera en HTML, CSS, Javascript, en utilisant le Framework Laravel


s’appuyant sur l’architecture MVC, Coté présentations des composantes, un
Template Bootstrap sera choisi. Les données seront stockées dans une base de
données SQL.
Les joueurs ne possèdent pas de compte pour se connecter à l’application web mais
ils se choisissent un pseudo pour chacune de leur participation à un match.
La base de données permettra de stocker les identifiants et mots de passe des
formateurs. Ces mots de passe seront « hachés » de façon à les sécuriser.

M. KHALD Etude de cas


11. Présentation et fournitures attendues

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.

User Stories AGILE

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.

Rappel du Template d’une User Story :


« En tant que <utilisateur> je veux pouvoir <faire une action> afin d'<obtenir une
valeur ajoutée>. »

En tant que visiteur / internaute...


#1 En tant que visiteur/internaute, je veux pouvoir afficher la page d'accueil de
l'application afin de connaître toutes les actualités, accéder au champ de saisie du
code d'un match et au bouton de connexion.

En tant que joueur...


#2 En tant que joueur, je veux pouvoir saisir un code de 8 caractères et un pseudo
afin de participer à un match.
#3 En tant que joueur, je veux pouvoir répondre aux questions du match afin
d’obtenir mon score final (mon pourcentage (%) de bonnes réponses).
#4 En tant que joueur, je veux pouvoir (si le formateur l’a autorisé) visualiser le corrigé
afin de vérifier mes propres réponses.

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

M. KHALD Etude de cas


de visualiser et modifier mes données personnelles.
#7 En tant qu'administrateur, je veux pouvoir cliquer sur le bouton « déconnexion »
afin de me déconnecter de l’espace privé des administrateurs.
#8 En tant qu’administrateur, je veux pouvoir accéder à la page de gestion des
actualités afin de réaliser une gestion C.R.U.D des actualités
#9 En tant qu'administrateur, je veux pouvoir accéder à la rubrique de gestion des
comptes afin de faire une gestion C.R.U.D des comptes administrateurs et
formateurs. 14
#10 En tant qu'administrateur je veux pouvoir accéder à la page de gestion des quiz
afin de les désactiver / supprimer (modération).

En tant que formateur...


#11 En tant que formateur, je veux pouvoir saisir mes identifiants personnels afin
d’accéder à l’espace privé (back office) des formateurs.
#12 En tant que formateur, je veux pouvoir accéder à la page de mon profil afin de
visualiser et modifier mes données personnelles.
#13 En tant que formateur, je veux pouvoir cliquer sur le bouton « déconnexion » afin
de me déconnecter de l’espace privé des formateurs.
#14 En tant que formateur, je veux pouvoir accéder à la page de gestion des
actualités afin de réaliser une gestion C.R.U.D des actualités (UD pour les miennes
uniquement).
#15 En tant que formateur, je peux pouvoir avoir accès à la page de gestion des
quiz afin d’effectuer une gestion C.R.U.D + la copie des quiz (UD pour les miens
uniquement).
#16 En tant que formateur, je peux pouvoir avoir accès à la page de gestion des
quiz afin de modifier l’ordre des questions d’un de mes quiz.
#17 En tant que formateur, je veux pouvoir sélectionner un quiz afin de réaliser une
gestion C.R.U.D de ses questions.
#18 En tant que formateur, je veux pouvoir choisir une question (d'un de mes quiz)
afin de faire une gestion C.R.U.D. de ses réponses.
#19 En tant que formateur, je veux pouvoir choisir un quiz parmi tous les quiz existants
afin de créer un match (dont le code sera généré).
#20 En tant que formateur, je veux pouvoir sélectionner un match (un des miens) afin
de le désactiver/activer, le supprimer, le remettre à zéro (R.A.Z.), le modifier.
#21 En tant que formateur, je veux pouvoir choisir un match afin de visualiser /
projeter son code et ses questions.
#22 En tant que formateur, je veux pouvoir appuyer sur un bouton à la fin du match
afin de pouvoir visualiser / projeter le taux de réussite global / le score de chaque
joueur

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.

NB : chaque entité MVC doit être représentée dans un dossier séparé.


Exemple : Entité Formation :
Modèle : App/Models/Formation.php
Contrôleur : App/http/Controller/FormationController.php
Vue: Resources/View/Formation/ index.blade.php
/ ….

M. KHALD Etude de cas


i https://www.atlassian.com/fr/agile/kanban/kanban-vs-scrum

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.

Aux débuts du développement informatique moderne, à l'ère du PC personnel et de


l'hébergement web, les choses étaient « simples ». Les utilisateurs disposaient de
postes clients sur lesquels des applications étaient lancées, pouvant interagir avec
des serveurs, des machines physiques distantes présentes sur le réseau local ou
Internet.

Du serveur dédié à l'instance jetable


Puis vint la mutualisation et les offres d'hébergement accessibles à tous. À l'opposé
d'un serveur dédié, loué par un seul et même client, on stocke et donne accès à des
dizaines voire des centaines de sites depuis un unique serveur. Cela pouvait prendre
la forme de comptes différents pour se connecter via FTP et mettre en ligne ses
fichiers, ainsi que d’une configuration multisite du serveur web. Une approche où
l'isolation d'un client à l'autre était faible.

Avec la montée en puissance des machines, des besoins, d'une volonté de


renforcement de la sécurité, la virtualisation est arrivée au début des années 2000.
Elle permettait en effet de « découper » un serveur en plusieurs machines virtuelles
(VM) pouvant être louées individuellement. On parle alors de serveur privé virtuel
(VPS).

Les serveurs peuvent être dédiés, mutualisés ou partagés (VPS)

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

M. KHALD Etude de cas


comme une simple commodité, servant aux besoins d'une application ou
d'un service de manière temporaire.

Docker nous a fait entrer dans l'ère du conteneur


C'est de ce constat qu'est né Docker il y a une dizaine d'années. Créé par
16
Solomon Hykes pour le français dotCloud (devenu Docker Inc en 2013, scindé
en 2019), l'outil est rapidement devenu une référence dans le domaine de la
conteneurisation (d'où son nom). Il permet en effet de lancer un système tiers
de manière isolée, y déployer différents services et fichiers, y effectuer des
opérations et tout supprimer lorsque ce n'est plus nécessaire.

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é.

Conteneurs et orchestration, pour quoi faire ?

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.

M. KHALD Etude de cas


Le tout est organisé via des mécaniques et fichiers répondant à des règles de
déploiement, de manière à fonctionner de manière reproductible sur
différents systèmes. C'est donc un avantage de poids à l'heure du multi-
cloud.

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

par dizaines, centaines ou milliers pour assurer une forte disponibilité.

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.

Une multitude de strates et d'outils


La première étape est bien entendu d'installer Docker, qui est en réalité un
ensemble d'outils (open source), dont certains ne sont plus gérés directement
par l'entreprise Docker Inc. C'est notamment le cas de son runtime
containerd, libéré en 2017. Il s'agit de la brique gérant concrètement les
conteneurs et qui fait le lien avec runc.

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

M. KHALD Etude de cas


le rappelait Kelsey Hightower (Google Cloud) l'année dernière, ce n'est
qu'une suite d'outils parmi d'autres disponibles sur le marché.

Elle a néanmoins l'avantage d'être clé en main et bien documentée, avec


un écosystème large et complet. D'où notre choix de l'utiliser pour
commencer notre exploration. Nous l'utiliserons ici à travers notre application
E-Learning. 18

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

M. KHALD Etude de cas

Vous aimerez peut-être aussi