Développement d'une application web de gestion des activités académiques de l'U.ACpar Moïse KAMBALE KASAMBYA Université de l'Assomption au Congo (U.A.C) - Bachelor 2020 |
ConclusionCe chapitre nous a permis de faire l'analyse et la conception de notre système futur. Nous sommes partis de l'étude préliminaire qui nous a aidé à poser les bases sur la capture des besoins de la solution que nous avons à réaliser. Dans ce point, nous avons présenté le cahier des charges, identifié les acteurs qui interagissent avec le système et énuméré les différents cas d'utilisation. Après cette étude, nous avons focalisé notre attention sur l'analyse et la modélisation du système futur. En effet, l'analyse sert à modéliser la compréhension du problème posé par le client. La modélisation, quant à elle, nous permet de mieux comprendre le fonctionnement du système. A ce sujet, nous nous sommes servis du langage de modélisation unifié, UML. Enfin, nous sommes passés à l'étape de la conception qui consiste à modéliser une solution qui résout le problème modélisé dans la phase de l'analyse. Ce qui nous conduit à l'implémentation et au test du système au chapitre suivant. 51 La figure 23 représente le déploiement d'un serveur Web avec lequel deux machines clientes, dotées des navigateurs Web, communiquent. Le serveur, qui est connecté à une base de données installée sur machine tierce, exécute l'artefact siteWEB. En fait, ce sont les parties d'un système qui s'exécutent sur un noeud qu'on appelle artefact (voir CHARROUX Benoît et alii, UML2. Pratique de la modélisation, Coll. « Synthex », 2e édition, Paris, éd. Pearson Education, 2009, p.240) . Troisième chapitre : IMPLÉMENTATION ET TEST DU SYSTÈME III.0 Introduction Après avoir réalisé l'étude préliminaire, l'analyse et la conception de notre système futur dans le deuxième chapitre, dans ce dernier, il est question de faire l'implémentation et le test de notre système. Nous allons tout d'abord parler du choix du langage de programmation, ensuite, présenter quelques interfaces graphiques de notre système et donner quelques codes. III.1 Choix du langage de programmation Dès l'élaboration de notre cahier des charges, nous avons signifié que notre choix pour le langage de programmation, c'est le PHP et MySQL comme notre SGBD. En effet, PHP est un langage de script côté serveur qui a été conçu spécifiquement pour le Web. Le Code PHP est inclus dans une page HTML52. Pour ce faire, nous avons usé de HTML5, du CSS3 et du framework bootstrap53. PHP est un projet open-source, ce qui signifie qu'on peut se procurer son code, l'utiliser, le modifier et la redistribuer gratuitement. PHP signifiait à l'origine Personal Home Page, mais ce nom a été changé en acronyme, il signifie maintenant PHP Hypertext Preprocessor. MySQL, quant à lui, est un système de gestion des bases de données relationnelles (SGBDR) robuste et rapide. Il est aussi open-source. MySQL est un serveur de bases de données relationnelles. Une base de données, nous l'avons-dit, permet de manipuler les informations de manière efficace, de les enregistrer, de les trier, de les lire et d'y effectuer des recherches. Le serveur MySQL contrôle l'accès aux données pour assurer que plusieurs utilisateurs peuvent se servir simultanément d'une même base de données. MySQL est un serveur « multi-utilisateur » et « multithread ». Il utilise SQL (Structured Query Language ou 52 HTML est le langage unificateur de World Wide Web. Comme le Web lui-même, l'HyperText Markup Language est une invention personnelle de Sir Tim Berners-Lee (voir Jeremy KEITH, HTML5 Pour les Web designers, Paris, Eyrolles, 2010). 53 Bootstrap est un framework HTML, CSS et JavaScript, c'est-à-dire une structure qui contient de nombreux composants prêts à l'emploi. Bootstrap permet de développer plus rapidement et plus simplement car il est compatible avec tous les navigateurs. Mais ce qui fait de Bootstrap une véritable star, c'est sa popularité pour développer responsive. Un framework, issu de l'anglais, signifie littérallement « structure ». Il est un ensemble de composants structurés qui sert à créer les fondations et à organiser le code informatique pour faciliter le travail des programmeurs, que ce soit en termes de productivité ou de simplification de la maintenance. Il en existe beaucoup pour les applications web qui ciblent de nombreux langages : Java, Python, Ruby, PHP. . . Il existe des frameworks côté serveur (désignés backend en anglais), et d'autres côté client (désignés frontend en anglais). Bootstrap fait partie de cette deuxième catégorie (voir Maurice CHAVELLI, Prenez en main Bootstrap, OpenClassrooms, 2014). 41 mieux, Langage d'interrogation structuré), le langage standard des requêtes de bases de données54. Il sied de noter que SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables dans une base de données relationnelle, ainsi que d'en modifier ou en supprimer ; un langage de manipulation de données (LMD), cela signifie qu'il permet de sélectionner, insérer, modifier ou supprimer des données dans une table d'une base de données relationnelle ; un langage d'interrogation des données (LID) : c'est-à-dire qu'il permet la sélection (recherche) de l'information et la mise en oeuvre du langage relationnel et un langage de protections d'accès ou mieux un langage de contrôle des données (DCL) : Il est possible avec SQL de définir des permissions au niveau des utilisateurs d'une base de données. On parle de DCL (Data Control Language). Le langage SQL (Structured Query Language) est un langage de requête utilisé pour interroger des bases de données exploitant le modèle relationnel55. Pourquoi avons-nous choisi PHP et MySQL ? Il sied de noter que lors de l'implémentation d'un site Web ou d'une application Web, le programmeur a le choix entre les nombreux produits : la plate-forme matérielle du serveur Web ; un système d'exploitation ; un logiciel de serveur web ; un système de gestion de base de données ; un langage de programmation ou de script. Certains de ces choix dépendent directement des autres. Tous les systèmes d'exploitation ne fonctionnent pas sur toutes les plates-formes. Par ailleurs, l'une des caractéristiques intéressantes de PHP et de MySQL tient à ce qu'ils fonctionnent avec tous les systèmes d'exploitation les plus connus et avec la plupart des autres. C'est cette caractéristique avec beaucoup d'autres avantages de PHP comme sa performance, son adaptabilité, son faible coût, sa simplicité d'utilisation et d'apprentissage, sa souplesse dans le processus de développement, etc. qui nous a motivé à choisir PHP comme notre langage de programmation. MySQL et PHP sont fréquemment utilisés conjointement. On les appelle parfois le duo dynamique. MySQL assure la gestion de la base de données et PHP le langage de programmation dans lequel sont écrites les applications de bases de données sur le Web. Pour réaliser les interfaces de notre application, nous nous sommes servis des classes de Bootstrap dans lesquelles nous avons inclus les codes PHP. 54 Cf. Luke WELLING et Laura THONSON, PHP & MySQL, 4e édition, Paris, Pearson Education, 2009, pp.1-5. 55 S. NAMECHE, Support de cours : Introduction à SQL et MySQL, 2003 in http://sebastien.nameche.fr/cours, C. SOUTOU, Apprendre SQL avec MySQL. Avec 40 exercices corrigés, Paris, éd. Eyrolles, 2006, p.2. 42 III.2 Présentation des quelques interfaces graphiques La conception des interfaces de l'application est une étape très importante. Toutes les interactions avec le coeur de l'application passent à travers ces interfaces. On doit alors guider l'utilisateur avec les messages d'erreurs et de notification si besoin. Dans cette partie, nous allons présenter quelques interfaces de l'application, répondant aux recommandations ergonomiques de compatibilité, de guidage, de clarté, d'homogénéité et de souplesse. III.2.1 Interface d'authentification Nous avons opté de créer une page d'authentification pour l'appariteur, les enseignants et les étudiants. Cette page permet à ces utilisateurs de s'identifier par leur nom pour l'appariteur, leur numéro matricule pour les enseignants et les étudiants ; leurs mots de passe, ainsi qu'un champ de leur statut, voir figure 24. Figure 24 : Interface d'authentification Si les coordonnées de l'utilisateur sont erronées, le système affiche un message d'erreur et l'invite à ressaisir ses coordonnées. Sinon l'utilisateur est redirigé vers sa page d'accueil, dans lequel on trouve les différents menus selon le statut de chacun (voir figures 25 pour l'appariteur, 26 pour l'enseignant et 27 pour l'étudiant). 43 Figure 25 : Page d'accueil de l'appariteur Figure 26 : Page d'accueil enseignant Figure 27 : Page d'accueil étudiant 44 III.2.2 Interface inscription et gestion des réinscriptions L'interface inscription et gestion des réinscriptions permet à l'appariteur d'accéder à la liste des étudiants inscrits et de faire la réinscription dans la promotion supérieure. À partir de cette interface, on peut imprimer des listes des inscrits par promotion en cliquant sur le bouton imprimer. Il suffit de faire une recherche par promotion pour avoir la liste des étudiants qui y sont inscrits. Si l'on veut connaître les étudiants inscrits au courant d'une année, il est question de faire une recherche par année. La figure 28 illustre cette interface : Figure 28 : Interface inscription et gestion de réinscription III.2.3 Interface attribution des cours L'interface attribution des cours permet à l'appariteur d'attribuer les cours aux enseignants. Il s'agit de choisir le semestre, le code du cours, le numéro de l'enseignant, de donner un mot de passe au cours concerné et de choisir l'année académique puis enregistrer (voir figure 29). S'il faut modifier une attribution, il suffit de cliquer sur le bouton gestion des attributions puis choisir modifier. 45 Figure 29 : Interface attribution aux cours III.2.4 Interface affectation aux cours Cette interface permet à l'appariteur d'affecter les étudiants aux cours. Il suffit d'une recherche par code cours, le système affiche l'intitulé du cours et la filière puis un clic sur la filière pour afficher le code de la promotion, choix de l'année académique, clic sur le bouton recherche, le système affiche tous les étudiants inscrits dans la promotion concernée par ce cours enfin clic sur le bouton affecter. L'affectation peut être supprimée en cliquant sur supprimer (cf. figure 30). 46 Figure 30 : Interface affectation aux cours III.2.5 Interface évaluation Cette interface permet à l'enseignant d'évaluer l'étudiant qui a suivi le cours et qui a participé aux différents tests d'évaluation (interrogation, travail pratique, etc.). Il sied de souligner que tous les cours sont cotés sur vingt (20) points. La cote pondérée sera obtenue en multipliant le crédit du cours par la cote obtenue sur vingt (20) (voir figures 31). En s'authentifiant au système à partir de son matricule et son mot de passe attribué au cours, l'interface évaluation présente directement la liste des étudiants à évaluer. Il suffit de cliquer sur le bouton évaluer pour avoir la zone de texte où saisir la cote obtenue puis enregistré. S'il faut modifier la cote, il suffit de cliquer sur le bouton gestion des évaluations puis modifier. 47 Figure 31 : Interface évaluation III.2.6 Interface cotes par semestre L'interface cotes par semestre permet à l'étudiant à consulter ses résultats après un semestre. Il lui suffit de saisir sa matricule, son mot de passe et choisir son statut d'étudiant au niveau de l'interface d'authentification (figure 24). Une fois sur sa page d'accueil, il choisit cote semestre. A ce niveau, il choisit l'année académique, le semestre puis il clique sur le bouton recherche et le système affiche le résultat de ce semestre. La figure ci-dessous illustre cette interface : 48 Figure 32 : Interface cotes par semestre III.2.7 Interface relevé L'interface relevée génère automatiquement les relevés des cotes des étudiants. C'est-à-dire que lorsque l'enseignant évalue le cours, le relevé se complète automatiquement. Ce relevé est imprimable en cliquant sur le bouton imprimé. Figure 33 : Grille de délibération 49 Figure 34 : Exemple d'un relevé des cotes III.3 Quelques codes Après cette brève présentation de quelques interfaces graphiques de notre système, nous allons présenter, dans ce point, quelques codes sources. III.3.1 Codes du login 50 51 III.3.2 Codes de la page index 52 |
|