Système de gestion de versions

Système de gestion de versions

Analyse des besoins

Afin d’accomplir les objectifs visés dans ce mémoire, une méthode de gestion de développement de projet a été instauré. La méthode s’inspire des méthodes agiles et Scrum. Elle permet d’avoir des objectifs précis et motivants. Elle offre aussi une visibilité, adaptation et inspection des objectifs. Comme pour Scrum, la méthode appliquée utilise une approche itérative permettant de découper le développement en plusieurs itérations appelées Sprint. Chaque Sprint est utilisé pour réaliser un objectif. Un Sprint est constitué notamment d’une planification (Sprint Planning), des activités de développement, des mêlées quotidiennes (Daily Scrum) et de la rétrospective du Sprint (Sprint Rétrospective) [8]. Au début de chaque Sprint, l’équipe choisit un objectif. Cet objectif est définit par un ensemble de tâches, aussi appelé Backlog. Il est créé lors de la réunion de planification du Sprint. S’ensuit alors une mêlée. Contrairement à Scrum, les mêlées ne sont pas quotidiennes et se font tous les trois jours. Une mêlée est un événement au cours duquel l’équipe se réunit, synchronise ses activités et crée un plan pour les prochaines 72 heures. C’est en inspectant le travail effectué depuis la dernière mêlée que l’équipe décrit les prochaines fonctionnalités à réaliser. Dans ce projet, les réunions sont faites par visioconférence grâce au logiciel Skype. A la fin de chaque Sprint, une revue et rétrospective de Sprint est tenue sous forme de réunion. Elle a pour but d’inspecter le travail fait, et d’améliorer et optimiser le déroulement des prochains Sprints.

Contraintes et choix technologique

WordPress est système de gestion de contenu écrit en PHP et reposant sur une base de données MySQL. Il est possible de modifier et d’ajouter des fonctionnalités à travers des extensions. Les extensions sont des modules tierces qui se greffe sur le système WordPress et apporte des améliorations diverses et variées, selon le but de l’extension. Elles permettent aux utilisateurs d’ajouter des fonctionnalités sans passer par un développeur. Techniquement, c’est un programme écrit en PHP qui permet d’ajouter des fonctionnalités et services à un site WordPress et d’être intégré de façon transparente en utilisant des points d’accès et des fonctions fournis par l’interface de programmation applicative (ou API en anglais pour Application Programming Interface). StudyPress est une extension WordPress qui permet de créer et gérer des formations.

En d’autres termes, StudyPress est un système de gestion de cours mais aussi un outil auteur. Il permet aux apprenants d’accéder à des cours mis à disposition par les enseignants. Il est possible aussi aux enseignants de créer du contenu e-learning sans avoir des compétences informatiques. L’extension utilise la base de donnée MySQL, utilisée par WordPress, pour stoker les données relatives aux cours et aux leçons [9]. Comme le système à développer, StudyPress SBL, est une extension au système StudyPress, il y a certaines contraintes auxquelles le composant doit évoluer. Le composant utilise PHP comme langage de programmation dans le développement de l’extension, mais aussi, HTML, CSS, JavaScript pour la partie concernant l’interface utilisateur. PHP (PHP Hypertext Preprocessor) est un langage de programmation utilisé pour la produire des pages web dynamiques. Il est exécuté sur un serveur web. Il existe différentes versions pour le langage. Le code écrit dans ce projet nécessite PHP 5.4 ou une version ultérieure. HTML (Hypertext Markup Langage) est langage de balisage qui permet d’écrire des documents hypertexte qui représente les pages web. Il permet de mettre en forme le contenu des pages web, des formulaires de saisie, d’inclure des images, du son, etc. Il est utilisé conjointement dans ce projet avec le langage de programmation JavaScript pour l’interactivité et des feuilles de style en cascade, CSS (Cascading Style Sheet), pour la mise en page du contenu. Pour une meilleure expérience utilisateur, le projet nécessite un navigateur web compatible les standards HTML 5, CSS 3 et ES 5 (ECMAScript 5 pour le langage JavaScript).

Choix technologique

Pour une meilleure gestion de développement et une facilité pour la programmation, des outils et technologies sont choisis. Ils permettent de créer les fondations ainsi que les grandes lignes du composant à développer, facilitant ainsi la modélisation de l’architecture. Herbert Quand il s’agit de la création d’un plugin WordPress, les développeurs sont libres de comment structurer leur code et organiser leurs fichiers. Pour un petit projet cela peut se voir comme un avantage, mais une fois le projet grandi, le développement devient difficile et peu flexible. Chaque année Stack Overflow publie son enquête sur les plateformes les plus redouté par les développeurs. En 2016, WordPress a été classé 2ème comme étant la plateforme la plus crainte des développeurs [10]. En janvier 2015, Jason ANGNEW, le directeur technique de Big Bit Creative, l’un des douze partenaires WordPress, a annoncé Herbert. Herbert5 est un framework permettant de développer des extensions WordPress. Il est basé sur le pattern Modèle-Vue-Contrôleur (MVC), ce qui offre une meilleure flexibilité et maintenabilité des plugins. Herbert fournit des fonctionnalités comme le routage des requêtes, le mapping objet-relationnel, un système de migration de base de données, etc. Ces fonctionnalités sont disponibles grâce à des bibliothèques se trouvant dans d’autres framework. Par exemple, pour le mapping objet-relationnel et l’abstraction des données, Herbert utilise Eloquent qui est une bibliothèque du framework Laravel6. Aussi, pour la séparation entre la vue et les contrôleurs, le framework utilise Twig qui est une bibliothèque de Symfony7 comme moteur de templates.

Conclusion et perspective

Ce travail a permis d’ajouter le support des scénarios dans l’extension StudyPress. La navigation dans l’outil de création est intuitive. Il est même possible de créer des scénarios relativement complexes. L’auteur du scénario n’a pas à se soucier des détails comme l’interface du scénario, l’ergonomie, etc., ce qui lui permet ainsi de se concentrer sur le contenu et ainsi laisser l’extension gérer les détails. Le code écrit a lui aussi été travaillé et est organisé dans 128 fichiers dont près de 5300 lignes de code. Différentes approches et méthodes de développement ont permis d’ajouter de nouvelles fonctionnalités à l’extension StudyPress tout en adoptant différentes pratiques. Cependant, l’intégration du composant développé a été complexe. En effet, Les technologies et framework utilisés ne sont pas forcément adaptés pour le développement d’une extension WordPress. Certains bugs ont surgis pendant le développement, notamment avec le framework Herbert. Il est à noter que 4 bugs rencontrés sont corrigés et leurs correctifs ont été publiés sur le dépôt officiel du framework. Enfin, toutes les approches et outils utilisés citées précédemment (Scrum, BDD, Git, etc.) ont pour but d’améliorer le processus de développement mais aussi à éviter les bugs que peut rencontrer l’utilisateur. Ainsi, le développement est sûr. Malgré le temps de s’adapter au maniement de certains outils, le projet StudyPress SBL a atteint ses objectifs

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport gratuit propose le téléchargement des modèles gratuits de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Remerciements
Dédicace
Liste des figures
Liste des Tableaux
I- Introduction générale
I-1 Contexte
I-2 Apprentissage par les scénarios
a- Définitionb-
Etude d’outils pour la création de scénarios d’apprentissage
II- Analyse des besoins
II-1 Méthodologie
II-2 Etude des besoins
a- Introduction
b- Approche
c- Exigences fonctionnelles
d- Exigences non fonctionnelles
II-3 Contraintes et choix technologique
a- Contraintes
b- Choix technologique
III- Architecture logicielle
III-1 Architecture globale
III-2 Architecture détaillée
a- studypress-sbl
b- sbl-creator
c- sbl-player
IV- Réalisation
IV-1 Démarche suivie
a- Système de gestion de versions
b- Environnement de développement
c- Tests
IV-2 Résultats
a- Back office
b- Front office
V- Conclusion et perspective
V-1 Conclusion
V-2 Amélioration future
a- Fonctionnalités
b- Processus de développement
Bibliographie
Glossaire

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *