Télécharger le fichier pdf d’un mémoire de fin d’études
Analyse et conception de la solution
Ce chapitre est consacré à la description des étapes suivies durant le développement de notre application. Pour cela, nous allons tout d’abord présenter la problématique puis identifier les différentes entités ou biens acteurs qui interagissent avec le système, suivi de la présentation des diagrammes de cas d’utilisation, d’activités, de séquences et de classe.
Analyse :
Identification des acteurs
L’agent de l’UCAD qui est un PER ou un PATS a la possibilité de faire une demande d’imputation budgétaire, de duplicata de bulletin de salaire, de congé et d’attestation de travail, de suivre ses demandes et de finalement télécharger les imputations attribué dans le mois.
L’administrateur GRH qui est un agent des ressources humaines et a la possibilité de lister les demandes de congés, de duplicata de bulletin de salaire et de certificat de travail en attente de traitement.
Le Super-Admin enregistre et met à jour la liste des structures st services sanitaires agréé par la polyclinique.
Identification des besoins fonctionnels
Il Permet aussi à l’administrateur de la polyclinique de l’UCAD de vérifier les différentes demandes d’imputations et d’en donner une suite favorable sinon notifier à l’agent les motifs du rejet le cas échéant.
Une fois l’imputation attribué il sera disponible en téléchargement en format PDF durant le mois courant.
Module Congé :
C’est le module qui la gère de manière automatisée les demandes de congés. En effet, il permet à l’agent de l’UCAD de faire une demande de ses congés ainsi que lui permettre de faire un suivi de sa demande.
Il permet aussi aux administrateurs de la GRH de vérifier les différentes demandes effectuées de d’en donner une suite favorable sinon notifier à l’agent les motifs du rejet le cas échéant.
Module Attestation d’emploi :
C’est le module qui la gère les demandes d’attestations d’emplois. En effet, il permet à l’agent de l’UCAD de faire une demande d’attestation.
Il permet aussi aux administrateurs de la GRH de vérifier les différentes demandes effectuées de d’en donner une suite favorable sinon notifier à l’agent les motifs du rejet le cas échéant.
Une fois l’attestation attribué il sera disponible en téléchargement en format PDF.
Module Bulletins :
C’est le module qui la gère les demandes de duplicata de bulletins de salaires. En effet, il permet à l’agent de l’UCAD de faire une demande de duplicata d’un bulletin de salaire d’un mois qu’il précisera.
Il permet aussi aux administrateurs de la GRH de vérifier les différentes demandes effectuées de d’en donner une suite favorable sinon notifier à l’agent les motifs du rejet le cas échéant.
Une fois le bulletin de salaire attribué il sera disponible en téléchargement en format PDF avec la mention duplicata.
Langage de modélisation
Le Langage de Modélisation Unifié, de l’anglais Unified Modeling Language (UML), est un langage de modélisation graphique à base de pictogrammes conçu pour fournir une méthode normalisée pour visualiser la conception d’un système. Il est couramment utilisé en développement logiciel et en conception orientée objet.
Description technique de processus d’accès aux services à travers une borne interactive via la carte à puce
Le diagramme ci-dessous décrit le processus d’accès aux services à travers une borne interactive
Description du processus :
1. Le porteur de la carte se présente au niveau de la borne interactive, il insère sa carte pour authentification (Saisi du code PIN).
2. Après contrôle du code PIN, le porteur accède au Portail WEB de l’UCAD.
3. Avant l’affichage des services, la borne communique au serveur hébergeant le Portail WEB les informations sur la catégorie du porteur ainsi que la date de validité des services encodés sur la carte.
4. Le serveur de l’UCAD effectue un traitement sur les informations communiquées par la borne : DSFUCAD/V1.0 _ Le : 20/11/2014
• Catégorie du porteur pour l’affichage des services dédiés à cette catégorie. • Date de validité des services encodés sur la carte (D.V.S.C)
5. Le serveur effectue une opération de comparaison entre la D.V.S.C et la date de validité des services paramétrée sur le serveur (D.V.S.S), deux scénarios possibles :
5.1. D.V.S.C > D.V.S.S : cela signifie qu’aucune mise à jour n’est effectuée sur le paramétrage des services au niveau du serveur (Ajout, Suppression) pour une catégorie donnée.
5.2. D.V.S.C < D.V.S.S : cela signifie qu’une mise à jour a été effectuée sur le paramétrage des services au niveau du serveur (Ajout, Suppression) pour une catégorie donnée.
5.2.1. Dans ce cas de figure, le serveur envoi à la borne une demande de mise à jour des services encodés sur la carte.
5.2.2. La borne effectue la mise à jour des services encodés sur la carte via le lecteur connecté avec cette borne.
6. Par la suite, le Portail affiche les services dédiés pour la catégorie du porteur. Les services à affichés sont toujours ceux paramétrés sur le serveur hébergeant le Portail.
7. Après l’affichage des services sur le Portail, le porteur va cliquer sur le service voulu, par la suite, un processus, déjà mis en place par l’équipe de développement de l’UCAD, sera déclenché pour aboutir la demande du porteur.
Conception :
La phase de conception parmi les plus importantes permet de mieux cerner le projet en étudiant les acteurs, services intervenants processus à implémenter ainsi que les procédures.
Elle donne un aperçu du programme à implémenter est du point de vue représentatif est plus facile à comprendre car étant matérialisé par des schémas et textes explicatifs.
Conception de maquette
Adobe XD est un outil vectoriel développé et publié par Adobe Inc pour la conception et le prototypage de l’expérience utilisateur pour les applications Web et mobiles. Le logiciel est disponible pour MacOs, Windows, iOS et Android.
Adobe INC est l’un des plus grands éditeurs de logiciels pour le design des applications et d’infographie
La phase d’analyse et de conception étant primordiale pour la bonne conduite du projet. Ainsi elle nous a permis de faire une étude fonctionnelle et technique afin de mettre en place le cadre du projet et de mieux détailler le projet.
Mise en Œuvre
Après la phase d’analyse et d’étude conceptuelle vient la phase de réalisation. Elle est la dernière étape et est la plus importante car étant le pourquoi le travail préliminaire a été effectué. Sa réussite dépend de plusieurs choix essentiellement d’ordre technique concernant l’exécution et l’optimisation de la solution afin de répondre aux besoins des utilisateurs. Ce chapitre est essentiellement consacré à la présentation des outils et technologie ainsi que l’implémentation de la solution mais également les tests et validations.
BenchMarque
Avant la mise en Œuvre nous allons faire le Bench nous allons faire une étude comparative entre deux outils de modélisations merise et UML puis deux langages de programmations tels que le JAVA et le PHP et enfin nous allons passer par les différents Framework
Modélisation (Merise vs UML)
Le choix d’une bonne méthode de conception dans la mise en œuvre d’une application se présente comme l’une des parties les plus importantes. Une étude comparative a été faite entre différentes méthodes de conception.
MERISE (Méthode d’Etude et de Réalisation Informatique pour les Systèmes d’Entreprise) est une méthode d’analyse et de réalisation des systèmes d’information qui est élaborée en plusieurs étapes: schéma directeur, étude préalable, étude détaillée et la réalisation. Elle se positionne comme une méthode de conception de système d’information organisationnel, plus tournée vers la compréhension et la formalisation des besoins du métier que vers la réalisation de logiciel. Alors que UML est un langage de modélisation des systèmes standard, qui utilise des diagrammes pour représenter chaque aspect d’un système signifie : statique, dynamique en s’appuyant sur la notion d’orienté objet qui est un véritable atout pour ce langage. UML se positionne exclusivement comme un ensemble de formalismes. Il faut y associer une démarche et une organisation pour constituer une méthode. Il est sous l’entière responsabilité de l’OMG qui est un groupement d’industriels dont l’objectif est de standardiser autour des technologies objet, afin de garantir l’interopérabilité des développements.
Ainsi nous choisirons UML pour bénéficier de sa précision dans nos modélisations.
Langages de programmations (PHP vs JAVA)
Le PHP :
Tout d’abord, PHP alias HyperText PreProcessor, également appelé plus tôt Personale Home Page, est un langage de script côté serveur qui incorpore le HTML. Il sert également de langage de programmation. Contrairement à JAVA, PHP n’est pas un langage de programmation basé sur un client et il est utilisé pour créer des pages dynamiques sur un site Web. Php est un langage de code source ouvert et il est préféré en raison de sa rapidité. Un développement Web plus rapide grâce à PHP est ce qui rend ce langage plus souhaitable pour les programmeurs.
En tant que langage de programmation orienté objet, le développement Web devient rentable et prend relativement moins de temps. Il contribue à accélérer le développement et la maintenance du site Web, ainsi que le soutien considérable de la communauté à faible coût, en particulier si vous consultez une entreprise de conception de sites Web.
PHP est un langage de script côté serveur et plus compatible avec IIS et APACHE avec Oracle, MySQL, MariaDB. Sa fonctionnalité open source vous permettra de mettre à niveau la version la plus récente sans avoir à compter sur le fabricant ni à payer un montant excessif pour la même chose.
PHP permet une gestion de la base de données, un traitement des données, une gestion des fichiers, des téléchargements de fichiers et des graphiques, ainsi que des baies plus étendues et plus étendues. Comme il s’agit d’un langage de script, PHP n’exige pas autant de code que JAVA. Mais la différence entre un langage de script et un langage de programmation se rétrécit. Un langage de script avec l’aide d’un interprète peut être utilisé comme langage de programmation, tandis que, avec l’aide d’un compilateur, un langage de script peut servir à un langage de programmation.
PHP est un langage de script extensible qui prend en charge l’indépendance de la plate-forme, ce qui signifie qu’il peut s’exécuter sur presque tous les systèmes d’exploitation lors du développement Web. La dernière version de PHP consiste en un module de gestion des erreurs. PHP est gratuit et facile à comprendre. La reconstruction, la personnalisation en PHP sont beaucoup plus simples en comparaison de celles en JAVA. PHP est largement utilisé pour le développement web de startups. Grâce à PHP, les développeurs Web peuvent facilement créer des applications grâce à sa grande évolutivité.
Fondamentalement, le projet déterminera le langage de programmation le mieux adapté au développement de sites Web.
Le JAVA :
Java est un langage de programmation et un langage client. Comme PHP, il s’agit également d’un langage orienté objet qui prend en charge des projets plus volumineux avec plus de développeurs. Comme PHP, en tant que langage de programmation orienté objet, le développement et la maintenance Web se font à moindre coût. Cela prend du temps. Java est basé sur Java Virtual Machine, qui permet au langage de fonctionner sans problème et plus rapidement sur différents systèmes d’exploitation, ce qui en fait également un langage indépendant de la plate-forme. Contrairement à PHP, JAVA n’est pas un langage de programmation open source, ce qui peut le rendre plus coûteux que PHP. JAVA incorpore des fonctionnalités de sécurité intégrées qui rendent l’échange de données client-serveur plus sécurisé par rapport à celui de PHP.
JAVA convient le mieux au développement d’un site Web ou d’une application. Auparavant, JAVA, plus lent, est livré avec une optimisation de la vitesse qui facilite la compilation JIT et la compilation de fichiers JavaScript.
le société de développement web, si, développent des applications d’entreprise ou des sites Web, ils préfèrent le langage de programmation Java. Considérant que les entreprises de développement Web de la startup souhaitent utiliser le langage PHP pour développer leurs sites Web ou leurs applications.
Java est un langage de programmation plus simple avec un apprentissage, un codage et un débogage simples par rapport à PHP.
En ce qui concerne la vitesse, PHP est de loin préféré à JAVA. Mais cela ne signifie pas que JAVA est un langage de programmation moins préféré ou utilisé. L’apprentissage de JAVA va chercher la certification de programmeur alors que PHP ne possède aucune valeur qualificative.
Pour voir, il n’ya pas beaucoup de différences entre les deux langues. Les développeurs préfèrent l’une ou l’autre des langues en fonction des exigences de leur projet, ainsi que du type d’application ou de site Web qu’ils développeraient. Les projets plus importants nécessiteront JAVA, tandis que les projets ou start-ups de taille moyenne ou petite seront assez développés avec PHP.
COMPARAISON PHP / JAVA :
1. Apprentissage : PHP et JAVA ont été classés comme les deux langages les plus faciles pour l’apprentissage, la compilation et le débogage.
2. Prix: PHP est gratuit là où JAVA ne l’est pas.
3. Soutien: Les fonctions de sécurité intégrées, le support important de la communauté sont plus importants dans PHP que dans JAVA. Rapidité et efficacité: un développement Web plus rapide et un apprentissage efficace du code sont les principaux avantages des langages de programmation JAVA et PHP.
4. Compatibilité: L’indépendance de PHP vis-à-vis de la plate-forme permet au programme de fonctionner sous différents systèmes d’exploitation, ce qui le rend plus compatible avec différentes plates-formes de serveur. Avec un interprète, il peut également être utilisé sur des plates-formes client. JAVA n’a pas autant d’indépendance vis-à-vis de la plate-forme. Bien que, il est connu pour être utilisé pour alimenter les APACHE, JBoss, GlassFish, etc.
5. Vérification de type: Java utilise la vérification de type statique alors que PHP utilise la vérification de type dynamique. C’est pourquoi la société de conception Web s’appuie sur Java. La vérification de type dynamique permet au programmeur d’attribuer des types librement. Dans la vérification de type statique, le programme devra spécifier le type de variable, qu’elle soit un entier ou une chaîne. Dans la vérification de type statique, les erreurs sont détectées au tout début du développement de l’application ou du site Web.
6. Exécution d’instructions multiples : Java utilise thread pour exécuter l’exécution des séquences d’instructions multiples, alors que PHP utilise une exécution multi-thread. L’avantage de JAVA à cet égard est que le partage de mémoire dans l’exécution thread à thread est plus rapide qu’une instruction multi-thread parallèle. Outre les comparaisons susmentionnées, sur la base des applications de ces langages, ces langages de programmation peuvent être différents.
Java:
1. Systèmes de gestion de contenu comme WordPress.
2. Serveurs tels que : Oracle, Apache, IIS, SQL.
En définitive le développement Web nécessite l’un des langages de programmation. Et sur la base de la taille et du type de projet, les développeurs utiliseront le langage de programmation. Vous pouvez toujours consulter les développeurs tout en créant un site Web ou une application, ou en choisissant de choisir le meilleur pour le développement Web. PHP et JAVA fournissent aux développeurs les meilleures bases pour leurs sites Web.
Frameworks (Spring Boot vs ZKOSS)
Spring Boot est un framework qui facilite le développement d’applications fondées sur Spring en offrant des outils permettant d’obtenir une application packagée en jar , totalement autonome. Ce qui nous intéresse particulièrement, puisque nous essayons de développer des Microservices ! Publiée en 2012, Spring Boot est une solution de « convention plutôt que configuration » destinée à l’infrastructure logicielle Java Spring qui réduit la complexité de la configuration de nouveaux projets Spring. À cette fin, Spring Boot définit une configuration de base incluant des directives pour l’utilisation de l’infrastructure logicielle ainsi que toutes les bibliothèques de prestataires tiers pertinentes, ce qui permet de faciliter autant que possible la création de nouveaux projets. Cette méthode simplifie considérablement la création d’applications indépendantes prêtes pour la production, ce qui explique pourquoi la majorité des nouvelles applications Spring reposent en grande partie sur Spring Boot.
Les caractéristiques de Spring Boot peuvent être résumées comme suit :
Ø L’intégration directe d’applications de serveur Web/de conteneur comme Apache Tomcat ou Jetty sans utiliser de fichiers WAR (Web Application Archive)
Ø la configuration simplifiée de Maven grâce à des POM (Project Object Models) « Starter »
Ø lorsque c’est possible, la configuration automatique de Spring
Ø la mise à disposition de capacités non fonctionnelles telles que des outils de mesure ou des configurations délocalisées
Grâce à Spring Boot, la société de développement Pivotal Software a complété l’infrastructure logicielle parue en 2005 avec une nouvelle approche moderne et tournée vers l’avenir. L’infrastructure technique de base de Spring, améliorée depuis des années, a été très largement intégrée dans l’extension Spring Boot.
ZK est un framework open source web 2.0, proposant une interaction utilisateur (UI) riche. ZK permet tout autant de définir rapidement des interfaces graphiques via une syntaxe XML ou un éditeur Wysiwyg que de manipuler directement les objets en Java.
Le traitement des événements se fait côté serveur relié depuis le navigateur via le moteur JavaScript de ZK.
Pour l’utilisateur du framework, tout se passe comme si l’interface graphique était gérée entièrement côté serveur. Il est possible d’ajouter, enlever, modifier des composants graphiques comme avec Swing. Le moteur de ZK se chargeant de répercuter automatiquement les modifications dans le navigateur du client.
Il est tout autant possible de définir une application relativement classique, comme avec des framework tel que Struts et JavaServer Faces. Les JavaServer Pages sont remplacées par des fichiers XML. Le code EL est lui aussi de la partie et chaque événement (validation d’un formulaire…) donnera lieu à changement de page.
Il est au contraire aussi possible de designer l’interface graphique sans aucun rechargement de page, le contenu étant mis à jour dynamiquement via AJAX. Le comportement est alors proche d’une interface graphique classique, raisonnablement rapide, mais sans toutefois avoir la même réactivité.
De nombreux tag et composants graphiques sont inclus dans le framework afin de faciliter la tâche : saisie de date avec calendrier, fenêtres, popups, menus, arborescences, grilles et peuvent être mélangés à du code XHTML.
Utiliser les composants graphiques prédéfinis et les assembler permettra de se passer totalement de code JavaScript. S’il faut un comportement bien spécifique, il sera nécessaire de créer ses propres composants et de gérer aussi la partie cliente en JavaScript.
Forces et faiblesses
Avantages :
Le framework ZK, basé sur un moteur AJAX, permet :
Ø de gagner du temps par rapport aux framework WEB classiques
Ø de coder de manière simple (proche d’une application Swing ou AWT)
Ø d’avoir une application web full Java (aussi bien les traitements que les interfaces) sans la moindre ligne de Javascript à taper
Ø ZK s’intègre parfaitement avec toute technologie Java : JMS, Hibernate
Inconvénients :
Ø Le code généré est très intrusif : table dans des tables dans des div, etc. ce qui amène à une personnalisation difficile des composants.
Ø La performance dépend du navigateur et de la machine. La fluidité ne sera pas celle d’une interface graphique classique.
Ø La technologie est non standard, soutenue uniquement par une petite société.
Ø La licence payante pour une utilisation commerciale (beaucoup de Framework concurrents sont 100 % gratuits).
Ainsi nous choisirons ZKOSS pour permettre une harmonisation plus facile avec les différentes applications de la DISI(le DIC).
Base de données (MySQL vs ORACLE)
Dans le milieu professionnel, on retrouve principalement des SGBDR client/serveur même si les solutions en fichiers partagés ont eu leur heure de gloire et sont encore utilisées dans certaines applications. L’apparition de SGBDR client/serveur gratuits a fortement contribué à populariser ce modèle ces dernières années. Le modèle client/serveur nécessite généralement la présence d’un serveur, qui traite les requêtes transmises par le client et lui retourne le résultat. Dans ce comparatif nous avons choisi 4 SGBDs : deux sont free, les deux autres sont payants, un open source et les trois autres non. Deux font partie des produits lourds et deux des légers
MYSQL
MySQL est un SGBDR qui utilise le langage SQL, et fait parti des plus utilisés. Sa popularité est due en grande partie au fait qu’il s’agit d’un logiciel Open Source, ce qui signifie que son code source est librement disponible et que quiconque qui en ressent l’envie et/ou le besoin peut modifier MySQL pour l’améliorer ou l’adapter à ses besoins. Une version gratuite de MySQL est par conséquent disponible. À noter qu’une version commerciale payante existe également [Christophe CARPENA, 2006].
Avantages
Les avantages de MySQL sont comme suit :
Ø Solution très courante en hébergement public.
Ø Très bonne intégration dans l’environnement Apache/PHP
Ø OpenSource, bien que les critères de licence soient de plus en plus di-ciles à supporter.
Ø Version cluster depuis la version 4.
Ø Ordonnanceur et partitionnement dès la version 5.1.
Ø Facilité de déploiement et de prise en main.
Ø Plusieurs moteurs de stockage adaptés aux différentes problématiques, congurable au niveau table.
Ø Multi plate-forme Linux, Windows, OSX, Unix…ect.
Inconvénients
Ø Ne supporte qu’une faible partie des standards SQL-92.
Ø Support incomplet des triggers et procédures stockées.
Ø Assez peu de richesse fonctionnelle.
Ø Manque de robustesse avec de fortes volumétries.
Ø Pas d’héritage de table.
Ø Pas de vue matérialisée.
Ø Cluster par clonage de base : impact prépondérant sur la volumétrie
ORACLE
Oracle, édité par Oracle Corporation (qui édite également MySQL) est un SGBDR payant. Son coût élevé fait qu’il est principalement utilisé par des entreprises. Oracle gère trés bien de grands volumes de données. Il est inutile d’acheter une licence oracle pour un projet de petite taille, car les performances ne seront pas déférentes de celles de MySQL ou d’un autre SGBDR. Par contre, pour des projets conséquents(plusieurs centaines de Go de données), Oracle sera bien plus performant. Par ailleurs, Oracle dispose d’un langage procédural très puissant (du moins plus puissant que le langage procédural de MySQL) : le PL/SQL.
Avantages
Comme tout SGBD nous indiquons quelques avantages d’Oracle :
Ø Richesse fonctionnelle.
Ø Fonction d’audit évolué.
Ø Row Level Storage Security (RLSS) : permet de ne faire apparaître que certaines lignes des tables pour un utilisateur/une application donnée.
Ø Parallélisme, caches nommés, haute disponibilité.
Ø Procédures stockés en PL-Sql (langage propriétaire Oracle, orienté ADA) ou… en JAVA (depuis la version 8.1.7) ce qui peut s’avérer utile pour les équipes de développement.
Ø Assistants performants via Oracle Manager Server, possibilité de gérer en interne des tâches et des alarmes.
Ø Gestion centralisée de plusieurs instances.
Ø Concept unique de retour arrière (Flashback).
Ø Pérennité de l’éditeur : avec plus de 40
Ø Réglages fins : dans la mesure où l’on connait suffisamment le moteur, presque tout est paramétrable.
Ø Accès aux données système via des vues, bien plus aisément manipulable que des procédures stockées.
Ø Services Web, support XML
Ø Ordonnanceur intégré
Ø Compression des données et des sauvegardes
Ø Support technique Orion extrêmement riche et fourni.
Inconvénients
Les inconvénients d’Oracle sont les suivants :
Ø Prix élevé, tant au point de vue des licences que des composants matériels (RAM, CPU) à fournir pour de bonnes performances.
Ø Administration complexe, liée à la richesse fonctionnelle.
Ø Fort demandeur de ressources, ce qui n’arrange rien au point précité, Oracle est bien plus gourmand en ressource mémoire que ses concurrents, ce qui implique un investissement matériel non négligeable.
Ø Méta-modèle propriétaire, loin de la norme.
Ø Gestion des verrous mortels mal conçue (suppression d’une commande bloquante sans rollback).
Ø Une quantité des bugs proportionnels à la richesse fonctionnelle, surtout sur les dernières versions.
Ø Gestion erratique des rôles et privilèges (pas possible de donner des droits sur des schémas particuliers sans passer par leurs objets, désactivation des rôles lors d’exécution de packages…)
Ø Pas de type auto-incrément déclaratif : les séquences ne peuvent être déclarativement dédiées à une table spécifique (risque de mélange)
Ø Nombreuses failles de sécurités liées à l’architecture elle-même.
Outils et technologies
Pour la mise en œuvre de cette solution nous avons eu à travailler avec un environnement de développement trouver sur place et en adéquation avec celui de la DISI. En effet, le SGBD MySQL et est chargé du déploiement de base de données, le Serveur Wildfly de l’application JEE.
Environnement de développement et déploiement
Eclipse Jee 2018 02
Figurant parmi les grandes réussites de l’open source, Eclipse est devenu un standard du marché des logiciels de développement, intégré (IDE) par de grands éditeurs logiciels et sociétés de services.
Les logiciels commerciaux Lotus Notes 8, IBM Lotus Symphony ou WebSphere Studio Application Developer sont notamment basés sur Eclipse.
C’est un projet, décliné et organisé en un ensemble de sous-projets de développements logiciels, de la fondation Eclipse visant à développer un environnement de production de logiciels libre qui soit extensible, universel et polyvalent, en s’appuyant principalement sur Java.
Son objectif est de produire et fournir des outils pour la réalisation de logiciels, englobant les activités de programmation (notamment environnement de développement intégré et Framework) mais aussi d’AGL recouvrant modélisation, conception, test, gestion de configuration, reporting… Son EDI, partie intégrante du projet, vise notamment à supporter tout langage de programmation à l’instar de Microsoft Visual Studio.
Langages de programmation et Framework
Avec un environnement de travail basé sur du Windows 10 et des serveurs de déploiement basée sur du GNU/Linux la DISI travail sur des applications robustes avec le Java qui est un langage de programmation orienté objet dont la particularité est que les logiciels écrits avec doivent être très facilement portables sur plusieurs systèmes d’exploitation tels que Unix, Windows, Mac OS ou GNU/Linux.
Le Java EE (Java Enterprise Edition) permet de développer des applications client-serveur. C’est surtout côté serveur que Java s’est imposé dans le milieu de l’entreprise grâce aux servlets.
Étant le langage le plus utilisé au sein de la DISI le Java EE s’impose d’elle-même de sa robustesse et de son aspect de sécurité ainsi que les multitudes de Framework disponible et plus souvent Open Source.
Le Framework ZKOSS plus communément appelé ZK Framework est basé sur de l’Ajax
Serveur de déploiement
Le système d’exploitation appelé Debian est créé par Le projet Debian qui est une association d’individus qui ont pour cause commune de créer un système d’exploitation libre. Actuellement à la version 9.8 connue sous le nom de Stretch a été publiée le 16 février 2019. Au cœur du système d’exploitation se trouve le noyau. Le noyau est le programme le plus fondamental sur l’ordinateur, il fait toute la gestion de base des ressources et vous permet de lancer d’autres programmes.
Les systèmes Debian utilisent actuellement le noyau Linux ou le noyau FreeBSD. Linux est un logiciel initié par Linus Torvalds et développé par des milliers de programmeurs de par le monde. FreeBSD est un système d’exploitation comprenant un noyau et d’autres logiciels.
Debian est fourni avec plus de 51000 paquets (des logiciels précompilés mis dans un format sympathique pour une installation facile sur votre machine), un gestionnaire de paquets (APT) et d’autres utilitaires permettant de gérer des milliers de paquets sur des milliers d’ordinateurs aussi facilement que d’installer une seule application. Tout cela est libre.
|
Table des matières
INTRODUCTION GENERALE
CHAPITRE I : CONTEXTE ET PROBLEMATIQUE
INTRODUCTION
1.1 CONTEXTE
1.1.1 Présentation de l’UCAD
1.1.1.2 Présentation de la DISI
1.2 PROBLEMATIQUE
1.2.1 Les différents services à implémenter
1.2.2 L’aspect démographique
1.2.3 L’aspect géographique
1.2.4 Le temps de traitement
1.3 OBJECTIF
1.4 METHODOLOGIE
1.4.1 Processus unifié (Unified Process)
1.4.2 Processus 2TUP
1.5 EXISTANT
15.1 LES CARTES A PUCES
1.5.2 La borne Interactive
1.5.3 Les applications
CONCLUSION
CHAPITRE II : ANALYSE ET CONCEPTION DE LA SOLUTION
INTRODUCTION
2.1 ANALYSE :
2.1.1 Identification des acteurs
2.1.2 Identification des besoins fonctionnels
2.2 LANGAGE DE MODELISATION
2.2.1 Outil de modélisation
2.2.2 Diagramme de cas d’utilisation
2.2.3 Diagramme d’activité
2.2.4 Digramme de séquence
2.2.5 Diagramme de classe
2.3 CONCEPTION :
2.3.1 CONCEPTION DE MAQUETTE
CONCLUSION
CHAPITRE III : MISE EN ŒUVRE
INTRODUCTION
3.1 BENCHMARQUE
3.1.1 Modélisation (Merise vs UML)
3.1.2 Langages de programmations (PHP vs JAVA)
3.1.3 Frameworks (Spring Boot vs ZKOSS)
3.1.4 Base de données (MySQL vs ORACLE)
3.2 OUTILS ET TECHNOLOGIES
3.2.1 Environnement de développement et déploiement
3.2.2 Langages de programmation et Framework
3.2.3 Serveur de déploiement
3.2.4 Serveurs d’application
3.2.5 Serveur de base de données (SGBD)
3.3 IMPLEMENTATION
3.3.1 Architecture trois tiers : Design pattern MVVM
3.3.2 Implémentation Client CAS SSO
3.4 PRESENTATION APPLICATION
3.4.1 Connexion CAS SSO
3.5 PROFIL PER/PATS
3.5.1 Activation compte et choix photo de profil
3.5.2 catalogue des services
3.5.3 Demande d’imputation Budgétaire pour un membre de la famille
3.5.4 Suivi des demandes et téléchargements
3.5.5 Consultation des structures leurs services
3.6 PROFIL ADMINISTRATEUR
3.6.1 Validation par l’agent de la Polyclinique
3.6.2 Ajout Structure Agréé et services par l’agent de la Polyclinique
CONCLUSION
CHAPITRE IV : CONCLUSION
4.1 BILAN
4.2 PERSPECTIVES
BIBLIOGRAPHIE
Télécharger le rapport complet