42
U NIVERSIT ´ E DE LA R ´ EUNION UFR S CIENCES ET T ECHNOLOGIES I NSTITUT I NDIANOC ´ EANIQUE DU N UM ´ ERIQUE Contribution ` a l’´ elaboration de la plateforme de formation et au portail de l’Universit´ e Num´ erique de La R´ eunion AUTEUR : Brice MAROSON N o Etudiant : 37005590 ENCADRANTE : Dr. V´ eronique SEBASTIEN ENSEIGNANT R ´ EF ´ ERENT : Pr. Fr´ ed´ eric MESNARD eriode du stage : 14 Janvier 2019 - 12 Juillet 2019

Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

UNIVERSITE DE LA REUNIONUFR SCIENCES ET TECHNOLOGIES

INSTITUT INDIANOCEANIQUE DU NUMERIQUE

Contribution a l’elaboration de laplateforme de formation et au portail del’Universite Numerique de La Reunion

AUTEUR :Brice MAROSONNo Etudiant : 37005590

ENCADRANTE :Dr. Veronique SEBASTIEN

ENSEIGNANT REFERENT :Pr. Frederic MESNARD

Periode du stage : 14 Janvier 2019 - 12 Juillet 2019

Page 2: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE
Page 3: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

RemerciementsJe tiens a exprimer ma profonde gratitude a toutes les personnes qui ont contribue de pres ou de loin ausucces de mon stage ainsi qu’a la redaction de ce memoire.J’adresse mon entiere reconnaissance envers :

— Monsieur Christophe PORLIER, Le Directeur adjoint de l’IIN, pour m’avoir donne l’opportunited’integrer son equipe au sein de l’IIN,

— Docteur Veronique SEBASTIEN, qui m’a encadre tout au long de ce stage— Monsieur Ilias TIMOL, pour son soutien ainsi que pour sa contribution pour l’accomplissement de

ce stage— La DSI en particulier Monsieur Jephte CLAIN et Joel KWAN, pour leurs conseils techniques et

leurs temps precieux tout au long de mon stage.— Monsieur Frederic JEAMBLU, qui est le referent de Open edX designe par la DSI— Toute l’equipe pedagogique et les intervenants professionnels responsables de ma formation de Mas-

ter Informatique de l’Universite de La Reunion, en particulier le Professeur Frederic MESNARDqui est notre responsable de stage,

— Et enfin a ma famille pour son soutien constant et son encouragement.

Page ii

Page 4: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

ResumeEn 2017, L’Universite Numerique de la Reunion a mis en place une plateforme d’apprentissage en lignebasee sur Open edX. Elle est deployee mais avec des fonctionnalites de base telles que la creation des coursdans un CMS ou le suivi de cours en ligne pour les apprenants, alors qu’avec Open edX on peut encore allerplus loin comme gerer les diplomes, cette capacite la differe des autres plateformes standard de MOOC.

Le but final de ce projet qui est gere par l’Institut Indianoceanique du Numerique (IIN) est de pouvoir creerune formation en ligne a part entiere. En effet, l’apprenant a deux options, soit suivre un cours specifiqueafin d’obtenir un certificat ou bien suivre plusieurs modules afin d’obtenir un diplome universitaire.

En se basant sur cette plateforme, mon stage concerne trois axes : tout d’abord, l’etude de la mise placed’un systeme de gestion de diplomes avec la commercialisation de modules de cours et un systeme d’au-thentification sur Open edX, puis le deploiement des solutions trouvees sur le serveur de developpement, etenfin, la mise en place de la derniere version de Open edX.

Mot Cles : Open edX, Universite Numerique, LMS, CMS, Commerce Electronique Oscar

AbstractIn 2017, the Digital University of Reunion Island set up an online learning platform based on Open edX. Itis deployed but with basic features such as creating courses in a CMS or following online courses for lear-ners, while with Open edX you can go even further like managing degrees, this ability differs from otherstandard MOOC platforms.

The final goal of this project, which is managed by the Indian Oceanic Institute of the Digital (IIN), is tocreate a fully-fledged online training course. Indeed, the learner has two options, either to take a specificcourse in order to obtain a certificate or to take several modules in order to obtain a university degree.

Based on this platform, my internship concerns three areas : first, the study of the implementation of adiploma management system with the marketing of course modules and an authentication system on OpenedX, then the deployment of solutions found on the development server, and finally, the implementation ofthe latest version of Open edX.

Keywords : Open edX, Digital University, LMS, CMS, Ecommerce Oscar

Page iii

Page 5: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

TABLE DES MATIERES

Table des matieres1 Introduction 1

2 Presentation generale 22.1 L’entreprise d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1.1 L’Institut Indianoceanique du Numerique . . . . . . . . . . . . . . . . . . . . . . 22.1.2 Les missions de L’Institut Indianoceanique du Numerique . . . . . . . . . . . . . 22.1.3 Le projet Universite Numerique de la Reunion . . . . . . . . . . . . . . . . . . . 2

2.2 Sujet du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.3 Organisation du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Etat de l’art 43.1 Les universites numeriques utilisant Open edX . . . . . . . . . . . . . . . . . . . . . . . 43.2 La plateforme Open edX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.3 Architecture globale de Open edX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.4 Les versions existantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.5 Open edX a l’Universite de La Reunion . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.5.1 Prerequis d’un serveur Open edX . . . . . . . . . . . . . . . . . . . . . . . . . . 83.5.2 Serveurs existants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.5.3 Prise en main de l’environnement edx-dev . . . . . . . . . . . . . . . . . . . . . . 9

4 Contributions 104.1 Etude de mise en place de la gestion de diplomes sur la plateforme Open edX . . . . . . . 10

4.1.1 Objectif et solutions trouvees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.1.2 Le choix de ecommerce Oscar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.1.3 Le principe de fonctionnement du protocole Oauth2 dans Open edX . . . . . . . . 11

4.2 Deploiement de la gestion de diplome et e-commerce . . . . . . . . . . . . . . . . . . . . 114.2.1 Securisation du portail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.2.2 Deploiement de la plateforme ecommerce . . . . . . . . . . . . . . . . . . . . . . 12

4.3 Mise en place d’un systeme d’authentification SSO . . . . . . . . . . . . . . . . . . . . . 204.3.1 Le choix de Shibboleth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.3.2 Integration de l’authentification tierce dans Open edX . . . . . . . . . . . . . . . 204.3.3 Integration avec un fournisseur d’identite SAML . . . . . . . . . . . . . . . . . . 204.3.4 Configuration du site Open edX en tant que fournisseur de services SAML . . . . 23

4.4 Les differents type d’acteurs dans une federation d’identites . . . . . . . . . . . . . . . . . 244.5 Mise a jour du portail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.5.1 Installation de Open edX Ironwood . . . . . . . . . . . . . . . . . . . . . . . . . 254.5.2 Travaux a venir sur Ironwood . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5 Conclusion et perspective 26

A Annexes viiA.1 Tableaux de bord de suivi mensuel du projet . . . . . . . . . . . . . . . . . . . . . . . . . viiA.2 MOOC django . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ixA.3 Les differents dossiers importants de Open edX . . . . . . . . . . . . . . . . . . . . . . . xiA.4 Organigramme de l’IIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiA.5 La solution de visioconference GLOWBL . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Page iv

Page 6: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

TABLE DES FIGURES

Table des figures1 Interaction entre lms et oscar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Architecture globale de Open edX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Les serveurs heberges a la DSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Principe de fonctionnement du protocole Oauth2 dans Open edX . . . . . . . . . . . . . . 115 fichier de configuration de nginx pour ecommerce . . . . . . . . . . . . . . . . . . . . . . 136 Verification des processus ecommerce . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 fichier de configuration de l’environnement lms . . . . . . . . . . . . . . . . . . . . . . . 148 Ajout d’un client ecommerce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Activation du module ecommerce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1610 Configuration du fichier ecommerce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1711 Administration des cours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1712 Dashboard ecommerce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1813 Authentification avec SAML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2014 Activation de la fonctionnalite d’authentification tierce . . . . . . . . . . . . . . . . . . . 2115 Meta-donnees SAML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2116 SAML IdP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2217 Interface d’authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 Ajout des cles dans lms.auth.json . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 Page d’accueil de Open edX Ironwood . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2520 Diagramme de GANTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii21 Architecture MVT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix22 Administration Django . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x23 Organigramme de l’IIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii24 La solution de visioconference GLOWBL . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Page v

Page 7: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

LISTE DES TABLEAUX

Liste des tableaux1 Toutes les versions Open edX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Les dossiers importants de Open edX . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Page vi

Page 8: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

Listes des abreviationsetst

CAS : Central Authentication ServiceCMS : Content Management SystemDSI : Direction des Systemes d’informationIdP : Identity ProviderIIN : Institut Indianoceanique du NumeriqueLDAP : Lightweight Directory Access ProtocolLMS : Learning Management SystemMOOC : Massive Open Online CourseMVT : Modele Vue TemplateOBSUN : OBServatoire des Usages du NumeriqueOIDC : OpenID ConnectSAML : Security Assertion Markup LanguageSSO : Single Sign On

Page vii

Page 9: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

1 IntroductionLes universites ont des admissions car les campus ne peuvent pas donner un avis favorable a toutes lesinscriptions car la demande est superieure aux effectifs pouvant venir aux campus. D’apres le Ministere del’Enseignement Superieur de la Recherche et de l’Innovation, le nombre d’etudiants en France metropolitaineet dans les DOM ne cesse d’accroıtre tous les ans (en 2017-2018 une hausse de 1,3% par rapport a l’anneeprecedente) qui rend l’admission encore plus rude. Plus nous excluons dans les universites, plus le rangest eleve, meilleure est l’universite, cela favorise egalement le manque de places au sein des universites.Avec l’apprentissage en ligne et l’apprentissage numerique, nous pourrions amener une amelioration carceci permettra a tout individu un apprentissage soit par un cursus universitaire afin d’obtenir un diplome oubien par un module specifique dans le but d’obtenir un certificat adequat.

L’Universite Numerique de La Reunion (UNR) qui est geree par l’Institut Indianoceanique du Numerique(IIN) a mis en place une plateforme Open edX qui est actuellement operationnelle mais avec des fonction-nalites de base dont la partie studio permet la creation du cours et un portail permettant aux apprenants des’inscrire ou de suivre des cours. Pour que cette plateforme reponde aux besoins d’une universite numerique,l’ajout de quelques fonctionnalites est necessaire.

Ce stage a pour objectif principal d’ajouter des fonctionnalites qui permettrons a la plateforme Open edXexistante de gerer des diplomes et en meme temps de commercialiser les cours. Le travail devra prendreen consideration la securisation du site, la possibilite d’authentification via un compte de l’Universite pourles etudiants et les personnels de l’Universite habilites, en passant par le serveur CAS de l’universite de LaReunion.

Ce rapport se divise en cinq grandes parties ; En premier lieu, nous mettrons en exergue la presentationgenerale de l’entreprise d’accueil et le contexte du stage ; ensuite l’etat de l’art sur la plateforme Open edXpuis nous aborderons les contributions telles que l’etude prealable de la mise en place de la gestion dediplome, la securisation, le deploiement du module e-commerce et l’etude de mise en place d’un systemed’authentification ; enfin, nous terminerons par une conclusion et des perspectives de la plateforme OpenedX en expliquant les apports manageriaux concernant mes travaux.

Page 1

Page 10: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

2 Presentation generale2.1 L’entreprise d’accueilMon stage se deroule a l’Institut Indianoceanique du Numerique (IIN) qui se trouve au sein de l’Universitede La Reunion a Moufia. En effet, mon projet de stage est rattache au projet strategique de l’ UniversiteNumerique de La Reunion (UNR).

2.1.1 L’Institut Indianoceanique du NumeriqueL’Institut Indianoceanique du Numerique ou IIN est une composante de l’Universite de La Reunion creeepar deliberation du Conseil d’Administration de cette derniere. L’Institut Indianoceanique du Numeriqueest un departement de cette Universite qui est regi par le code de l’education et notamment l’article L. 713-11°, il est aussi charge de developper l’Universite Numerique de La Reunion ; Ses missions se structurentautour de 3 axes :

— Formation et diffusion des connaissances— Recherche, innovation et experimentation— Observation de la societe numerique

2.1.2 Les missions de L’Institut Indianoceanique du NumeriqueL’Institut Indianoceanique du Numerique a pour missions principales fondamentales :

— De soutenir le developpement de nouveaux parcours de formation en lien avec les autres compo-santes ou services communs de l’universite et de dispenser des formations portees par le numerique ;

— De developper une politique d’edition numerique ;— D’entreprendre et de mener des activites de recherche et developpement en relation avec les labora-

toires partenaires ;— De developper une politique d’innovation ;— De developper la diffusion des savoirs avec les possibilites offertes par le numerique ;— De developper un observatoire du numerique et de ses usages ;— De developper des partenariats regionaux, nationaux et internationaux.

2.1.3 Le projet Universite Numerique de la ReunionL’Universite Numerique de la Reunion a comme objectifs principaux de :

— Proposer des formations a distance tout au long de la vie permettant d’obtenir des certifications etdes diplomes en ligne

— Diffuser la culture scientifique universitaire— Contribuer a l’offre universitaire sur la zone Ocean Indien et la Francophonie— Produire de la connaissance sur la transformation numerique

2.2 Sujet du stageDepuis 2017, l’Universite Numerique de la Reunion a mis en place une plateforme d’apprentissage quiest basee sur la technologie Open edX. Cette plateforme est actuellement operationnelle mais avec desfonctionnalites de base telles que : la creation de cours via Open edX CMS (Content Management System),suivre des MOOC sur LMS (Learning Management System) pour les apprenants, les forums de discussion,etc.L’objectif de ce stage est de mettre en place une plateforme qui est capable de gerer des diplomes univer-sitaires pour les personnes voulant acquerir des diplomes via formations en ligne. Cette fonctionnalite a etedeja deployee par quelques universites comme le MIT, Stanford, etc.

Page 2

Page 11: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

2.3 Organisation du stage

2.3 Organisation du stageLa diagramme de Gantt dans l’annexeA met en evidence les taches accomplies, les taches en cours ainsique celles qui sont a venir dans une periode de 6 mois, dont la date de debut est le 14 Janvier et la datefinale est le 12 Juillet. Des points hebdomadaires sont realises avec l’encadrante et certains membres de laDirection du Systeme d’Information afin d’assurer la bonne marche du projet.A partir du mois de mai, un referent Open edX a ete designe a la DSI, renforcant encore la collaborationavec ce service et requerant un touillage sur les aspects fonctionnels et techniques.

Page 3

Page 12: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

3 Etat de l’art3.1 Les universites numeriques utilisant Open edXPour donner plus de souplesse a l’enseignement, de plus en plus d’universites ouvrent en parallele uneformation en ligne. Chaque universite numerique utilise une plateforme bien definie en fonction de leurbesoins. Ici donc nous allons voir certaines universites numeriques qui utilisent la plateforme Open edX.

La plateforme FUN a ete lancee par le Ministere de l’enseignement Superieur et de la Recherche en octobre2013. Elle a ete creee dans le but de vulgariser la connaissance et pour faire reconnaıtre dans le monde entierles projets des universites et les ecoles francaises. L’une des raisons qui a pousse l’institut Indianoceaniquedu Numerique a utiliser Open edX car FUN l’utilise afin de faciliter la collaboration et compatibilite entreles deux.

Xuentanx est le premier MOOC chinois autorise a exploiter des cours edX sur son continent. Fonde parl’Universite Tsinghua, il fournit egalement une plateforme pour la recherche et l’application du Centre derecherche du MEO pour l’education en ligne.

Stanford Online fournit des opportunites d’apprentissage et des references au public en collaboration avecde nombreuses ecoles et departements de l’universite. Par le biais de Stanford Online (une partie de VPTL),Stanford propose plus de 100 cours en ligne gratuits et uniques ou MOOC (Massive Open Online Courses)au service du monde, pour un apprentissage continu et un enrichissement personnel.

IndonesiaX qui a ete lance le 17 aout 2015 est un site de cours en ligne / MOOC ouvert massif des meilleuresuniversites ou institutions. Les visiteurs de ce site peuvent profiter du materiel gratuitement, n’importe ou eta tout moment, tout en etant connecte a Internet. Une semaine apres son lancement la plateforme comptaitpres de 10 000 participants au cours et des visiteurs de 351 villes et 65 pays.

La vision de l’Universite George Washington d’eduquer la prochaine generation de citoyens leaders s’etendaux apprenants du monde entier grace a l’apprentissage en ligne. Leurs programmes de diplomes en lignecouvrent les domaines des arts liberaux, des affaires, de l’education, de la medecine, des sciences infirmiereset des disciplines pre-professionnelles.

Page 4

Page 13: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

3.2 La plateforme Open edX

3.2 La plateforme Open edXLa plateforme Open edX est dediee pour l’apprentissage en ligne et elle comprend plusieurs composants,tels que :

— Open edX LMS (Learning Management System) systeme de gestion de l’apprentissage— Open edX Studio ou CMS ( Content Management System) est un systeme de gestion de contenu ou

plateforme de creation de cours.— Forums de discussion est une application ruby qui implemente le service de commentaires ou Com-

mentary Service (CS)— Open edX Insights est un outil d’analyse de donnees pour fournir des informations precieuses sur

l’activite des etudiants, leur inscription, leur geographie, leurs donnees demographiques, leur enga-gement, leurs notes, etc.

— Commerce electronique est une implementation basee sur Django pour ajouter des fonctionnalitesde commerce electronique a Open edX.

— Les applications Open edX Mobile sont des applications natives Android et iOS pour les appareilsmobiles.

— XBlock est l’architecture de composant pour les elements d’un cours Open edX. Il a ete developpepour creer des composants de cours independants qui fonctionnent de maniere transparente avecd’autres composants dans un cours en ligne.

— XQueue est une interface permettant au systeme de gestion de l’apprentissage de communiquer avecdes services de notation externes

FIGURE 1: Interaction entre lms et oscar

3.3 Architecture globale de Open edXOpen edX embarque plusieurs technologies, ce qui fait qu’il est a la fois complexe et performant. Parmi cestechnologies, il y a :

— Elasticsearch qui est un moteur de recherche et d’analyse, concu pour repondre a une multitude decas d’utilisation. Dans Open edX, il permet aux apprenants de trouver plus facilement a partir d’unmot cle, un cours.

— MongoDB est un systeme de gestion de base de donnees orientee documents ; il est moins vulnerableque MYSQL en terme de securite en raison de sa conception (ne necessite pas de schema predefinides donnees). Dans Open edX la base de donnees MONGODB sert a stocker les cours et les forums.

Page 5

Page 14: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

3.3 Architecture globale de Open edX

— RabbitMQ est un logiciel d’agent de messages open source qui implemente le protocole AMQ(Advanced Message Queuing).

— Django est un framework web pour python et il est utilise dans Open edX.La figure ci-dessous met en evidence l’architecture globale de Open edX et les technologies embarquees.

FIGURE 2: Architecture globale de Open edXSource : https://opensource.com/article/18/6/getting-started-open-edx

Page 6

Page 15: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

3.4 Les versions existantes

3.4 Les versions existantesDepuis sa creation en 2015, plusieurs versions de Open edX ont vu le jour pour rajouter des fonctionnalitesou encore dans le but de rendre la plateforme plus performante afin de repondre aux besoins des utilisateursqui deviennent de plus en plus complexes.

version Open edX Git Tag Date de soriteIronwood open-release/ironwood.1. 2019-03-21Hawthorn open-release/hawthorn.2. 2018-09-26

open-release/hawthorn.1. 2018-08-07Ginkgo open-release/ginkgo.2. 2017-12-18

open-release/ginkgo.1. 2017-08-14Ficus open-release/ficus.4. 2017-08-10

open-release/ficus.3. 2017-04-21open-release/ficus.2. 2017-03-29open-release/ficus.1. 2017-02-23

Eucalyptus open-release/eucalyptus.3. 2017-01-10open-release/eucalyptus.2. 2016-09-02open-release/eucalyptus.1. 2016-08-26

Dogwood open-release/dogwood.3. 2016-04-25open-release/dogwood.2. 2016-04-14open-release/dogwood.1. 2016-03-09open-release/dogwood 2016-02-11

Cypress open-release/cypress 2015-08-13Birch open-release/birch.2. 2015-08-05

open-release/birch.1. 2015-07-27open-release/birch 2015-02-24

TABLE 1: Toutes les versions Open edX

Page 7

Page 16: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

3.5 Open edX a l’Universite de La Reunion

3.5 Open edX a l’Universite de La Reunion3.5.1 Prerequis d’un serveur Open edXUne des raisons sur le choix de la plateforme Open edX est le fait qu’elle est dediee au massif. Pour cetteraison, un serveur qui heberge open edX a quelques prerequis pour qu’elle fonctionne correctement :

— Le processeur doit etre superieur ou egal a 2.0 GHZ,— Au minimum 25 Gio de disque dur en serveur de developpement et 50 Gio en serveur production,— 8 Gio de RAM minimum,— Ubuntu 16.04 server AMD64 : la version ginkgo 1.0 de Open edX n’est compatible que avec la

version de Ubuntu 16.04.

3.5.2 Serveurs existantsActuellement, on a 5 serveurs qui sont heberges au sein de la DSI :

— edx-dev : un serveur de developpement ou on teste les nouvelles fonctionnalites.— edx2017-preprod : un serveur de pre-production ou on cree les cours. Une fois que ces derniers sont

finalises, on les transfert sur le serveur de production.— edx2017 : un serveur de production qui sera vu par les apprenants.— edx-dev01-2019 : un serveur de developpement pour installer la derniere version de Open edX

Ironwood (mixe entre la documentation officiel et tutoriel pour l’installation de Open edX ginkgo.1[AND18])

— edx-dev02-2019 : une autre approche d’installation de ironwood.

FIGURE 3: Les serveurs heberges a la DSI

Page 8

Page 17: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

3.5 Open edX a l’Universite de La Reunion

3.5.3 Prise en main de l’environnement edx-devComprendre l’environnement edx-dev est une etape cruciale pour mener a bien le projet. Ce dernier consistea comprendre l’architecture Open edX :

— Les fichiers de configuration LMS et CMS (*.json)— Les fichiers de django (url, migration, settings, etc)— Les fichiers logs (facilitent la resolution des erreurs en cas d’une mauvaise configuration)— Gestion de processus (pour demarrer, arreter ou redemarrer un service) en utilisant la commande

supervisorctl.Cela a pu se faire notamment grace a la documentation issue d’un stage precedent.

Page 9

Page 18: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4 Contributions

4.1 Etude de mise en place de la gestion de diplomes sur la plateformeOpen edX

4.1.1 Objectif et solutions trouveesOpen edX permet la gestion de cours, mais ne permet pas de regrouper ces cours par diplome. L’objectifde ce travail est d’ajouter une gestion de diplome afin que les utilisateurs puissent s’inscrire a un diplomecomplet. Cette inscription entraınera l’inscription de l’utilisateur dans tout les cours composant ce diplome.D’apres les recherches qu’on a fait, on a trouve deux (2) solutions qui permettent de gerer les diplomes. Ily a le commerce electronique Oscar et le openfun richie.

4.1.1.1 Commerce electronique oscarLe module e-commerce oscar[osc] est un framework de commerce electronique Django open source. Ilpermet d’ajouter des fonctionnalites de commerce electronique a Open edX. Notamment, il permet deregrouper lez cours par categorie et donc par diplome. Les diplomes deviennent un produit a part entiereLe module commerce electronique permet de faire plusieurs choses :

— Payer les cours avec plusieurs sources de paiement, notamment PayPal, GoCardless, DataCash, etc.— Gerer les offres (achats multiples, offres groupees, obtenez reduction, etc.)— Afficher un tableau de bord qui remplace l’administration djang— utiliser plus de 20 millions de produits— Gerer les produits et categories multilingues.— Mettre les produits a prix dynamiques, notamment lorsque le prix est fourni par un autre site.

4.1.1.2 Openfun richieRichie[ric] est une plateforme open source basee sur djangoCMS. Elle est un CMS (Content ManagementSystem ou Systeme de gestion de contenu) permettant de creer facilement des sites Web a part entiere avecun catalogue de cours en ligne. Richie offre plusieurs avantages :

— multisite et multilingue— droits d’acces avances— catalogue de cours synchronises avec une ou plusieurs instances du LMS— Moteur de recherche base sur Elasticsearch— Des pages personnalisees et flexibles pour les cours( affichage par organisations, par categories, ou

par enseignants)— Extensible

4.1.2 Le choix de ecommerce OscarComme solution, on a choisi le module commerce electronique pour plusieurs raisons. Tout d’abord, lemodule Open edX E-commerce qui est un projet tiers de Django nomme Oscar que l’equipe Open edXa entierement integre a la plateforme en fusionnant les listes d’utilisateurs avec Oauth ; cette integrationfacilite la maintenance et la configuration car tout est englobe dans Open edX. En plus, etant donne quele module commerce electronique oscar est integre dans Open edX, il evoluera au fur et a mesure queOpen edX change de version et repondra aux besoins des utilisateurs. Et enfin, Oscar permet la gestion dediplomes et la commercialisation de modules de cours.Pour que le moule commerce electronique Oscar puisse communiquer avec le module Open edX LMS, il abesoin d’une protocole Oauth2.

Page 10

Page 19: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4.2 Deploiement de la gestion de diplome et e-commerce

4.1.3 Le principe de fonctionnement du protocole Oauth2 dans Open edXOauth2 est un protocole de delegation d’authentification, il permet a des applications tierces d’obtenir unacces limite a un service disponible via web.Dans la plateforme open edX, les informations concernant les apprenants ne sont pas stockees dans la basede donnees du module commerce electronique mais plutot dans celles de lms. Par consequence, pour seconnecter sur ecommerce oscar (consommateur ou client ), l’apprenant va etre redirige vers lms (serveursd’autorisation et ressource) pour s’authentifier grace au protocole de delegation d’autorisation Oauth2.Dans Open edx,

— E-commerce oscar : est une application demandant des donnees au serveur de ressources (ecommerce.edx-dev.univ-reunion.fr).

— le serveur de ressources (resource server) : est un serveur qui heberge les donnees dont l’acces estprotege (edx-dev.univ-reunion.fr)

— Le serveur d’autorisation (Authorization Server) : est un serveur (edx-dev.univ-reunion.fr) qui delivredes tokens (ou jetons) aux clients (e-commerce oscar). Ces tokens seront utilises lors des requetesdu clients vers le serveur de ressources.

Le module Open edX LMS est donc a la fois le serveur de ressources et le serveur d’autorisation.

FIGURE 4: Principe de fonctionnement du protocole Oauth2 dans Open edX

4.2 Deploiement de la gestion de diplome et e-commerce

4.2.1 Securisation du portailEtant donne l’existence des echanges de donnees confidentielles, il est donc indispensable de securiserles sites (LMS, CMS, DISCOVERY , ECOMMERCE) afin de proteger les donnees. Pour le serveur dedeveloppement, on a utilise letsencrypt. Letsencrypt est une autorite de certification qui fournit des certifi-cats gratuits X.509 pour le protocole cryptographique TLS au moyen d’un processus automatise, il a vu lejour en decembre 2015.

Page 11

Page 20: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4.2 Deploiement de la gestion de diplome et e-commerce

4.2.1.1 Installation de l’outilAvant toutes choses, il est primordial de mettre a jour les paquets car cela pourrait nuire au bon fonction-nement de l’installation de l’application. Puis il faut egalement installer git qui est un logiciel open sourcededie a la gestion de version decentralise. Et enfin telecharger la derniere version de letsencrypt sur un depotgithub.

$ sudo apt-get update$ sudo apt-get install git$ sudo git clone https://github.com/letsencrypt/letsencrypt/etc/letsencrypt --depth=1

4.2.1.2 Mise en place du certificatLa commande ci-dessous permet de generer les certificats ainsi que les cles privees dans le dossier /etc/letsencrypt/live/

$ sudo /etc/letsencrypt/letsencrypt-auto certonly --rsa-key-size 4096-d ecommerce.edx-dev.univ-reunion.fr

# Enfin pour generer les clefs utilisees pour les sessions et le Diffie-Helman$ sudo mkdir -p /etc/nginx/ssl &&$ sudo openssl rand 48 -out /etc/nginx/ssl/ticket.key &&$ sudo openssl dhparam -out /etc/nginx/ssl/dhparam4.pem 4096

Par defaut, le commerce electronique est accessible de l’exterieur sur le port 18130. Pour une questionde securite des serveurs, on a cree une alias de edx-dev.univ-reunion.fr qui est ecommerce.edx-dev.univ-reunion.fr ; ce dernier est accessible sur les ports 80 en http et 443 en https.Mais vue qu’on va utiliserOauth2 pour l’authentification afin de mieux exploiter la puissance du protocole Oauth2, on a donc redirigetoute connexion vers une connexion securisee.

4.2.1.3 Le renouvellement des certificatsLes certificats proposes par Letsencrypt sont valable pendant 90 jours et ils ne le sont plus au-dela de cettedate. Il est donc necessaire de les renouveler par deux moyen : soit periodiquement juste avant date final,soit en rajouter un script qui les genere dans les taches recurrentes du systeme afin de renouveler le certificatau bout d’une certaine periode de temps en utilisant crontab.

$ sudo crontab -e30 3 * * 0 /etc/letsencrypt/letsencrypt-auto renew >>/var/log/letsencrypt/letsencrypt.log

Ce code permet la mise a jour des certificats tous les dimanches a 3h30 et a envoye l’historique dans lefichier log de letsencrypt.

4.2.2 Deploiement de la plateforme ecommerce

4.2.2.1 Verification du processus du module e-commerceAvant toutes choses, il faut d’abord verifier que les processus du module ecommerce sont en cours d’execution.Pour verifier les status il faut taper la commande :

$ sudo /edx/bin/spervisorctl status

Page 12

Page 21: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4.2 Deploiement de la gestion de diplome et e-commerce

FIGURE 5: fichier de configuration de nginx pour ecommerce

FIGURE 6: Verification des processus ecommerce

4.2.2.2 Configuration edXPour configurer le Oauth2 pour la delegation d’autorite entre ecommerce et LMS (lms joue le role defournisseur d’acces et ecommerce oscar est le client), il est primordial de configure le fichier json de lmsqui se trouve dans le repertoire /edx/app/edxapp/. La figure ci-dessous montre les points essentiels de laconfiguration.

Page 13

Page 22: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4.2 Deploiement de la gestion de diplome et e-commerce

FIGURE 7: fichier de configuration de l’environnement lms

— ENABLE OAUTH2 PROVIDER : Cela active le systeme de gestion de l’apprentissage ou LMS(Learning Management System) en tant que fournisseur de services d’authentification Oauth2. Ducoup, le module commerce electronique OSCAR utilise le protocole Oauth2 (protocole de delegationd’autorite) pour se connecter plutot que d’heberger sa propre liste d’utilisateurs et ses propres motsde passe.

— JWT AUTH : il s’agit de l’URL du serveur d’autorisation de jeton Web JSON. Dans notre cas, c’estexactement la meme chose que l’emetteur.

— JWT ISSUER : Ceci est l’URL de l’emetteur du jeton Web JSON— OAUTH OIDC ISSUER : est l’URL de l’emetteur OIDC (OpenID Connect ). Dans la plateforme

Open edX du serveur de developpement cet URl est donc edx-dev.univ-reunion.fr— PAID COURSE REGISTRATION CURRENCY : Le module de ecommerce Oscar lit cette valeur

pour determiner le symbole de devise a afficher aux cotes des produits (dollar, euro, etc). Cettevaleur est egalement transmise a la passerelle de paiement.

Page 14

Page 23: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4.2 Deploiement de la gestion de diplome et e-commerce

4.2.2.3 Configuration Oauth

FIGURE 8: Ajout d’un client ecommerce

$ sudo su ecommerce -s /bin/bash$ cd ˜/ecommerce$ source ../ecommerce_env$ python manage.py makemigrations$ python manage.py migrate$ python manage.py create_or_update_site --site-id=1--site-domain=ecommerce.edx-dev.univ-reunion.fr --partner-code=edX--partner-name='Open edX' --lms-url-root=https://edx-dev.univ-reunion.fr--payment-processors=paypal --client-id=ecommerce-key--client-secret=ecommerce-secret [email protected]_api_url=https://discovery.edx-dev.univ-reunion.fr

4.2.2.4 Configuration de Django pour activer ecommerce OscarCet etape est tres important pour le bon fonctionnement du module commerce electronique. Cette partiecomprend 3 configurations indispensables, dont l’ajout de Chemin vers la page de cours heberge par leservice de commerce electronique, activation de la mise en cache en lui indiquant le temps en secondesuperieur a zero et enfin, ajouter un chemin vers laquelle sera redirige la page de recu de la commande. Sicet etape est mal configure ou bien ignore, le serveur renvoi une erreur 500.

Page 15

Page 24: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4.2 Deploiement de la gestion de diplome et e-commerce

FIGURE 9: Activation du module ecommerce

4.2.2.5 Configuration du module ecommercePour configurer le module commerce electronique, il faut aller dans le repertoire /edx/etc/ et modifierquelques lignes du fichier ecommerce.yml. Cet etape est crucial car il est le pivot qui relie lms et le mo-dule commerce electronique oscar. La figure ci-dessous met en evidence les points essentiels pour bienconfigurer ce dernier.

Page 16

Page 25: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4.2 Deploiement de la gestion de diplome et e-commerce

FIGURE 10: Configuration du fichier ecommerce

Il est tres important que la valeur EDX API KEY du fichier LMS soit identique a la valeur EDX API KEYdu fichier de commerce electronique et de meme facon, la valeur ECOMMERCE API SIGNING KEY dufichier LMS doit etre identique a la valeur JWT SECRET KEY du fichier de commerce electronique.

4.2.2.6 Portail du commerce electronique OSCARLe deploiement de la plateforme e-commerce OSCAR est complexe car le site officiel n’est pas a jouret pas assez fiable (l’absence des certains etapes de configuration du module ecommerce). Suite a desrecherches et ajustements, on a pu deployer la plateforme ecommerce ; les 2 figures ci-dessous represententrespectivement l’interface de l’administration des cours et le dashboard de e-commerce OSCAR.

FIGURE 11: Administration des cours

Page 17

Page 26: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4.2 Deploiement de la gestion de diplome et e-commerce

FIGURE 12: Dashboard ecommerce

Page 18

Page 27: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4.2 Deploiement de la gestion de diplome et e-commerce

4.2.2.7 Les difficultes rencontreesDans la documentation officielle, le port utilise pour ecommerce est 8002 et pareils pour les configura-tions(lms, cms et ecommerce), alors dans nginx, il utilise le port 8130. Par consequence, on a ete oblige dechanger tout les ports en 8130 pour que le module commerce electronique oscar fonctionne correctement.Apres avoir deploye ce module, on a egalement rencontre un probleme du au protocole Oauth2 qui n’arrivepas a matcher lms (edx-dev.univ-reunion.fr) et ecommerce (ecommerce.edx-dev.univ-reunion.fr).

Page 19

Page 28: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4.3 Mise en place d’un systeme d’authentification SSO

4.3 Mise en place d’un systeme d’authentification SSO4.3.1 Le choix de ShibbolethActuellement, qu’on soit inscrit a l’Universite de La Reunion ou pas, on doit toujours creer un comptepour se connecter au portail de l’universite numerique (plateforme Open edX). Afin d’y remedier ; deux (2)solutions sont possibles :

— CAS (Central Authentication Service) : est un systeme d’authentification unique pour le web, per-mettant a un utilisateur de se connecter a plusieurs applications.

— Shibboleth est un logiciel implementant le protocole SAML. Il permet la delegation d’authenti-fication et la propagation d’attributs. En aucun cas, shibboleth remplace CAS et LDAP, mais aucontraire, il s’appuie sur ce deux technologies.

Le CAS est deja dans la version ginkgo de Open edX mais il n’est pas encore operationnel. C’est la raisonpour laquelle notre choix s’est oriente vers Shibboleth. Etant un mecanisme de federation d’identites, ilpermet a un utilisateur rattache a un etablissement de se connecter sur la portail Open edX (pas forcementles etudiants de l’Universite de La Reunion).La figure ci-dessous met en evidence le processus d’authentification avec le protocole SAML entre unfournisseur service qui est le plateforme Open edX et le fournisseur d’identite (qui recupere les informationsdans LDAP et CAS).

FIGURE 13: Authentification avec SAML

4.3.2 Integration de l’authentification tierce dans Open edXPar defaut, l’authentification par un tiers n’est pas activee sur les installations Open edX. Pour activer cettefonctionnalite il faut modifier le fichier lms.env.json.

4.3.3 Integration avec un fournisseur d’identite SAMLOn a integre le site Open edX a des solutions d’identite federees utilisant le standard Security AssertionMarkup Language, version 2.0 (SAML 2.0). SAML est un protocole pour echanger des informations lieesa la securite et propose l’authentification unique sur le web. Plusieurs etapes sont necessaires pour parvenira cette integration, notamment, l’echange de meta-donnees, l’ajout et l’activation du fournisseur d’identteSAMl (Idp), configuration le fournisseur d’identite et enfin teste d’activation du fournisseur SAML.

Page 20

Page 29: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4.3 Mise en place d’un systeme d’authentification SSO

FIGURE 14: Activation de la fonctionnalite d’authentification tierce

4.3.3.1 Echange de meta-donneesLes meta-donnees SAML sont un fichier XML contenant les informations necessaires pour des interactionssecurisees entre les fournisseurs d’identite et les fournisseurs de securite. On envoie l’URL du fichier demeta-donnees cree lors de la configuration du site Open edX en tant que fournisseur de services SAML , achaque fournisseur d’identite qu’on veux ajouter. De meme, on obtient les URL de meta-donnees aupres defournisseurs d’identite avant de les ajouter et de les activer pour l’installation.

FIGURE 15: Meta-donnees SAML

4.3.3.2 Ajout et activation du fournisseur d’identite SAMLPour ajouter et activer le fournisseur d’identite SAML, il faut aller dans l’administration django de OpenedX puis sur l’onglet (pour le serveur edx-dev, ce lien est accessible sur l’adresse https ://edx-dev.univ-reunion.fr/admin/third party auth/samlproviderconfig/). Par defaut, ce lien est vide, il faut ajouter un nou-veau fournisseur. Une fois que ce dernier soit ajoute, il faut modifier les valeurs suivantes en fonction dubesoin :

— Icon class : a utiliser sur le bouton de connexion de ce fournisseur (edx-dev.univ-reunion.fr). Exemples :fa-google-plus, fa-facebook, fa-linkedin, fa-sign-in, fa-sign-in, fa-university

— Name : Nom du fournisseur qui va etre affiche aux utilisateurs du site.— Secondary : pour inclure le IdP dans une liste intermediaire de fournisseurs auxquels les utilisateurs

accedent a l’ aide du bouton Utiliser les informations d’identification de mon etablissement / campusde la page de connexion.

— Backend name : le nom par defaut tpa-saml est optimise pour une utilisation avec Open edX etfonctionne avec la plupart des fournisseurs SAML.

Page 21

Page 30: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4.3 Mise en place d’un systeme d’authentification SSO

— Site : le site auquel appartient la configuration pour utiliser cet IdP. Chaque fournisseur d’identitene peut appartenir qu’a un seul site a la fois.

— IdP slug : Une courte chaıne de caracteres identifiant de facon unique ce fournisseur. Ne peut pascontenir d’espaces et doit etre utilisable en tant que classe CSS.

— Entity ID : l’URI qui identifie le fournisseur d’identite et doit correspondre a la valeur specifiee dansle fichier XML de meta-donnees (urn :mace :cru.fr :federation :univ-reunion.fr).

— Metadata source : URL des meta-donnees XML de ce fournisseur. Devrait etre une URL HTTPS(https ://metadata.federation.renater.fr/univ-reunion-b92ca//preview/preview-renater-univ-reunion-metadata.xml)

4.3.3.3 Test d’activation du fournisseur SAMLPlusieurs etapes sont necessaires pour verifier le processus de connexion d’un fournisseur d’identite qu’onvient d’activer precedemment.Tout d’abord on doit verifier que l’icone dans la colonne Meta-donnees soit prete pour le fournisseur d’iden-tite. Une fois que les meta-donnees du fournisseur ont ete extraites avec succes de l’URL qu’on vient defournir en tant que source de meta-donnees, une coche dans un cercle vert apparaıt et le fournisseur est preta etre utilise immediatement. il faut peut-etre attendre 30 a 60 secondes pour que la tache soit terminee,puis actualiser cette page.

FIGURE 16: SAML IdP

Dans la console d’administration Django, plus precisement sur l’url https ://edx-dev.univ-reunion.fr/admin/third party auth/samlproviderdata/ montre les donnees de rapports extraites de l’URL de la source de meta-donnees ainsique la date et l’heure de l’extraction.

Pour verifier que les utilisateurs peuvent utiliser le fournisseur d’identite pour se connecter, il faut accedera la page de connexion du systeme de gestion de l’apprentissage (LMS ). La page doit inclure le bouton deconnexion institutionnelle. Le fournisseur d’identite est maintenant active (Universite de la Reunion).

Page 22

Page 31: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4.3 Mise en place d’un systeme d’authentification SSO

FIGURE 17: Interface d’authentification

4.3.4 Configuration du site Open edX en tant que fournisseur de servicesSAML

4.3.4.1 Ajout des cles au fichier de configuration LMSLa premiere etape de la configuration du site Open edX en tant que SP SAML consiste a creer une pairede cles d’authentification pour garantir des transferts de donnees securises avec les fournisseurs d’identite.Pour terminer la procedure de configuration, on doit configurer le site Open edX en tant que SP SAML, cequi cree le fichier XML de meta-donnees.Avant toute chose, on doit generer les cles (prive et publique)

openssl req -new -x509 -days 3652 -nodes -out saml.crt -keyout saml.key

Une fois que les cles sont generees, il faut ajouter ces dernieres dans la configuration de LMS. La cle prive etla cle publique doivent etre places respectivement sur les lignes SOCIAL AUTH SAML SP PRIVATE KEYet SOCIAL AUTH SAML SP PUBLIC CERT. Par defaut, ces valeurs sont nulles.

FIGURE 18: Ajout des cles dans lms.auth.json

4.3.4.2 Mettre Open edX en tant que fournisseur de servicesPour configurer votre site Open edX en tant que fournisseur de services SAML, il faut aller dans la sectionThird Party Auth de l’administration django puis ajouter une configuration. Une fois cette derniere est faite,

Page 23

Page 32: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4.4 Les differents type d’acteurs dans une federation d’identites

il faut remplir les informations suivantes :— Entity ID : est un URI pour le serveur. Pour que cette valeur soit unique sur le site, il faut inclure le

nom de domaine du serveur (recommande par edX). Pour le serveur de developpement ce sera donchttps ://saml.edx-dev.univ-reunion.fr .

— Site : est une url du site web qu’on veut configurer pour etre un fournisseur de services SAML. Dansnotre cas c’est l’adresse https ://edx-dev.univ-reunion.fr .

— Organization Info : est utilise pour specifier un code de langue et les parametres regionaux ainsi quedes informations d’identification pour l’installation.

{"en-FR": {

"url": "https://edx-dev.univ-reunion.fr","displayname": "edx-dev.univ-reunion Inc.","name": "edx-dev"}

}

— Other config str : Permet de definir les parametres de securite pour les fichiers de meta-donnees IdP(fournisseur d’identite).

{"SECURITY_CONFIG": {

"signMetadata": false,"metadataCacheDuration": 604800 }

}

4.4 Les differents type d’acteurs dans une federation d’identitesPour que une federation d’identites fonctionne correctement, plusieurs acteurs sont en jeu,

— les utilisateurs : sont les personnes qui se connectent sur le site Open edX pour suivre les cours viaune federation d’identites.

— le ressource : est le site web ou les apprenants vont se connectes.— le fournisseur d’identite : a pour role d’authentifier ses utilisateurs quand ceux accedent un site web

via la federation d’identites— operateur de la federation est l’entite qui gere la federation, a defini ses regles de fonctionnement et

prend en charge l’inscription des fournisseurs d’identites et des ressources dans la federation.

Page 24

Page 33: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

4.5 Mise a jour du portail

4.5 Mise a jour du portail

4.5.1 Installation de Open edX IronwoodLa mise a jour de la version de Open edX (dans notre cas c’est la version ginkgo.1 vers la derniere versionde Open edX inronwood.1 ) est tres deconseillee d’apres le site officiel de Open edX, car cela peut creer desdysfonctionnement du aux dependances. L’ideal est d’installer une derniere de Open edX sur un serveur (ubuntu server 16.04 LTS) fraıchement installe. En effet, la documentation de [AND18] a beaucoup contribuea l’installation de la plateforme Open edX sur la figure ci-dessous.

FIGURE 19: Page d’accueil de Open edX Ironwood

4.5.2 Travaux a venir sur IronwoodPlusieurs etapes sont necessaires pour que cette plateforme soit operationnelle. Pour le moment, on chercheles moyens qui permettront de :

— Migrer les cours sur la nouvelle plateforme de Open edX, car pour le moment, on est oblige de lefaire un par un. L’idee c’est d’ecrire un script qui permettra de le faire en meme temps.

— Migrer les comptes des utilisateurs de l’ancien plateforme (la version ginkgo.1) vers la nouvellenouvelle plateforme.

Page 25

Page 34: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

5 Conclusion et perspectiveLa plateforme pour l’apprentissage en ligne et l’apprentissage numerique Open edX est une alternativepour compenser la manque de place au sein des universites. Non seulement elle permet aux apprenants des’inscrire dans plusieurs modules afin d’obtenir un diplome universitaire ou suivre un module pour acquerirun certificat, mais aussi, elle donne une flexibilite en terme de temps pour ce qui sont deja dans le mondeprofessionnel ou des personnes a mobilite reduit.

Ce stage fut tres propice, car non seulement il m’a permis decouvrir plusieurs technologies informatiquesnotamment, les technologies web et administration systemes, mais aussi de comprendre ce qui se passederriere la plateforme numerique c’est-a-dire, le deroulement de la creation de cours : du captation videoqui se deroule au sein de la DUN (La Direction des Usages du Numerique) jusqu’a la mise en productionde cours a l’IIN(Institut Indianoceanique du Numerique).Il renforcait ma competence sur le framework Django par le biais du MOOC, et cela contribuait une priseen main du serveur edx-dev.Etant donne que le projet est en collaboration avec la DSI et DUN, il m’integre dans le monde professionnel.L’apprentissage en ligne ne pourra pas remplacer l’enseignement presentiel car le contact humain est aussiindispensable pour les apprenants. Mais on essaie toujours de trouver un compromis qui permettra de rap-procher la methode d’enseignement au sein des universites.

Comme perspective, on pourra integrer dans Open edX l’application GLOWBOL [fig.24]. Cette derniereest la solution de visioconference qui facilite et optimise les echanges a distance. Elle va reproduire en ligneles interactions de la vraie vie. Elle offre plusieurs avantages, tels que : Salle de classe virtuelle perenne etpersonnalisee, salle de classe privee (seules les personnes invites auront acces), acces par une simple URL,possibilites de partager tous vos contenus pedagogiques et de cours, Reagissez, chattez, prenez la paroleset la main, etc. En effet cette application pourra etre une alternative pour simuler les interactions de la vraievie au sein des universites a travers la plateforme Open edX.

Page 26

Page 35: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

A AnnexesA.1 Tableaux de bord de suivi mensuel du projetLes travaux effectues durant mon stage au sein de l’Institut Indianoceanique du Numerique peut etre classesen 5 categories bien defini :

— Etude du portail de l’Universite Numerique de la Reunion— deploiement— Participez a des reunions— Suivre un MOOC relative a mon sujet de stage— Documentation

Durant le le premier mois, on a donc effectue de recherche permettant non seulement de gerer les diplomeset mais aussi assure la commercialisation des cours. En parallele a cela, une recherche a ete aussi faite pourmettre en place une systeme d’authentification qui permettra aux etudiants de s’authentifier via leur compteuniversitaire.

Apres avoir fini les recherches, une prise en main de l’environnement edx-dev a ete indispensable c’est-a-dire comprendre l’architecture, les technologies concernes te les differents fichiers de configuration.

Apres avoir compris l’environnement, on a constate que comprendre le framework django est primordialpour entamer une deploiement d’application dans Open edX, car ce dernier est base sur le frameworkDjango.

La diagramme de Gantt ci-dessous relate les travaux effectuees et le planning du stage dans une periode de6 mois, dont la date de debut est le 14 Janvier et la date finale est le 12 Juillet.

Page vii

Page 36: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

A.1 Tableaux de bord de suivi mensuel du projet

FIGURE 20: Diagramme de GANTT

Page viii

Page 37: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

A.2 MOOC django

A.2 MOOC djangoNous avons recu un consigne de suivre au moins un MOOC durant notre stage et ce dernier doit contribuera l’aboutissement du projet que l’entreprise nous propose. De ma part, etant donner que mon sujte de stagetourne autour de la plateforme Open edX et que ce dernier utilise le framework django, c’est pourquoij’ai choisi DJANGO sur la plateforme MOOC de openclassrooms. Ce MOOC est devise en 6 parties biendistinctes

partie1 : Architecure MVT dans DjangoDjango est un framework ecrit en python. Il a ete cree en 2003 pour le journal local de Lawrence au Kansas(USA) ; en 2008, Django Software Foundation a repris le relai pour developper et promouvoir le framework.Le but principal de Django c’est de pouvoir creer facilement de sites web complexes et performants utilisantun base de donnees. Une des forces du Django est aussi son interface d’administration accessible via sonURL.Architecture du django est basee sur Modele Vue Template

— modele permet d’interagir, de creer de nouveaux items et de Chercher des items dans la base dedonnees

— vue renvoyer une reponse conforme a une requete HTTP.— template est un fichier HTML qui peut recevoir des objets Python et qui est lie a une vue.

FIGURE 21: Architecture MVT

partie2 : Ajout des informationsCette partie se focalise sur la modelisation d’une application, creation d’un modele, visualisation d’une tablePostgreSQL, ajout de modeles, ajout de liaison entre les modeles, migration, generer automatiquement unemigration, executer une migration, utilisation de la console Django et enfin l’utilisation d’une queryset dansune vue.

partie3 : ORM de Django et les gabaritsDans la partie 3 on introduit la notion de gabarit (ou template, qui est un fichier HTML qui peut interpreterdes objets Python). Concretement cette partie est dediee a :

— l’ajout des fichiers statiques (Html/CSS/Javascript)— l’organisation des gabarits ainsi que l’ajout des gabarits manquants— Configuration d’un champ de recherche et les pages d”erreurs

Page ix

Page 38: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

A.2 MOOC django

— l’affichage d’une liste de resultats sur plusieurs pages

partie4 : Traitement de donneesCette partie se concentre sur 3 axes :

— Traitement des donnees d’une requete POST— Creation d’une classe de formulaire rapidement et personnalisation des erreurs d’un formulaire— Utilisation des transactions (par defaut, ponctuellement)

partie5 : L’interface d’administration djangoDans cette partie, on aborde une des parties essentielles de Django qui est l’interface d’administration. Lesaxes explorees dans cette partie sont :

— l’ajout d’une interface d’administration, creation d’un administrateur et ajout d’un modele dansl’interface

— la determination des informations pertinentes a afficher (specifier les champs a afficher dans l’inter-face d’administration)

— Et enfin le personnalisation de l’affichage des champs( champs en lecture seule et ajout d’un Mixin)

FIGURE 22: Administration Django

partie6 : La mise en productionLa derniere partie de ce MOOC est la mise en production du projet Django. Pour que le projet soitcompletement operation, quelques tests sont donc obligatoire :

— Test du code de statut renvoye par une vue— Tests utilisant des objets dans la base de donnees— Test de la requete POST

Et si les tests effectues n’envoient aucun erreur on passe au preparation du deploiement— Preparation des fichiers statiques— Export d’une base de donnees— Import d’une base de donnees en production— Deploiement de l’application (heroku, scalaway, ovh, etc.)

Page x

Page 39: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

A.3 Les differents dossiers importants de Open edX

A.3 Les differents dossiers importants de Open edX

Repertoire Descriptions/edx/app/ fichiers de logiciels d’application pour tous les

modules edx/edx/app/edx ansible/edx ansible/playbooks/

tous les playbooks Ansible

/edx/app/edx ansible/ Est l’emplacement pour stocker server-vars.yml/edx/app/edxapp/edx-platform/themes/

C’est le dossier ou se trouve le theme de l’appli-cation.

/edx/bin/ En quelque sorte le repertoire �home� pourtous les utilitaires d’administration pip, ansibleet bash

/edx/etc/ concerne les fichiers de configuration pour tousles modules edx

/edx/var/ Contient tout les fichiers app, logs, journaux, etc

TABLE 2: Les dossiers importants de Open edX

Page xi

Page 40: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

A.4 Organigramme de l’IIN

A.4 Organigramme de l’IIN

FIGURE 23: Organigramme de l’IIN

Page xii

Page 41: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

A.5 La solution de visioconference GLOWBL

A.5 La solution de visioconference GLOWBL

FIGURE 24: La solution de visioconference GLOWBL

Page xiii

Page 42: Contribution a l’` elaboration de la´ plateforme de formation et au …lim.univ-reunion.fr › staff › fred › M2info › 18-19 › Stages › ... · 2019-06-12 · UNIVERSITE

REFERENCES

References[AND18] Tiavina ANDRIANASOLO. Contribution a l’elaboration de la plateforme de formation de

l’Universite Numerique de La Reunion. 2018. http://lim.univ-reunion.fr/staff/fred/M2info/17-18/Stages/Rapports/ANDRIANASOLO.pdf.

[osc] https://django-oscar.readthedocs.io/en/releases-1.6/.

[RAB17] Fanjanirina RABETSIVALAKA. Valorisation virale d’une ressource pedagogique dansl’espace numerique. 2017. http://lim.univ-reunion.fr/staff/fred/M2info/16-17/Stages/Rapports/Fanjanirina%20Rabetsivalaka_88595_assignsubmission_file_RapportFinal_Fanjanirina.pdf.

[refa] https://openedx.atlassian.net/wiki/spaces/OpenOPS/pages/22316345/Notifier+Context.

[refb] https://www.appsembler.com/blog/technical-daily-discussion-forum-digests-open-edx/.

[ric] https://github.com/openfun/richie.

Page xiv