Conception et déploiement d'une application sécurisée pour la gestion du personnel des forces de défensepar Hervé Michel TCHEUTOU Université de Douala - Master 2 professionnel MIAGE (Méthodes Informatiques Appliquées à la Gestion d'Entreprises) 2018 |
CONCLUSIONDans ce chapitre, nous avons mis en exergue l'état de l'art en nous plaçant dans le contexte afin de soulever la problématique qui ne pourra être mieux cernée que par l'étude de l'existant traduisant d'un côté, le vide logiciel et de l'autre côté, des logiciels de gestion du personnel civil. Malgré l'efficacité de ces logiciels, la majorité repose sur le Cloud et l'Armée ne saurait confier ses informations secrètes à une tierce entreprise. De plus, la gestion du personnel militaire repose sur un paradigme métier propre aux forces de défense. P a g e 17 | 74 Chapitre 3METHODOLOGIES ET CHOIX DES SOLUTIONS INTRODUCTIONUne application, bien que conçue pour répondre efficacement aux besoins fonctionnels des entreprises, doit répondre à un éventail d'exigences aussi bien techniques, infrastructurelles que sécuritaires en fonction de son environnement de production. Cela dit, quelles sont les bonnes pratiques pour concilier les fonctionnalités, la sécurité et l'ergonomie de l'application ? Comment optimiser le niveau de sécurité des applications web et maitriser les risques y afférents ? Comment évaluer la résistance de notre application face à la montée en charge des attaques cybernétiques ? I. BONNES PRATIQUES DE DEVELOPPEMENTUne application doit répondre à des exigences techniques à l'instar de la portabilité, la robustesse, la maintenance, l'efficacité et la sécurité. Le respect des bonnes pratiques de programmation repose sur l'inversion de contrôle. Dans Cette approche efficiente, le développeur s'occupe de la partie métier et la partie technique est à la charge des Framework afin de séparer la logique métier de la logique traitement. P a g e 18 | 74
HIBERNATE, TOPLINK ou ECLIPSELINK sont des Framework de mapping objet relationnel (ORM) chargés de faire la correspondance entre une base de données relationnelle et une application orientée Objet. Ce sont des implémentations du standard JPA. Ils assurent la persistance des données. P a g e 19 | 74 3. DÉMARCHE MÉTHODIQUE DE L'INGÉNIERIE DU LOGICIEL Le succès des projets informatiques demeure critique et est étroitement lié à l'art du développement logiciel. La proportion d'échecs des projets informatiques alimente une mise en cause permanente de la méthodologie
utilisée dans l'atelier de a) Approche traditionnelle Avec le retour d'expérience plutôt macabre des développeurs, le constat des méthodes antérieures dites en cascade et en V a été le suivant : ? Le besoin ne peut pas être complètement connu tant que les utilisateurs ne l'ont pas utilisé ? L'incertitude inévitable Figure 5: Méthode en V P a g e 20 | 74 Dans le souci compétitif de rapidité de développement, de faible coût de développement et d'application de grande qualité, la méthode du RAD a vu le jour en 1991 pour s'opposer au principe successif de négociation, analyse, développement et test. b) La méthodologie du RAD Un projet RAD se découpe en 5 phases : 1- L'initialisation (6% de l'effort projet), correspond à la préparation de l'organisation et à la communication 2-Le cadrage (9% de l'effort projet) définit les besoins.
Malgré les prouesses du RAD, l'incertitude demeurait toujours sur la réussite des projets de développement à cause de l'incompréhension des besoins du client et la résistance au changement. c) La méthode Agile Fort de l'incapacité du client de définir ses besoins de manière exhaustive dès le début du projet, l'instabilité de l'environnement technologique et la résistance au changement, les méthodes de développement dites agiles sont des corrections à cette tare. La méthode agile consiste à réduire de manière considérable la durée du cycle de vie en développant une version minimale puis en intégrant les fonctionnalités par un processus itératif basé sur l'écoute client et des tests tout au long du cycle de développement. Le terme agile fait ainsi référence à la capacité d'adaptation au changement de contexte et aux modifications de spécifications intervenant pendant le P a g e 21 | 74 processus de développement. D'après le manifeste des méthodes agiles [16], les principes suivants sont énoncés : > Les individus et les interactions plutôt que des procédures et outils > Un logiciel qui fonctionne plutôt qu'une documentation abondante > La collaboration avec le client plutôt que la négociation du contrat > L'accueil du changement plutôt que le respect du plan Il existe plusieurs méthodes agiles parmi lesquelles : > SCRUM > XP (Extreme Programming) > FDD (Feature Driven Development) > KANBAN > DSDM (Dynamic Software Development Method) d) Comparaison des méthodes agiles
P a g e 22 | 74
Tableau 2: Comparaison des méthodes agiles[17] e) Cas d'une méthode agile : Scrum Scrum, empruntée du rugby signifie « mêlée » est une méthode agile qui implique les utilisateurs durant tout le cycle du développement et les considérés comme des membres à part entière du projet. Une mêlée est une réunion quotidienne des membres d'un projet pour faire le point sur son avancement. Sa particularité réside dans le développement itératif et incrémental afin de livrer une application en adéquation avec le métier du client. Figure 6:Processus Sprint P a g e 23 | 74 4. ENVIRONNEMENT DE DÉVELOPPEMENT Dans la plupart des cas, une application nécessite un setup qui doit être installé dans tous les postes de travail ; quant aux applications intranet, elles nécessitent uniquement un navigateur internet sur tous les postes de travail et sont accessibles en permanence. Sur le marché du développement des applications web, plusieurs technologies existent mais trois d'entre elles se font la part belle, ce sont : PHP et JAVA EE et ASP.Net
PHP est un langage de script côté serveur le plus utilisé et le plus facile à mettre en oeuvre. Sa facilité d'utilisation permet au développeur de gagner en temps et simplicité de réalisation. Les plateformes PHP sont simples et permet une multiplicité d'hébergeur capable de les implémenter. PHP est dédié pour du front office nécessitant une vélocité de réalisation. P a g e 24 | 74
> Le client envoie la requête au contrôleur. > Le contrôleur instancie le modèle. > Le contrôleur stocke les données de la requête dans le modèle puis vérifie la validité des données. > Le contrôleur fait appel à la couche métier pour faire le traitement > Le contrôleur stocke les résultats du traitement dans le modèle > Le contrôleur fait un forward vers la vue > La vue récupère les résultats du modèle > Le contrôleur affiche au client le résultat de la vue |
|