WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

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
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

B. LANGAGE DE PROGRAMMATION

Pour 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
BESOINS FONCTIONNELS

II.1. INTRODUCTION

À ce niveau, nous allons entamer les premières étapes de la méthode 2TUP : Pour l'Etude Préliminaire, nous allons présenter le projet, recueillir les besoins fonctionnels, recueillir les besoins opérationnels, faire le choix technique, identifier les acteurs, identifier les messages enfin faire la modélisation du contexte. Pour la Capture des besoins fonctionnels, nous allons déterminer les cas d'utilisation, faire la description préliminaire des cas d'utilisation, faire la description détaillée des cas d'utilisation, faire la structuration des cas d'utilisation dans des packages, enfin identifier les classes candidates.

II.2. ETUDE PRELIMINAIRE

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.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Figure 2-1: Situation de l'étude préliminaire dans 2TUP

 

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 :

Nom de la fonction

Description de la fonction

Saisie des examens

Le secrétaire devra saisir les examens des étudiants avant la session.

Encodage des cotes

Le secrétaire devra encoder les cotes d'une promotion où il est affecté.

Synchronisation des données

Le Webmaster devra donner à tout secrétaire un lien où ce dernier n'aura accès à la saisie que dans la promotion où il est affecté.

Conversion de la grille de

délibération

Le jury devra télécharger le fichier sous format googlesheet et le convertir sous format PDF.

Inscription

Possibilité de s'inscrire, apporter des informations sur la fiche d'étudiant.

Recherche par mot clé

Recherche des résultats dans la base par mot clé.

Recherche par nom

Recherche des résultats par nom de l'étudiant.

Recherche par promotion

Recherche par promotion dans une année académique.

Affichage d'une liste de réponse après une recherche

Pouvoir voir la fiche à partir de cette liste de réponse.

Affichage d'une fiche

Voir la fiche.

Impression de la fiche

Imprimer la fiche

Prendre contact avec

l'enseignant

Possibilité de prendre contact avec l'enseignant à partir d'un formulaire.

Destruction de la fiche

L'administrateur pourra détruire une fiche.

Publication des résultats

Le secrétaire du jury pourra publier les résultats des étudiants en ordre.

Production du rapport des

différents paiements des
étudiants

La caisse devra produire le rapport des différents paiements des étudiants et cela par faculté, par promotion, par date paiement, de toute l'université.

Impression des listes définitives

De par différents rapports, la caisse devra imprimer les listes

des paiements des étudiants et cela par faculté, par promotion, par date paiement, de toute l'université.

...

...

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 :

§ La modélisation objet avec UML ;

§ Avoir une base de données relationnelle unique partagée implémentée en MySQL pour le stockage de toutes les informations en rapport avec la publication des résultats des étudiants afin de permettre une manipulation et une mise à jour aisée de ladite base de données pour toutes les opérations effectuées ;

§ L'application devra fonctionner en mode 2 - tiers (client/serveur) ;

§ L'application doit être développée en utilisant les Framework CSS Boostrap et Bulma dans leurs dernières versions utilisant PHP 8.0.2 comme langage de programmation web ;

§ L'application doit respecter l'architecture MVC (Modèle-Vues-Contrôleur) ;

§ Le déploiement en client léger pour les fonctions les plus répandues ;

§ L'application doit être responsive c'est-à-dire l'affichage des interfaces devra s'adapter à chaque type d'écran sur lequel l'utilisateur consiste les informations de notre plateforme.

II.2.4. RECUEIL DES BESOINS OPERATIONNELS ? SECURITE

· Chaque utilisateur doit posséder un nom d'utilisateur et un mot de passe unique pour lui permettre d'accéder au site web ;

· Lors de sa connexion, chaque secrétaire doit être reconnu du système par un nom, un mot de passe et la fonction qu'il occupe (dans la promotion) ;

· Un client connecté via Internet doit également être identifié par un mot de passe et n'accéder qu'aux informations d'en-cours des résultats ou de recours qui le concernent ;

· Un administrateur système est chargé de définir les profils des utilisateurs ;

· L'application doit permettre de gérer les accès des utilisateurs selon un privilège et un état d'activation de chaque compte ;

· Il faut garantir la sécurité d'accès à l'espace administrateur pour protéger les données personnelles des utilisateurs ;

36

· Prévenir contre l'accès direct avec les liens URL et définir un délai de temps pour la fermeture de session non activé ;

· L'interface de ce site web doit être ergonomique, conviviale et même apte à aider l'utilisateur à mieux gérer son espace de travail.

? 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).

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Aux âmes bien nées, la valeur n'attend point le nombre des années"   Corneille