Conception et implémentation d'un site web de publication des résultats des étudiants dans une institution universitaire (cas de l'université de Kamina)par Charles BWANGA KATEBA Université de Kamina - Licence 2021 |
B. LANGAGE DE PROGRAMMATIONPour pouvoir développer des logiciels de qualité, vous avez besoin d'acquérir des connaissances et des compétences dans des domaines autres que les technologies de programmation, notamment le processus d'ingénierie, la méthodologie de développement, les exigences, la modélisation, la conception, le test, la gestion de projets, etc. Un langage de programmation est comme un langage humain. Il y a un ensemble de lettres avec lesquelles on forme des mots. Les mots forment des phrases, les phrases des paragraphes, ceux-ci forment des chapitres qui se rassemblent et qui donnent naissance à un livre. C'est aussi un ensemble de signes et de conventions afin de permettre à la machine (ordinateur) de comprendre ce que l'homme veut donner comme ordre à exécuter.39 38 C.T. Elie Louis KABWE KIONDE KABUTA, Cours d'Introduction aux Bases de Données, G2 INFO, UNIKAM, 2017-2018, p.6. 39 Dr. Daily KALOMBO NSHIMBA VIDJE, Cours de Langage de Programmation Orienté Objet, G3 Informatique, UNIKAM, 2018-2019, Dispensé par Ass. Prince KABONGO. 29 Par-là, pour réaliser des actions que l'ordinateur doit exécuter, il existe plusieurs langages de programmations tels que : l'assembleur (ASM), le Cobol, le BASIC, le JAVA, le C/C++/C#, le Pascal, le Visual Basic, le Delphi, les langages du web (HTML, CSS, Java Script, PHP, SQL), le flash. Le développement des logiciels consiste à étudier, concevoir, construire, transformer, mettre au point, maintenir et améliorer des logiciels. Un logiciel est créé petit à petit par une équipe d'ingénieurs conformément à un cahier des charges établi par un client demandeur ou une équipe interne. Le logiciel est décomposé en différents modules et un chef de projet, ou architecte, se charge de la cohérence de l'ensemble. Quelles plateformes de développement web choisir ?40 Les façons de développer en web sont aussi variées que complexes, mais toutes ont un seul but, générer une page de code HTML liée à une feuille de style CSS et à un fichier Javascript. Chaque technique possède ses avantages et inconvénients. Chaque développeur trouvera la solution qui lui conviendra le mieux. Voici comment s'y retrouver : ? Langages côté serveur Afin de comprendre comment les plateformes web fonctionnent, il faut comprendre les langages de programmation installé sur le serveur tel que PHP, ASP et JSP. Ceux-ci permettent de créer des applications web dynamiques en insérant des variables dans une page HTML. L'ASP, avec sa licence Microsoft, est largement répandu car il permet de programmer des applications complexes et il est inclus dans presque toutes les versions de Windows. Son principal compétiteur est PHP. Gratuit et très performant, il est simple d'utilisation et les tutoriels abondent pour en comprendre les rouages. Finalement, JSP, développé par SUN Microsystem permet d'insérer du code Java dans des pages HTML afin de rendre l'application dynamique. Gratuit également, il est très performant mais assez complexe. ? Plateformes de développement Une plateforme de développement a pour but de faciliter la tâche des développeurs en fournissant une librairie de fonctions pouvant être exécutées à l'aide de variables à l'intérieur de pages HTML. ASP .NET est la plateforme web principale fonctionnant à l'aide d'un serveur 40 https://exob2b.com/plateformes-developpement-web/ consulté le 24/03/2021 à 23:03. 30 programmé en ASP. Cette plateforme permet une interopérabilité de tous les langages de programmation développés par Microsoft. Parce qu'elles sont gratuites, les plateformes de développement en PHP abondent. Codeignitor, Symfony ou Cake PHP sont les plus populaires. Flexibles et simples d'utilisation, les plateformes PHP sont une bonne option pour développer des applications web complètes et efficaces. Même principe sous JSP, où on retrouve plusieurs plateformes tel que Java SE ou AppFuse. Les plateformes de développement, quel que soit le langage, ont de nombreux atouts et facilitent la vie des développeurs. Toutefois, le temps de développement nécessaire au déploiement de l'application sera directement proportionnel à la quantité de fonctions à programmer car ceux-ci n'offrent qu'une boîte à outil pour programmer. Cette solution sera donc développée exactement selon les besoins de client. Il y a de nombreuses solutions, et il y en aura forcément une adaptée à vos besoins. Un facteur commun demeure, le temps. Et celui-ci influencera toujours votre décision ! 31 CONCLUSION PARTIELLE La seule contrainte morale que la théorie impose dès lors au modélisateur est celle d'une vérification a priori : a-t-il explicité les quelques axiomes sur lesquels il va, progressivement, appuyer ses inférences et graver son dessin ? Mais il doit choisir, librement, cette axiomatique, d'où la nécessité de tout ce qu'on a dit dans le premier chapitre (définir les concepts clés constituant le thème, définir les concepts de la technologie du web (site web, www, URL, port, etc.), quelques théories sur le développement logiciel, la présentation d'UP, 2TUP, UML enfin la théorie sur l'implémentation et la programmation). 32 CHAPITRE DEUXIEME : ETUDE PRELIMINAIRE ET CAPTURE
DES
L'étude préliminaire (ou préétude) est la toute première étape de notre processus de développement. Elle consiste à effectuer un premier repérage des besoins fonctionnels et opérationnels, en utilisant principalement le texte, ou des diagrammes très simples. Elle prépare les activités plus formelles de capture des besoins fonctionnels et de capture des besoins techniques.41 A ce niveau, nous allons présenter le sujet de l'étude de cas l'UNIKAM, et commencer la modélisation de son contexte.
41 Pascal Roques et Franck Vallée, op.cit., p.45 33 II.2.1. PRESENTATION DU PROJET L'Université de Kamina est un établissement public possédant en son sein plus ou moins 3000 étudiants. Du point de vue de l'organisation des examens : l'année académique se divise en deux semestres de 15 semaines chacun. Cette répartition permet une gestion rationnelle du temps des enseignements, des évaluations et est susceptible les chances de réussite des étudiants. Nous souhaitons doter à cet établissement un système informatique (site web) performant afin de permettre la gestion de : - Gestion des paiements des étudiants, qui va faciliter la caisse d'effectuer différents rapports et des opérations sur les paiements ; - Contact des internautes ; - Synchronisation des données sur une même grille des cotes ; - Comptes des étudiants ; - Recours des étudiants ; - Les archives du jury pour chaque édition ; - Publication des résultats des étudiants. Parmi ces différentes tâches, nous relèverons l'enregistrement des informations relatives aux étudiants et enseignants, Grilles de côtes, lesquelles informations relèvent d'un processus à trois ordres : la consultation et la publication des résultats ainsi que la gestion des dossiers en termes des relevés des cotes des étudiants. Comme tout projet qui doit avoir une durée de vie de l'élaboration, notre projet s'étend de Mars en Septembre 2021. II.2.2. RECUEIL DES BESOINS FONCTIONNELS En premier lieu, les besoins exprimés par les personnels administratifs du décanat de la faculté des sciences informatiques a permis afin qu'on établisse le cahier de charges. Cette phase correspond à une recherche sur le terrain pour bien définir le cadre de notre système afin de satisfaire les besoins des utilisateurs. Elle permet d'obtenir un chiffrage au plus juste des devis lors d'un appel d'offre. Ce volet du cahier des charges décrit le périmètre couvert par le logiciel, c'est-à-dire les fonctions de l'entreprise impactées : saisie des épreuves, encodage des côtes, publication des résultats, etc. Elle décrit ensuite les fonctionnalités recherchées dans l'acquisition de l'outil informatique. 34 ? Inventaire des fonctions Une première phase consiste à lister l'ensemble des fonctions que l'outil doit couvrir. En fonction du budget, les applications identifiées ne pourront pas forcément couvrir l'ensemble des fonctionnalités souhaitées. Il faut donc hiérarchiser et prioriser les fonctions estimées nécessaires que voici :
Tableau 2-1: Inventaire des fonctions 35 II.2.3. CHOIX TECHNIQUES Afin de maîtriser les risques, nous souhaitons utiliser une approche itérative et incrémentale, fondée sur le processus en Y. Le choix d'un certain nombre de techniques clés pour ce projet stratégique sont principalement :
II.2.4. RECUEIL DES BESOINS OPERATIONNELS ? SECURITE
? CARACTERISTIQUES DES UTILISATEURS La plupart des utilisateurs (internautes et administrateurs) sont des utilisateurs lambda pas forcément aguerris à l'outil informatique, donc le site web se devait d'être le plus simple possible (très intuitif) et bien documenté (pas en langage de technicien). ? SAUVEGARDE DES DONNEES Un plan de sauvegarde régulière des données sera mis en place, dans une deuxième phase d'évolution du produit, en cas de dysfonctionnement du serveur ou de destruction malveillante. Ce mécanisme pourra prendre plusieurs formes : une sauvegarde automatique sur le serveur à la déconnexion de l'administrateur, une sauvegarde automatique en local à l'ouverture de la partie administration et une sauvegarde manuelle dans le répertoire de son choix en cliquant simplement sur un bouton. Il faudra prévoir un bouton pour la restauration d'une sauvegarde. ? CONFIDENTIALITE Le projet n'était pas classé « confidentiel » ou « secret défense » néanmoins les informations concernant l'institution ne devaient pas être communiquées à tierces personnes notamment les rapports de paiement, les grilles de côtes et de délibération pratiqués à l'Université et le fichier étudiants. Une fois ce premier recueil de besoins effectué, la description du contexte du système peut commencer. Elle consiste en trois activités successives : - l'identification des acteurs, - l'identification des messages, - la réalisation des diagrammes de contexte. 37 II.2.5. IDENTIFICATION DES ACTEURS Un acteur représente une entité appartenant à l'environnement de l'application qui interagit avec l'application. Le concept d'acteur permet de classifier les entités externes à l'application. Un acteur est identifié par un nom.42 Un acteur est la Construction qui représente un rôle joué par un utilisateur humain ou un autre système qui interagit directement avec le système étudié. Un acteur participe à au moins un cas d'utilisation.43 Les acteurs suivants sont ceux qui interagissent avec le système informatique à développer : ? L'étudiant : C'est un acteur principal et déclencheur de l'application qui possède un espace d'authentification (un login et un mot de passe) pour pouvoir consulter ses résultats, introduire le recours, etc. ? Le Webmaster : a pour rôle de gérer : les comptes des utilisateurs, les vulnérabilités, les questionnaires, les recommandations et afficher l'historique des vulnérabilités. Il accède par l'intermédiaire d'un login et un mot de passe. ? La caissière : ajoute le paiement de l'étudiant, établit les listes définitives des étudiants en ordres avec les frais, et produit différents rapports de leurs paiements. ? Le secrétaire du jury : il a la gestion des résultats dans ses attributions (saisir, modifier, supprimer) et produit la statistique de la promotion où il est affecté, il a les tâches de publication. ? Le secrétaire Général Académique : il consulte différents rapports et statistiques sur les résultats des étudiants des différents jurys (validation des résultats), gérer les secrétaires des différents jurys (affectation, mis à jour et suppression de celle-ci). |
|