Telechargé par Jospin Gnintedem Noutsa

memoire

publicité
DÉDICACE
A MA
FAMILLE
i
REMERCIEMENTS
Ce rapport n’aurait jamais paru sans le concours sous diverses formes de plusieurs personnes.
C’est donc avec le souci d’un tendre devoir que nous témoignons notre extrême gratitude à
l’égard de ceux dont nous rappelons, particulièrement à :

Pr. JAZET Pierre Michel, mon superviseur de mémoire, pour sa coordination ;

M. TEKOUDJOU François Xavier, mon encadreur académique, pour le temps qu’il
m’a consacré durant tout ce travail, pour ses conseils et surtout pour sa patience
incomparable ;

M. TEKEU Guimezap Hypolithe, mon encadreur professionnel, pour la confiance
qu’il m’a accordée et pour ses nombreux conseils pendant la réalisation de ce travail ;

M. NWOKAM Rostand Verlaine notre chef de département, pour ses conseils, ses
encouragements dont il a su nous apporter ;

Tout le corps enseignant pour leurs enseignements et leur dévouement ;

Tout le personnel de IUC pour la sympathie et la passion partagée ;

Toute ma famille pour leur soutien indescriptible ;

Tous mes camarades de promotion SIGL 2020 – 2021 pour le climat de gaieté et de
confiance qu’ils ont su créer durant notre formation ;

Tous ceux qui ont participes de près de loin a l’élaboration de ce mémoire.
A vous tous encore, je vous dis merci.
ii
SOMMAIRES
DÉDICACE ............................................................................................................................................................ I
REMERCIEMENTS ........................................................................................................................................... II
SOMMAIRES...................................................................................................................................................... III
LISTE DES ABRÉVIATIONS .......................................................................................................................... IV
LISTE DES FIGURES .........................................................................................................................................V
LISTE DES TABLEAUX ................................................................................................................................... VI
RÉSUMÉS ......................................................................................................................................................... VII
ABSTRACT ...................................................................................................................................................... VIII
INTRODUCTION GÉNÉRALE ....................................................................................................................... IX
CHAPITRE 1 : ÉTAT DE L’ART....................................................................................................................... 1
SECTION 1 : CONCEPTS THÉORIQUES................................................................................................................... 2
I. gÉNÉRALITÉ sur les annuaires .............................................................................................................. 2
II.
Protocole LDAP .................................................................................................................................. 6
SECTION 2 : CONTEXTE ...................................................................................................................................... 18
I. Contexte ................................................................................................................................................ 18
II.
problematique ................................................................................................................................... 18
III.
consequence ...................................................................................................................................... 19
IV.
objectifs vises .................................................................................................................................... 19
V. interet du projet ..................................................................................................................................... 20
CHAPITRE 2 : CADRAGE DU THÈME ......................................................................................................... 21
SECTION 1 : ÉTUDE CRITIQUE ET ORIENTATION ................................................................................................. 22
I. presentation de l’existant ...................................................................................................................... 22
II.
critique de l’existant .......................................................................................................................... 22
III.
Solutions existantes et nouvelle orientation ...................................................................................... 23
SECTION 2 : CAHIER DE CHARGES ..................................................................................................................... 24
I. Besoins .................................................................................................................................................. 24
II.
objectifs ............................................................................................................................................. 24
III.
criteres d’acceptation........................................................................................................................ 25
IV.
planning et couts ............................................................................................................................... 26
CHAPITRE 3 : METHODOLOGIE ET OUTILS ........................................................................................... 32
SECTION 1 : MOTIVATION ET CHOIX METHODOLOGIQUE .................................................................................... 32
I. Motivation ............................................................................................................................................. 32
II.
choix du modele de cycle de vie ........................................................................................................ 32
III.
presentation de la methodologie ....................................................................................................... 34
BIBLIOGRAPHIE .............................................................................................................................................. 41
iii
LISTE DES ABRÉVIATIONS
SIGLES
SIGNIFICATIONS
SI
Système informatique
API
Application Programming Interface
AD
Active Directory
LDAP
Lightweight Directory Access Protocol
CN
Common Name
DIT
Directory Information Tree
DN
Distinguished Name
DSA
Directory System Agent
DSE
Directory Service Entry
O
Organization
OU
Organizational Unit
SGBD
Système de Gestion de Base de Données
SN
Surname
SQL
Structured Query Language
SSL
Secure Socket Layer
TLS
Transport Layer Security
UID
Userid
RDN
Relative Distinguished Name
PO
Product Owner
LDIF
LDAP Data Interchange Format / Lightweight Data Interchange Format
iv
LISTE DES FIGURES
Figure 1 Positionnement des deux notions d’infrastructure et de service d’annuaire [5]........................................ 4
Figure 2 Architecture de LDAP [9]......................................................................................................................... 8
Figure 3 Serveur LDAP [1] ..................................................................................................................................... 8
Figure 4 Protocole asynchrone [1] .......................................................................................................................... 9
Figure 5 Arborescence expliquée [1] ...................................................................................................................... 9
Figure 6 Exemple d'un DN et RDN sous une DIT de racine "dc=exemple,dc=com" ........................................... 12
Figure 7 Authentification LDAP [11] ................................................................................................................... 14
Figure 8 Gestion des habilitations [11] ................................................................................................................. 15
Figure 9 : Product Breakdown Structure ............................................................................................................... 29
Figure 10 Diagramme de GANTT ........................................................................................................................ 30
v
LISTE DES TABLEAUX
Tableau 1 Série de clés généralement utilisées [7] ................................................................................................ 10
Tableau 2 Solutions existantes [13] ...................................................................................................................... 23
Tableau 3 : Ressources humaines.......................................................................................................................... 26
Tableau 4 : Ressources matérielles ....................................................................................................................... 27
Tableau 5 : Ressources logicielles ........................................................................................................................ 27
Tableau 6 : Bilan ................................................................................................................................................... 28
Tableau 7 : Organigramme des taches .................................................................................................................. 29
Tableau 8 Quelques modèles de cycle de vie ........................................................................................................ 32
vi
RÉSUMÉS
vii
ABSTRACT
viii
INTRODUCTION GÉNÉRALE
Aujourd’hui, les technologies de l’information et de la communication sont d’un apport capital
au développement des entreprises, et la gestion rationnelle des temps de travail des employés
devient compliquée et chronophage. Généralement, cinq fonctions principales sont reconnues
a l’entreprise. La fonction technique, la fonction humaine, la fonction commerciale, la fonction
recherche et développement, et enfin la fonction financière. De toutes ces fonctions, celle
humaine revêt une importance capitale dans le fonctionnement d’une entreprise ; car réalité
humaine, l’entreprise est une unité sociale.
L’informatique est devenue un outil permettant d’améliorer la rentabilité, la productivité et
d’optimiser le temps de réalisation des activités d’une entreprise. Cependant, la création des
comptes d’annuaire et l’envoi du manuel d’utilisation des services offerts par l’entreprise de
façon manuelle nécessitent dès lors un effort considérable de l’administration. C’est dans cette
optique de pallier à ces problèmes que l’idée de notre projet de mémoire est née, avec pour
objet de structurer la démarche d’une solution « développement d’une passerelle
interopérable de génération des comptes d’annuaire à partir d’une API » rapide visant à
apporter satisfaction à l’administration des entreprises et des établissements scolaires.
Afin de contribuer de manière efficace a la résolution de cette préoccupation, nous avons divise
notre travail en cinq chapitres :

Un premier chapitre intitulé Etat de l’art, qui présente les concepts théoriques sur
l’annuaire, le protocole LDAP et le contexte de ce travail.

Le second chapitre intitulé Cadrage du thème, qui présente dans un premier temps une
étude critique et orientation et dans un deuxième temps le cahier de charges.

Le troisième chapitre intitulé Méthodologie et outils, qui présentent la motivation et le
choix méthodologique

Le quatrième chapitre intitulé Analyse et conception de la solution, qui présente dans
un premier temps une analyse approfondie, dans un deuxième temps une modélisation
conceptuelles et en fin une architecture générale de l’application.

Le cinquième chapitre intitulé Résultats obtenus et discussion, qui présente dans un
premier temps les outils et méthodes d’implémentation, dans un deuxième temps la
solution réalisé et en fin une évaluation des résultats obtenus et l’impact sur l’entreprise.
ix
CHAPITRE 1 : ÉTAT DE L’ART
1
SECTION 1 : CONCEPTS THÉORIQUES
I.
GÉNÉRALITÉ SUR LES ANNUAIRES
Introduction
Dans l’entreprise, les applications et les serveurs ont besoin des données pour
l’authentification, les droits d’accès… autant d’informations difficiles à maitriser, car très
volatiles et éparses. Ceci entraine une dépression rapide, voire une incohérence des données
stockées.
Les annuaires LDAP offrent une réponse à ce problème en proposant de centraliser les
informations et par le biais d’un protocole standardisé, d’y connecter des applications clientes.
[1]
Le but de cette partie est de :

Définir l’annuaire et citer les différences entre ce dernier et une base de données ;

Montrer le positionnement des deux notions d’infrastructure et de service d’annuaire ;

Présenter le serveur d’annuaires et citer les intérêts d’un annuaire.
I.1. DÉFINITION D’UN ANNUAIRE
Un annuaire d’entreprise, c’est comme l’annuaire téléphonique, à ceci près qu’il gère plus
de choses. Regardons les caractéristiques de l’annuaire téléphonique pour mieux comprendre
le concept :

Il liste des données (nom, prénom, numéro de téléphone, adresse)

Il organise ces données (département/villes/nom)

Il offre un moyen de consultation (en ligne, appli Smartphone, format papier)

Il peut protéger les données (liste rouge)

Il est plus consulté que mis à jour

Il est disponible de manière permanente
On peut trouver d’autres annuaires dans un SI :

DNS : Domain Name Services

NIS : Network Information Services

WHOIS : base d’information concernant les noms de domaines [1]
2
Un annuaire électronique peut être vu comme une base de données spécialisée, dont la
fonction première est de retourner un ou plusieurs attributs d’un objet grâce à des fonctions de
recherche multicritères. Les objets peuvent être de nature très diverse. Par exemple, un objet de
l’annuaire peut représenter une personne et les attributs de cet objet seront alors son nom, son
prénom, son numéro de téléphone, etc. par exemple, un objet représentera une imprimante et
les attributs de l’objet seront alors les différents noms de cette imprimante, son adresse réseau,
sa situation géographique, etc.
Un annuaire électronique centralise des informations et les rend disponibles, via le réseau,
à des applications, des systèmes d’exploitation ou des utilisateurs. [2]
I.2. DIFFÉRENCES ENTRE UN ANNUAIRE ET UNE BASE DE DONNÉES

Un annuaire n’est pas fait pour stocker des informations constamment en
mouvement.

Un annuaire fournit une méthode de consultation standardisée. Chaque SGBD,
même s’il utilise SQL comme langage d’interrogation nécessite sa propre interface
de connexion.

Une base de données organise ses informations dans des tableaux (TABLES) à deux
dimensions, un annuaire organise les siennes dans une arborescence.

Un annuaire fournit des modelés de données standardisés (SCHÉMAS), alors que
le modèle conceptuel (MCD) d’une base de données varie d’une application à une
autre et même d’une entreprise à une autre. [3]
De plus, dans un annuaire :

Il n’y a pas de dépendances entre les objets stockés

Les objets peuvent être distribués sur plusieurs annuaires pour assurer une meilleure
disponibilité.
Les applications de l’annuaire n’ont pas besoin de connaitre la structure interne des données
stockées. [4]
3
I.3. POSITIONNEMENT DES DEUX NOTIONS D’INFRASTRUCTURE ET DE SERVICE
D’ANNUAIRE
Figure 1 Positionnement des deux notions d’infrastructure et de service d’annuaire [5]
La figure 1 montre les alimentations et les fonctions d’infrastructure et de service
d’annuaires :
A – Alimentation amont
Trois canaux d’alimentation amont sont possibles :

A1 : Applications de ressources humaines pour les utilisateurs internes constituent les
Sources de l’annuaire. Ces sources peuvent être, entre autres, les fichiers du personnel.

A2 : autres applications : les applications des ressources humaines n’ont pas
nécessairement toutes les informations nécessaires pour alimenter l’annuaire, par
exemple, le numéro de téléphone d’une personne sera alimenté par le PABX. Ainsi,
d’autres applications que celles des ressources humaines contribuent à l’alimentation
amont.

A3 : Saisie manuelle : pour certaines catégories d’utilisateurs, il est possible qu’aucune
application ne puisse être la source créatrice dans l’annuaire. Dans ce cas, les
4
administrateurs doivent pouvoir saisir les informations nécessaires directement dans
l’annuaire.
B – Alimentation aval
Pour certaines applications et services du système d’information, l’annuaire est le point
central d’alimentation des comptes d’accès (identifiants, mots de passe et autres attributs). Cette
alimentation concerne toutes les actions de gestion courante sur ces comptes.
C – Fonctions à destination des utilisateurs
Les utilisateurs accèdent à l’annuaire pour obtenir des informations de type « Pages
blanches », « Pages jaunes » ou « Organigramme ».
D – Fonctions à destination des administrateurs
Les administrateurs disposent de vues spécifiques sur l’annuaire pour exécuter leurs
tâches de gestion (création, modification, suppression, etc.) et lorsqu’ils sont en charge de la
gestion des identités pour s’assurer que le bon droit d’accès sont attribuées à la bonne personne
pendant le bon laps de temps. [5]
I.4. INTÉRÊTS D’UN ANNUAIRE
D’une façon générale, l’utilisation d’un annuaire présente plusieurs intérêts :

Administration centralisée et simplifiée : la gestion des comptes utilisateurs est
simplifiée. Tout est centralisé dans l’annuaire.

Authentification unifiée : un utilisateur authentifie sur une machine, sous condition
d’avoir les autorisations nécessaires, peut accéder aux ressources stockées sur
d’autres serveurs ou ordinateurs enregistres dans l’annuaire.
Un seul compte permet un accès à tout le système d’information de l’entreprise.

Référencement de tous les utilisateurs : l’annuaire s’apparente à une énorme base de
données qui référence les utilisateurs, les groupes et les ordinateurs d’une entreprise.
Les applications et systèmes d’exploitation s’appuient sur cette base de données
pour réaliser de nombreuses opérations : authentification, identification, stratégie de
groupe, déploiement de logiciels… [6]
Conclusion
5
Dans cette partie on a vu la définition d’un annuaire et les différences entre ce dernier
et une base de données. Le positionnement des deux notions d’infrastructure et de service
d’annuaire. La présentation du serveur d’annuaire et les intérêts d’un annuaire.
II.
PROTOCOLE LDAP
Introduction
Le but de cette partie est de présenter le protocole LDAP, et de définir ce protocole.
Expliquer le fonctionnement du protocole LDAP. Monter son architecture, ces principes et ses
concepts. Décris que fournit ce protocole d’annuaires. Citer ses caractéristiques.
II.1.
PRÉSENTATION
LDAP (Lighweight Directory Access Protocol), Protocole d’accès aux annuaires léger est
prononce "èl-dap" est un protocole standard permettant de gérer des annuaires, c’est-à-dire
d’accéder a des bases d’informations sur les utilisateurs d’un réseau par l’intermédiaire des
protocoles TCP/IP. Les bases d’informations sont généralement relatives à des utilisateurs, mais
elles sont parfois utilisées à d’autres fins comme pour gérer du matériel dans une entreprise. Le
protocole LDAP, développé en 1993 par l’université du Michigan, avait pour but de supplanter
le protocole DAP (servant à accéder au service d’annuaire X.500 de l’OSI), en l’intégrant à la
suite TCP/IP. À partir de 1995, LDAP est devenu un annuaire natif (standalone LDAP), afin de
ne plus servir uniquement à accéder à des annuaires de type X.500. LDAP est ainsi une version
allégée du protocole DAP, d’où son nom de Lighweight Directory Access Protocol. [7]
Ce dernier est un protocole de la couche application. Il fonctionne sur le port TCP 389. [3]
II.2.
QUE DÉFINIT LE PROTOCOLE LDAP ?
Le protocole LDAP définit :

Comment s’établit la communication client-serveur : commandes pour se connecter
ou se déconnecter, pour rechercher, comparer, créer, modifier ou effacer des entrées.
Les opérations de base :
-
Interrogation : search, compare
-
Mise à jour : add, delete, modify, rename
-
Connexion au service : bind, unbind, abandon.
6

Comment s’établit la communication serveur serveur : échanger leur contenu et se
synchroniser (réplication service). Créer des liens permettant de relier des annuaires
les uns aux autres (referral service).

Le format de transport des données : ce n’est pas l’ASCII (comme pour HTTP,
SMTP …), mais le Basic Encoding Rules (BER), sous une forme allégée (appelée
LBER Lightweight).

Les mécanismes de sécurité : les méthodes de chiffrement, et les mécanismes des
règles d’accès aux données. [8]
II.3.

FONCTIONNEMENT DU PROTOCOLE LDAP
Le protocole LDAP fonctionne en mode client-serveur. C’est-à-dire, les échanges
entre le client et le serveur sont les requêtes/réponses

Un client est un agent de l’annuaire DUA (Directive User Agent)

Un serveur est un agent du système de l’annuaire DSA (Directory System
Agents)

Les requêtes et les réponses sont transmises par LDAP

Une session LDAP consiste en une connexion de transport, une sécurité a la couche
Transport (Transport Layer Security), une authentification SASL (Simply
Authentification and Security Layer) et des messages LDAP

TLS chiffre des messages LDAP venus de la couche application

SASL permet d’assurer l’authentification entre le client et le serveur

TLS et SASL sont un couple pour beaucoup d’application d’internet telle
que LDAP, SMTP, POP, et IMAP. [9]
II.4.
ARCHITECTURE DE LDAP
L’architecture du protocole LDAP (RFC 4511) est illustrée par la figure 2 :
7
Figure 2 Architecture de LDAP [9]
Les échanges sont codes en BER (Basic Encoding Rules) de l’ASN.1
 TCP utilise le port n° 389 pour le protocole LDAP [9]

II.5.
PRINCIPES ET CONCEPTS
Le protocole d’accès à l’annuaire léger fonctionne (par défaut) sur le port le port TCP 389
pour LDAP et 636 pour LDAPS (LDAP over TLS/SSL).
Un serveur LDAP agit en tant qu’intermédiaire entre une source de données et un client. Le
client ne verra ni ne connaitra l’existence du stockage des données. En effet elles peuvent être
dans un fichier plat ou dans une base de données. De plus, découpler les messages du stockage
permet d’avoir plusieurs serveurs et un même système de stockage. [1]
Figure 3 Serveur LDAP [1]
8
LDAP est asynchrone, c’est-à-dire que si le client émet plusieurs requêtes
successivement, elles peuvent arriver dans un ordre diffèrent. [1]
Figure 4 Protocole asynchrone [1]
II.6.
L’ARBORESCENSCENCE D’INFORMATION (DIT)
LDAP présente les informations sous forme d’une arborescence d’informations
hiérarchiques appelées DIT (Directory Information Tree), dans laquelle les informations,
appelées entrées (ou encore DES, Directory Service Entry), sont représentées sous forme de
branches. Une branche située a la racine d’une ramification est appelée racine ou suffixe (en
anglais root entry).
Chaque entrée de l’annuaire LDAP correspond à un objet abstrait ou réel (par exemple une
personne, un objet matériel, des paramètres …).
Chaque entrée est constituée d’un ensemble de paires clés/valeurs appelées attributs.
Figure 5 Arborescence expliquée [1]
9
Les attributs des entrées
Chaque entrée est constituée d’un ensemble d’attributs (paires clé/valeur) permettant de
caractériser l’objet que l’entrée définit. Il existe deux types d’attributs :

Les attributs normaux : ceux-ci sont les attributs habituels (nom, prénom …)
caractérisant l’objet

Les attributs opérationnels : ceux-ci sont des attributs auxquels seul le serveur peut
accéder afin de manipuler les données de l’annuaire (date de modification …)
Une entrée est indexée par un nom distinct (DN, Distinguished Name) permettant
d’identifier de manière unique un élément de l’arborescence.
Un DN se construit en prenant le nom de l’élément, appelé Relative Distinguished Name
(RDN, c’est-à-dire le chemin de l’entrée par rapport à un de ses parents), et en lui ajoutant
l’ensemble des noms des entrées parentes.
Il s’agit d’utiliser une série de paires clé/valeur permettant de repérer une entrée de manière
unique.
Voici un tableau qui liste une série de clés généralement utilisées : [7]
Tableau 1 Série de clés généralement utilisées [7]
Clés
Explication
uid (userid)
Il s’agit d’un identifiant unique obligatoire
cn (common name)
Il s’agit du nom de la personne
Givenname
Il s’agit du prénom de la personne
sn (surname)
Il s’agit du surnom de la personne
o (organization)
Il s’agit de l’entreprise dans laquelle la personne travaille
u (organizational unit) Il s’agit du service de l’entreprise dans laquelle la personne
travaille
Mail
Il s’agit de l’adresse de courrier électronique de la personne
(bien évidemment)
10
II.7.
QUE FOURNIT LE PROTOCOLE LDAP
LDAP est un protocole d’annuaire standard et extensible. Il fournit :

Le protocole permet d’accéder à l’information contenue dans l’annuaire,

Un modèle d’information définissant le type de données contenues dans l’annuaire,

Un modèle de nommage définissant comment l’information est organisée et
référencée,

Un modèle fonctionnel définissant comment on accède à l’information,

Un modèle de sécurité définissant comment les données et l’accès sont protégés,

Un modèle de duplication définissant comment la base est repartie entre serveurs,

Des APIs pour développer des applications clientes,

LDIF, un format d’échange de données. [8]
II.7.1 MODÈLE DE NOMMAGE

Comment référencer de façon unique les entrées et les données du DIT.
RDN : Relative Distinguished Name
Attribut unique qui distingue une entre des autres issues d’un même parent.
DN : Distinguished Name
Identifie de façon unique les entrées de l’arbre. S’obtiennent par agrégation des RDN suivant
le chemin de l’entrée voulue jusqu’à la racine [10]

Il définit comment les entrées de l’annuaire sont organisées et comment elles sont
référencées.

Structure arborescente contenant deux catégories d’objets :

Les conteneurs : départ d’une nouvelle branche (nœud intermédiaire de l’arbre)

Peuvent contenir des conteneurs ou des feuilles

Généralement, une sous-organisation de l’organisation (zone géographique …)

Les feuilles : elles représentent les données (généralement des machines, les
utilisateurs …) [4]
Voici un exemple d’un DN et RDN sous une DIT de racine "dc=exemple,dc=com":
11
Figure 6 Exemple d'un DN et RDN sous une DIT de racine "dc=exemple,dc=com"
II.7.2 MODÈLE FONCTIONNEL
Il décrit le moyen d’accéder aux données (syntaxe des requêtes) et les requêtes que l’on
peut leur appliquer.
Rappel des opérations de consultation / mise à jour :

Operations d’interrogation : recherche (search) et comparaison (compare) d’entrées

Opérations de mise-ajour des entrées de l’annuaire : add, delete, modify, rename
Il n’y a pas d’opération de lecture d’une entrée. Pour connaitre le contenu d’une entrée, il est
nécessaire d’écrire une requête qui pointe sur cette entrée. [4]
Les opérations peuvent utiliser 3 critères :
 La Base spécifique le DN à partir duquel l’opération est réalisée. Pour une recherche
sur la totalité de l’arbre il s’agira de la racine.
12
 La PORTÉE est le nombre de niveaux sur lesquels l’action va être effectuée. Il existe 3
niveaux.

SUB : l’action est effectuée récursivement à partir de la BASE sur la totalité de
l’arborescence.

ONE : l’action est effectuée sur un seul niveau inférieur à la BASE.

BASE : l’action est effectuée uniquement sur la base spécifiée.
 Les FILTRES permettent d’effectuer des tests de correspondance lors d’une recherche.
Le RFC 4516 décrit une méthode d’interrogation de l’annuaire par l’utilisation d’une URL dont
la syntaxe est la suivante :
ldap:://serveur[:port][/[base[?attributs à afficher][?[portée][?[filtre][?extensions]]]]]]
Exemple pour rechercher tous les CN des étudiants de notre arbre :
ldap://localhost:389/ou=etudiants,dc=univ-reims,dc=fr?cn?sub [3]
II.7.3 MODÈLE D’INFORMATION
LDAP présente les informations sous forme d’une arborescence d’informations
hiérarchiques appelées DIT (Directory Information Tree).

L’entrée est l’unité de base d’un annuaire (DES, Directory Service Entry). Elle
correspond à une branche de l’adolescence.

Chaque entrée correspond a un objet appel objectClass, par exemple une personne,
un objet matériel, les paramètres …

Cet
objectClass
est
constitué
d'un
ensemble
de
paires
clés/valeurs
appelées attributs obligatoires ou facultatifs.

Les types d'attributs sont des règles de codage et de correspondance, qui détermine
les types donnés et les comparaisons à appliquer lors d'une recherche.

Le schéma c'est l'ensemble des définitions d'objets et d'attributs qu'un serveur LDAP
peut gérer. Cela permet de définir si un attribut peut avoir une ou plusieurs valeurs
et/ou de les regrouper par objet (objectclass) pour définir s'ils sont obligatoires ou
pas. [1]
II.7.4 MODÈLE DE SÉCURITÉ
Le modèle de sécurité décrit le moyen de protéger les données de l’annuaire des
accès non autorisés.
 La sécurité se fait à plusieurs niveaux :

13



II.7.1
par l’authentification pour se connecter au service
par un modèle de contrôle d’accès aux données
par le chiffrement des transactions entre les clients et les serveurs ou entre les
serveurs. [8]
SERVICES DE SÉCURITÉ PROPOSES PAR LDAP
Dans le domaine de la sécurité, LDAP propose des mécanismes pour gérer l’authentification
et les habilitations des utilisateurs ainsi que la confidentialité des échanges.
II.7.2
SERVICE D’AUTHENTIFICATION
Plusieurs méthodes d’authentification correspondante à différents niveaux de sécurité sont
offertes par la norme LDAP :





La connexion anonyme (anonymous) généralement limitée à la consultation de parties
restreintes de l’annuaire.
L’authentification par identifiant/ mot de passe
L’authentification par identifiant/ mot de passe avec hachage de ce dernier.
L’authentification par identifiant/ mot de passe sur SSL.
L’authentification par certificat X509.
L’existence d’un annuaire LDAP allège donc, les applications de l’étape d’authentification en
utilisant l’une des méthodes précédentes. [11]
Figure 7 Authentification LDAP [11]
Pour une meilleure sécurité, il vaut mieux utiliser la méthode d’authentification par identifiant
/ mot de passe sur SSL. Cette dernière veille à ce que les échanges soient sécurisés, d’une part,
entre l’utilisateur et l’application, d’autre part, entre l’application et l’annuaire
14
LDAP. Pour ce faire, deux tunnels SSL sont nécessaires. Il faudra ainsi déployer un certificat
sur l’application et sur le serveur LDAP.
II.7.3
SERVICE D’HABILITATION
On distingue deux types d’habilitations, habilitations concernant l’annuaire LDAP luimême et habilitations concernant le système utilisant l’annuaire. Cependant LDAP propose
deux mécanismes pour la gestion des deux types d’habilitations.
Le premier mécanisme gérant les habilitations sur les objets contenus dans l’annuaire
consiste à utiliser des ACL (Access Control Lists) positionnées sur les nœuds de l’arbre LDAP
et permet de définir les droits d’interactions des utilisateurs avec les branches intérieures.
Le deuxième mécanisme consiste à définir des groupes et des rôles vis-à-vis les applications
du système d’information. Un groupe LDAP permet de constituer des listes d’utilisateurs
habilités à effectuer une action précise sur une application donnée. Les rôles aussi permettent
de définir des habilitations, mais elles sont positionnées comme attributs dans la description des
utilisateurs Les deux mécanismes sont illustrés par la figure ci-dessous [11] :
Figure 8 Gestion des habilitations [11]
15
II.7.4
SERVICE DE CONFIDENTIALITÉ
LDAP prend également en charge la sécurisation des échanges entre lui et ces clients, en
utilisant le protocole SSL. [11]
II.7.5
LES APIS
Ces Bibliothèques de programmation permettent de créer des applications annuairecompatibles.
Les APIs disponibles actuellement :

U-M LDAP SDK – C (UMICH, Open-LDAP)

Innosoft LDAP Client SDK (ILC-SDK) – C (InnoSoft)

Netscape Directory SDK – Java, C (Netscape)

PerLDAP Modules – Perl (Netscape)

Net- LDAPapi – PERL (GNU)

Java Naming and Directory Interface (JUNI) – Java (SUN)

Active Directory Service Interface (ADSI) – COM (Microsoft) [8]
II.7.6
LDIF
LDAP Data Interchange Format (LDIF) est le standard de représentation des entrées sous
forme
de
texte.
Il est utilisé pour afficher ou modifier les données de la base suivant deux modes :

faire des importations/exportations de la base,

faire des modifications sur des entrées.
Le format utilisé est l’ASCII. Toute valeur d’attribut ou tout DN qui n’est pas ASCII est codé
en base 64. [8]
II.8.
CARACTÉRISTIQUES

Mise à jour dynamique

Souplesse des opérations de changements

Organisation « simple » des données

Sécurité d’accès potentielle

Personnalisés [12]
16
Conclusion
On a vu dans ce chapitre la présentation du protocole LDAP et que définit ce protocole.
L’explication du fonctionnement du protocole LDAP. Montrer son architecture, ses principes
et ses concepts. Décris que fournit ce protocole d’annuaires. Citer ses caractéristiques.
17
SECTION 2 : CONTEXTE
I.
CONTEXTE
L’informatique est devenue indispensable pour les grandes entreprises, mais également les
petites entreprises comme les PME et PMI. Toute entreprise devrait disposer d’ordinateurs pour
que les employés, les étudiants dans les établissements scolaires puissent travailler, mais
également d’un service d’annuaire (Active Directory) dans le but de centraliser l’administration
des différents services de l’entreprise. L’Active Directory permet de recenser toutes les
informations concernant le réseau, que ce soit les utilisateurs, les machines ou les applications.
L’Active Directory constitue ainsi le noyau de toute l’architecture réseau et permet ainsi de
faciliter l’accès aux applications et aux périphériques disponibles sur le réseau d’une entreprise.
L’informatique est devenue un outil permettant d’améliorer la rentabilité, la productivité et
d’optimiser le temps de réalisation des activités d’une entreprise. Cependant, la création des
comptes d’annuaire et l’envoi du manuel d’utilisation des services offerts par l’entreprise de
façon manuelle nécessitent dès lors un effort considérable de l’administration. C’est dans cette
optique de pallier à ces problèmes que l’idée de notre projet de mémoire est née, avec pour
objet de structurer la démarche d’une solution rapide visant à apporter satisfaction à
l’administration des entreprises et des établissements scolaires.
II.
PROBLEMATIQUE
Le problème principal que nous évoquons ici est relative à la difficulté et le temps nécessaire
assez long pour crée des comptes dans l’annuaire active directory. Lorsqu’on sait que dans la
plupart des cas, l’organisation dispose des informations nécessaires à la création de ces comptes
dans une application en amont, alors on peut penser à la possibilité de récupérer ces
informations pour les générer.
La question centralise est donc celle de savoir quel peut être le moyen le plus adéquat de générer
des comptes de l’AD sur la base des informations récupérées dans une autre application quel
que soit la plate-forme.
18
Au vu de tout ce qui a été évoqué précédemment, il nous a semblé opportun de se poser les
questions suivantes :

Comment permettre aux entreprises de faciliter la création des comptes d’annuaire à
partir des informations existantes ?

Comment réduire considérablement le temps passé pour la création des comptes
d’annuaires ?

Comment faciliter la communication des différents services offerts par l’entreprise aux
nouveaux arrivants ?
III.
CONSEQUENCE
Comme conséquences, les étudiants n’aurons par :
Accès aux cours dispensée en ligne
 Accès aux différents services mise à leurs dispositions (Office 365, WIFI, …)
 Connaissances des informations mise à leurs dispositions par leur tutelle

IV.
OBJECTIFS VISES
Dans l’optique d’une gestion de projet par objectif, nous envisageons d’employer des
objectifs SMART afin d’être Simple, Mesurable, Ambitieux, Réaliste et Temporel dans notre
projet.
IV.1
OBJECTIF GENERAL
Notre objectif générale durant ce projet sera de : proposer une solution pour améliorer la
communication et la création des comptes d’annuaire sur la base des informations existante en
amont.
IV.2
OBJECTIF SPECIFIQUES
Nos objectifs tout au long de ce travail seront donc :

D’appréhender le concept et de comprendre le fonctionnement d’un annuaire de type
AD (Active Directory) ;

De concevoir et de modéliser la solution ;

D’implémenter un système informatique, pour l’amélioration de création des comptes
d’annuaire dans les entreprises ;
19
V.
INTERET DU PROJET
L’intérêt de notre projet est de permettre aux entreprises de :

Faciliter la création automatique des comptes d’annuaire des employés et des étudiants
pour les établissements scolaires ;

Gain de temps ;

Convivialité dans le travail ;

Faciliter la communication par mail sur les différents services proposés par l’entreprise
via l’envoi de mail à la création de comptes d’annuaire d’un employé ;
20
CHAPITRE 2 : CADRAGE DU THÈME
21
SECTION 1 : ÉTUDE CRITIQUE ET ORIENTATION
I.
PRESENTATION DE L’EXIST ANT
Nous ne saurions débuter ce travail sans avoir une idée claire et précise sur l’existant.
Nous avons une idée générale de l’existant au sein de IUC car nous y exerçons aux services du
numérique éducatif ou nous avons observé comment le processus de création des comptes
d’annuaires se faisait et a traves des échanges avec le responsable du service sur cette tâche. Il
en ressort de nos observations et échange que :

La création des comptes d’annuaires des étudiants et du personnel se fait de façon
manuel

Il y’a beaucoup de plainte sur les comptes créer car certains étudiants ne parviennent
pas accéder aux services mise à leurs disposition du fait que : leurs informations sont
erronés, leurs comptes n’existe pas dans l’annuaire

Les étudiants n’ont pas connaissance des services mise à leurs dispositions par l’institut
L’existant ne se limitant pas exclusivement a IUC, nous avons pensé à explorer les solutions
informatiques existantes.
II.
CRITIQUE DE L’EXISTANT
La solution manuelle en place à IUC consiste en une simple réorganisation du système en
reconduisant les qualités tout en conservant le traitement manuel. Cette proposition qui ne
garantit en rien la rapidité et la fiabilité dans l’exécution des taches (création des comptes
d’annuaire, …), occasionnera des erreurs de manipulation et fatiguera le personnel dans le
traitement des informations. Ce fonctionnement possède néanmoins des avantages et des
inconvénients.
Avantage :

Dépenses réduites dans le matériel informatique ;

Garantie de fonctionnement.
Inconvénients :

Les procédures de créations des comptes d’annuaires restent toujours manuelles et la
fatigue humaine peut commettre les erreurs de temps à autre ;
22

III.
La durée d’exécution très longue allant pratiquement a 3 mois
SOLUTIONS EXISTANTES ET NOUVELLE ORIENTATION
Tableau 2 Solutions existantes [13]
Critères
JXplore
phpLDAPadmin
LDAP
Synchronization
Connector
LDAP User
Manager
LDAP
Administrator
Très coûteux
non
non
non
non
oui
Création de
compte
oui
oui
oui
oui
oui
Mise à jour
oui
oui
non
non
oui
Déplacement
automatique des
comptes existant
non
non
non
non
non
Gestion de mot
de passe
oui
oui
oui
oui
oui
Envoie de mail
non
non
non
oui
non
Synchronisation
à partir d’une
source existante
non
non
oui
non
non
Personnalisable
non
non
non
non
non
Multiplateforme
oui
oui
non
oui
non
Graphique
oui
oui
non
oui
oui
Niveau de
compétence
requis élevé
non
non
oui
non
non
Au vue du tableau précèdent, il apparait que les solutions déjà existantes ne sont pas
assez adéquates ou bien incomplètes pour la plupart (JXplore, phpLDAPadmin, LDAP User
Manager), couteux (LDAP Administrator) et difficile à appréhender pour celle digne d’intérêt
(LDAP Synchronisation Connector).
Etant donné que le système actuel est encore assez rudimentaire et ne répond pas aux
attentes, les principaux acteurs rencontrent d’importantes difficultés dans l’exercice de leurs
tâches quotidiennes, diminuant par conséquent leur productivité. Ainsi pour optimiser la
productivité des acteurs de ce système, il est donc important de mettre sur pied un système
entièrement personnalisable, facile d’utilisation et adaptée aux besoins requis.
23
SECTION 2 : CAHIER DE CHARGES
Le cahier des charges est un document qui décrit avec précision les besoins des utilisateurs et
les conditions nécessaires à la réussite d’un projet. Il est à la fois un outil de communication et
de description du projet pour éviter la production des résultats inadéquats.
I.
BESOINS
Le besoin exprime ici est celui de concevoir une passerelle interopérable de génération des
comptes d’annuaire a partie d’une API pour permettre de :

Créer automatiquement les comptes d’annuaire des étudiants a partie des informations
existante en amont

Organiser les comptes crée en a année académique et les grouper par classe

Déplacer automatiquement lors de la création les comptes déjà existant dans l’annuaire
vers le nouvel emplacement (nouvel année académique > nouvelle classe > nouveau
groupe)

Envoie automatique du manuel d’utilisation des différents services offert par l’institut
aux étudiants a la création des comptes d’annuaire
II.
OBJECTIFS
Afin de répondre au mieux aux besoins, nous avons pu résumer les attentes spécifiques selon
trois axes d’organisation, à savoir : l’axe fonctionnel, l’axe structurel et l’axe ergonomique.
II.1. AXE FONCTIONNEL
L’axe fonctionnel montre des actions qui amènent des possibilités supplémentaires a notre
système, nos fonctionnalités sont groupées en catégories comme suit :





Gestion des années académiques
 Création et consultation
Gestion automatique des classes
 Création et consultation
Gestion automatique des comptes étudiants
 Création, modification et consultation
 Consulter les comptes par groupe
Envoi automatique du manuel d’utilisation par mail aux différents comptes crée
Rapports
24
II.2. AXE STRUCTUREL
L’architecture doit être une architecture n-tiers base sur 4 niveaux à savoir :

La couche cliente représentée par un navigateur

La couche de présentation représentée par un serveur web

La couche traitement représenté par un serveur de d’application

La couche d’accès aux donnés représentée par un serveur de base de données
II.3. AXE ERGONOMIQUE
La disposition des éléments sur l’écran doit garantir à l’utilisateur une souplesse afin
d’améliorer
à
coup
sûr
l’expérience
utilisateur.
Qu’importe la taille et la disposition de l’écran, l’application doit rester conforme.
III.
CRITERES D’ACCEPT ATION
Les critères d’acceptation (ou acceptance criterias en anglais) sont rédiges par le Product
Owner (parfois en collaboration avec l’équipe de développement) et accompagnent chaque
user story : ils représentent un ensemble de conditions que la story doit satisfaire pour être
considérée comme complète et terminée.
Pour formaliser les critères d’acceptations, les PO utilisent souvent une structure inspirée du
langage Gherkin dédie a la description de comportements logiciels. Cette structure s’appelle
GIVEN-WHEN-THEN (Etant donne – Quand – Alors) :

GIVEN : l’état du logiciel avant l’exécution de la user story

WHEN : un évènement qui déclenche un processus

THEN : l’état du logiciel après l’exécution. [14]
Les critères d’acceptabilité de notre système sont les suivants :
Utilisabilité
Ou encore aptitude à l'utilisation est définie par la norme ISO 9241-11 comme « le degré selon
lequel un produit peut être utilisé, par des utilisateurs identifiés, pour atteindre des buts définis
avec efficacité, efficiences et satisfactions, dans un contexte d'utilisation spécifié ». [15]
25
COMPRÉHENSIBILITÉ
Ce principe de compréhension touche particulièrement les personnes ayant des limitations
cognitives, mais rendra aussi les contenus web plus accessibles aux autres personnes ayant des
limitations fonctionnelles ainsi qu’à tous les utilisateurs sans limitations.
ROBUSTESSE
Le principe de robustesse vise à ce que les contenus soient compatibles avec une large variété
de navigateurs ou d’argents utilisateurs et particulièrement avec les technologies d’assistance
utilisées par les personnes ayant des limitations fonctionnelles.
IV.
PLANNING ET COUTS
IV.1
EVALUATION DU COUT DE REALISATION DU PROJET
IV.1.1
RESSOURCES HUMAINES
On désigne ici les personnes intervenant directement pour la réalisation du projet du
point de vue rédaction des documents liés au projet et à sa réalisation.
Tableau 3 : Ressources humaines
Noms et prénoms
Rôles
M. TEKOUGJOU François Xavier
Encadreur académiques
Pr. JAZET Pierre Michel
Superviseur
M. TEUKEU Hypolithe
Encadreur professionnel
GNINTEDEM Noutsa Jospin
Etudiant MASTER II SIGL/IUC
IV.1.2
RESSOURCES MATERIELLES
On désigne par ressource matérielle l’ensemble des biens physiques qui sont utilisés par
l’entreprise pour mener à terme ses activités
26
Tableau 4 : Ressources matérielles
Désignation
Caractéristique
Quantité Prix unitaire
(FCFA)
Ordinateur
(portable)
SSD 1To, RAM 8Go, CORE 01
i7
350000
350 000
Serveur
Windows local
SSD 500Go, RAM 8Go,
CORE i5
01
0
0
Serveur Linux
local
SSD 100Go, RAM 8Go,
CORE i5
01
0
0
350 000
Montant Total
IV.1.3
Prix total
(FCFA)
RESSOURCES LOGICIELLES
Tableau 5 : Ressources logicielles
Nom
Editeur
Version
Licence
Fonction
Windows
serveur
Windows
2012 R2
Payant
Système
100 000
d’exploitation
Ubuntu
Ubuntu
Foundation
20.04
Gratuit
Système
0
d’exploitation
Apache
Apache
Software
Foundation
2.0
Gratuit
Serveur web
0
Intellij
IDEA
Jetbrains
2019.3
Payant
IDE
250 000
Gliffy
Rogue Wave
Software
Propriétaire
Création
graphique
0
Gantt
Project
GanttProject
Team
2.8.11
Gratuit
Gestion des
taches
0
StarUML
MKLab
3.2.1
Propriétaire
Conception et 42 000
modélisation
Montant Total
Prix
(FCFA)
392 000
Bilan
La méthode utilisée pour l’estimation des couts du projet est la méthode comparative ou
analogique. En effet cette méthode est la plus utilisée lorsqu’un projet similaire a déjà été
réalisé. L’estimation prend en compte les différences majeures avec les projets de même type,
27
la base des couts de l’entreprise et la variation des couts en fonction de la devise (FCFA, EURO,
DOLLAR, …). Cette méthode d’estimation a une marge d’erreur de plus ou moins 10%.
Pour une estimation plus précise du projet, nous couplons cette méthode avec la méthode des
trois (03) points qui consiste a :
1. Sélectionner les personnes ayant une bonne connaissance du sujet
2. Leur demander de fournir individuellement leurs estimations liées au projet
3. Déterminer l’estimation (E) en fonction de l’estimation la plus pessimiste (PP),
l’estimation la plus optimiste (PO) et l’estimation la plus probable (PB) suivant la
formule suivante : E = (PO + 4*PB + PP)/6. [16]
NB : il est important de noter que l’utilisation de la méthode des trois points est inappropriée si
l’estimation pessimiste est trop éloignée de l’estimation probable.
Ainsi, on a le tableau d’estimation des couts suivant :
Tableau 6 : Bilan
Charges lies au projet
Coût (FCFA)
Ressources matérielles
350 000
Ressources logicielles
392 000
Autres charges
150 000
Total
892 000
Main d’œuvre (30% du cout du projet)
267 600
Total
1 159 600
Imprévus (10% du cout du projet)
115 960
Cout total du projet
IV.2
PLANIFICATION DU PROJET
IV.2.1
PRODUCT BREAKDOWN STRUCTURE (PBS)
1 275 560
Le Product Breakdown Structure est une décomposition organisée et cohérente du projet en
produits ou module et sous-produits ou sous-modules. C’est l’expression exacte de tout
(matériel, logiciel), ce qui doit être accompli pour arriver à la fin du projet.
28
Figure 9 : Product Breakdown Structure
IV.2.2
ORGANIGRAMME DES TACHES (WORK BREAKDOWN STRUCTURE)
L’organigramme des taches nous permettra de présenter la répartition des tâches sur des
intervalles de temps bien délimité. Le tableau 7 pages 29 met en exergue l’organigramme des
taches liées au projet.
Tableau 7 : Organigramme des taches
Date
Tache
Responsable
Résultats
attendus
Moyens
Du 10/03/2021
Attribution du
thème
GNINTEDEM,
Thème du projet
Humains
Validation du
thème
GNINTEDEM,
Thème définitif
du projet
Humains
Au 12/03/2021
M. TEKEU
(03 jours)
Du 13/03/2021
Au 15/03/2021
Pr. JAZET
(02 jours)
Du 16/03/2021
Au 08/05/2021
(47 jours)
Du 10/05/2021
Au 19/05/2021
(09 jours)
M. TEKOUGJOU,
Recherche et
collection des
informations
GNINTEDEM,
Existant
Humains et
matériels
Rédaction du
cahier des
charges
GNINTEDEM,
Cahier des
charges
Humains
M. TEKEU,
M. TEKOUGJOU,
Pr. JAZET
29
Du 20/05/2021
Au 03/06/2021
(13 jours)
Du 04/06/2021
Au 22/06/2021
(16 jours)
Du 23/06/2021
Au 24/06/2021
Réalisation et
validation du
Template web
GNINTEDEM,
Template web
Humains et
matériels
Développement, GNINTEDEM,
intégration des
M. TEKEU
services et test
Application web
Humains et
matériels
Déploiement de
la solution
GNINTEDEM,
Utilisation de la
plateforme en
entreprise
Humains et
matériels
Formation des
utilisateurs
GNINTEDEM,
Formation du
personnel
Humains et
matériels
Rédaction du
mémoire
GNINTEDEM,
Rapport de
mémoire
Humains et
matériels
Rédaction du
PowerPoint
GNINTEDEM,
Powerpoint de
présentation
Humains et
matériels
M. TEKEU
(02 jours)
Du 25/06/2021
Au 26/06/2021
(02 jours)
Du 10/05/2021
Au 03/07/2021
(48 jours)
Du 05/07/2021
Au 08/07/2021
(04 jours)
IV.2.3
DIAGRAMME DE GANTT
Conçu à partir du Work Breakdown Structure (WBS), le diagramme de Gantt donne une
vue globale du projet et permet de visualiser dans le temps les diverses taches.
Figure 10 Diagramme de GANTT
30
IV.3
LIVRABLES
Le livrable désigne tout composant matérialisant le résultat d’une prestation de réalisation
a la direction des systèmes d’information, c’est-à-dire toute production émise par le titulaire au
cours du projet : document, courrier, module de code logiciel, dossiers de tests, application
intégrée.
Le livrable peut faire l’objet d’un bordereau de livraison, qui liste le contenu, la date, le
fournisseur,
le
client,
l’approbation
par
le
client,
et
autre
métadonnée.
Une fois les objectifs atteints, les livrables seront les suivants :

Le cahier de charges,

Le document d’analyse,

Le document de conception,

Le document de réalisation,

La version beta de l’application,

Le guide d’installation.
31
CHAPITRE 3 : METHODOLOGIE ET OUTILS
SECTION 1 : MOTIVATION ET CHOIX METHODOLOGIQUE
I.
MOTIVATION
Les nouvelles technologies de l’information et de la télécommunication permettent
d’intégrer des processus et fonctionnalités dans les entreprises. Ces technologies qui étaient
jadis une exclusivité des grandes entreprises, sont maintenant à la portée de petites et moyennes
entreprises. Ce mouvement a un impact sur la gestion globale de l’entreprise, sur sa vision et
également sa stratégie. De ce fait, pour solutionner notre problématique, il est judicieux pour
nous de de bien faire le choix des outils et modèle adéquat, afin de rester productif.
II.
CHOIX DU MODELE DE CYCLE DE VIE
Un modèle de cycle de vie est une représentation abstraite d’un ensemble structure d’activités
nécessaires pour le développement d’un logiciel. Ils en existent une panoplie, différents par la
taille de l’équipe engagée dans le projet, les besoins du client, le temps imparti et le budget
alloue. Cependant, toutes sont structurées pour permettre la production d’un logiciel de qualité,
fidèle aux spécifications de départ. Entre spécification et conception, implémentation,
validation, amélioration ou maintenance, les modelés de processus visent à accroitre la
productivité des équipes de développement.
Le tableau ci-dessous essaie de présenter différents modèles de processus parmi les plus connus
avec leurs avantages et inconvénients. [17]
Tableau 8 Quelques modèles de cycle de vie
Modeles
Avantages
Inconvenients
Cascade
Simple de compréhension et
d’utilisation, facile à manager,
les étapes s’exécutent une à la
fois, bonne documentation des
résultats
Aucun produit logiciel avant la fin du
cycle, risque et incertitude élevé,
inadapté pour les projets complexes et
orientes objets, difficulté de mesure de
l’évolution
V
Très discipline, marche bien pour Risque et incertitude élevé, non
les petits projets, simple et facile adéquat aux projets complexes et
d’utilisation
orientes objet, non adéquat pour les
32
projets comportant un haut risque de
changement
Spirale
Possibilité d’adaptation en cas de
changement des spécifications, le
développement peut être divisé
en petites parties, meilleurs
gestion des risques
Gestion plus complexe du projet, à la
fin du projet n’est pas très vite
perceptible, onéreux pour de petits
projets, la spirale peut ne pas s’achever
Itératif
Résultat périodiques, possibilité
de développement parallèle,
faible cout de changement, test et
debugage continu, meilleure
analyse des risques
Requiert d’importantes ressources,
difficile de changer les spécifications
initiales malgré la facile adaptation au
changement,
requiert
beaucoup
d’attention managériale, incompatible
aux petits projets
RAD (Rapid
Application
Development)
Favorable au changement de
spécifications,
mesure
de
l’évolution, évolution rapide en
cas d’utilisation de puissants
outils, productifs avec faible
effectif, temps de développement
réduit, encourage la réalisation
des composants
Dépend de l’habilite technique de
l’équipe à détecter des outils puissants,
seul les systèmes modulables peuvent
être développes avec ce modèle,
requiert
des
développeurs
et
concepteurs hautement
qualifiés,
complexité de management, adéquat
pour les systèmes orientes composant
et scalables
Scrum
Approche très réaliste pour le
développement
logiciel,
encourage le travail en équipe,
possibilité de développement et
de démonstration rapide des
fonctionnalités,
ressources
requises minimales, favorable au
changement de spécifications,
facile à manager
Pas favorable à la gestion de
dépendances complexes, risques élevé
de maintenance et d’extensibilité,
dépend de l’interaction avec le client,
manque de documentation donc
difficulté de transfert technologique a
une nouvelle équipe
Au vue de ce tableau, on observe que, la composition de l’équipe engagée dans le
développement, le temps imparti, le budget, les contraintes de livraison et les compétences
techniques sont importantes pour fixer le choix du modèle de processus à adopter.
En effet, pour la réussite de ce projet, le travail en équipe et les démonstrations ont été
fortement sollicités pour fournir une solution de qualité. De plus le cadre de travail doit
permettre de répondre à des problèmes complexes, tout en livrant de manière productive et
créative des produits de la plus grande valeur possible.
33
Cycle de vie et assurance qualité étant fortement lies, nous pouvons donc pencher pour
le modèle Agile et plus précisément la méthode SCRUM qui semble s’accommoder à ces
contraintes mais requiert néanmoins énormément de temps dans la réalisation du projet.
III.
PRESENTATION DE LA METHODOLOGIE
III.1
METHODOLOGIE ADAPTE SCRUM
Suite à une étude comparative, nous avons remarqué que les approches agiles sont plus adaptées
à notre projet que toutes les approches traditionnelles. Bien qu’agile soit l’approche choisi, il
faut noter que cette approche contient plusieurs méthodes parmi lesquelles :

Scrum/XP Hybrid

Agile Unified Process (AgileUP)

Custom Hybrid (multiple méthodologies)

Scrumban

Itérative Development

Scrum …
Cependant, la méthodologie Scrum de l’approche agile est celle qui a retenu notre attention en
raison des points suivant :
 Scrum convient aux équipes ayant un nombre de développeurs réduits. Ceci est notre
cas.
 Le client est impliqué dans le développement de l’application : la consultation du client
est nécessaire dès l’achèvement d’une tache.
 La progression des taches s’effectue pendant une durée de développement courte.
III.2
PRESENTATION DE SCRUM
La méthodologie Scrum a été conçue pour améliorer grandement la productivité dans les
équipes auparavant paralysées par les méthodologies plus lourdes. Le principe de base de Scrum
est de focaliser l’équipe de façon itérative sur un ensemble de fonctionnalités à réaliser, dans
des itérations de durée fixe allant d’une a quatre semaines appelées SPRINT.
Chaque sprint possède un but à atteindre, défini par le directeur de produit, a partie duquel sont
choisies les fonctionnalités à implémenter dans le sprint. Un sprint abouti toujours sur la
livraison d’un produit partiel fonctionnel. Pendant ce temps, le Scrum Master a la charge de
34
réduire au maximum les perturbations extérieures et de résoudre les problèmes non techniques
de l’équipe. Ce processus est illustré par la figure suivante :
Figure 11 Processus Scrum
Source : https://upload.wikimedia.org/wikipedia/commons/8/89/VueGlobaleScrum.png
III.2.1
LES ACTEURS
On distingue plusieurs acteur, dont :
 Le directeur de produit encore appelé Product Owner est le représentant des clients et
des utilisateurs, et fait partie également de l’équipe.
 Le Scrum Master veille à l’application de la méthodologie Scrum au sein de l’équipe.
 L’équipe qui contribue à la réalisation des fonctionnalités du projet (planification,
développement, test et documentation). A noter que les membres de l’équipe travaillent
tous ensemble : chaque membre peut faire ainsi des propositions, exprimer des idées et
écouter les autres.
III.2.2
LE PROCESSUS
Tous les critères ou exigences du produit sont regroupées dans des journaux ou backlogs dont
on distingue 2 types :
 Le backlog de produit ou « Produit backlog » en français qui regroupe la liste des
fonctionnalités du produit.
 Le backlog de sprint ou « sprint backlog » en fonction des fonctionnalités du produit,
regroupe la liste des taches qui devra être réalisées à l’itération en cours. Chaque tache
35
aurait fait l’objet d’une estimation préalable de charge par l’ensemble des membres de
l’équipe afin d’estimer au mieux les taches qui peuvent réaliser un sprint.
III.2.3
PLANIFICATION
Le sprint : dès le début d’un projet, la première planification permet de définir le périmètre de
chaque itération appelé sprint. Chaque sprint dure quelques semaines et regroupe une liste de
taches (défini dans le backlog).
La mêlée quotidienne : de plus, elle est rythmée par ce qu’on appelle une mêlée quotidienne
d’un quart d’heure qui consiste chaque jour avec les membres de l’équipes ainsi que le directeur
de produit de se tenir au courant de l’avancement du projet, notamment en :
 Faisant le point sur le travail effectue la veille par chacun
 Définissant les taches qui sont réalisées durant la journée
 Résolvant les éventuels problèmes qui avaient ou qui pourraient être rencontre par
chacun
 Le développement suit un processus un processus itératif et incrémental : de nouvelles
fonctionnalités sont rajoutées au produits.
III.2.4
LA REVUE DE SPRINT
La fin d’un sprint aboutit à la réalisation d’un produit avec des fonctionnalités partielles, avec
la documentation associée. Dans la plupart des cas, cela conduit à une revue de sprint consistant
à faire une démonstration de la réalisation du sprint devant le client afin de valider le travail
réalisé et d’avoir un retour pour éventuellement ajuster le backlog du produit.
III.3
CHOIX DE LA METHODE D’ANALYSE
Pour programmer une application, il ne convient pas de se lancer tète baissée dans l’écriture du
code : il faut d’abord organiser ses idées, les documenter, puis organiser la réalisation en
définissant les modules et étapes de la réalisation. Cette démarche antérieure à l’écriture que
l’on appelle modélisation a pour produit un modèle. Le tableau 9 page 37 illustre les méthodes
d’analyse les plus connues.
36
Tableau 9 Méthodes d’analyse [18]
Concept
Description
Merise (Méthode d’Etude et de Repose sur 5principes fondamentaux qui ont
Réalisation Informatique par les précède à son élaboration (l’approche systémique,
Systèmes d’Entreprise)
les
cycles
de
construction
des
systèmes
d’information, l’approche fonctionnelle, la vision
duale des données-traitement et approche du
général au particulier).
UML (Unified Modeling Language)
Langage graphique de modélisation de données et
de traitements
SADT (Structured Analysis and Démarche systémique de modélisation d’un
Design Technique)
système complexe ou d’un processus opératoire
NIAM
Méthode d’analyse et de conception pour les
systèmes d’information
OMT (Object Modeling Technique)
Méthode qui permet de couvrir l’ensemble des
processus d’analyse et de conception en utilisant le
même formalisme. L’analyse repose sur les trois
points de vue : statique, dynamique, fonctionnel.
Donnant lieu à trois sous modèles.
BOOCH
Méthode qui permet de faciliter l’implémentation
de
programmes
dans
des
langages
de
programmation orientée objet, ainsi que de
représenter
les
différentes
phases
du
développement d’un projet.
OOSE
Méthode de développement crée par Ivar Jacobson,
caractérisée par la définition des « use cases » (cas
d’utilisation). Elle a été intégrée dans UML à partir
de 1995
2TUP
Processus de développement logiciel qui bénéficie
de la maturité de nombreuses méthodes telles
q’OOSE, BOOSH, OMT.
37
Les méthodes de modélisation ou d’analyse ont l’objectif commun de permettre que le système
soit compréhensible par toutes les parties prenantes actuelles et futures du projet.
Ainsi nous avons donc choisi le langage UML pour la richesse des détails conceptuels qu’il
offre et sa facilite d’interprétation. De plus, il garantit une bonne compréhension de vues du
système à mettre sur pied.
38
39
CHAPITRE 4 : ANALYSE ET CONCEPTION DE LA SOLUTION INFORMATIQUE
Section 1 : Analyse approfondie
Section 2 : Modélisations Conceptuelles
Section 3 : Architecture générale de l’application
CHAPITRE 5 : RÉSULTATS OBTENUS ET DISCUSSION
Section 1 : Outils et méthodes d’implémentation
Section 2 : Présentation de la solution réalisée et test
Section 3 : Évaluation des résultats obtenus et impact sur l’entreprise
CONCLUSION GÉNÉRALE
40
BIBLIOGRAPHIE
[1] Antoine Bouët, «OpenClassrooms»: https://openclassrooms.com/fr/courses/2257706presentation-du-concept-dannuaire-ldap. Consulté le 13/05/2021 à 20h50
[2] F.Latti ET N.Hammadi, «Configuration et administration d’un annuaire LDAP avec un
serveur de messagerie électronique en utilisant l’outil phpLDAPadmin», PFC, université Abou
Bakr Belkaid-Tlemcen. Consulté le 13/05/2021 à 21h32
[3]
C.Forget,
«OpenLDAP
Implémentation
d’un
annuaire
LDAP,»:
https://docplayer.fr/45740556-Openldap-implementation-d-un-annuaire-ldap.html. Consulté le
14/05/2021 à 9h28
[4] A.Guermouche, «Administration réseau Annuaire LDAP,» : https://docplayer.fr/16357588Administration-reseau-annuaire-ldap.html. Consulté le 14/05/2021 à 10h17
[5] F.Lau et Ph.Dajean, «LE PROJET D'ANNUAIRE D'ENTREPRISE,» CIGREF, 2005.
[6] N.HOUSSET, «IMPLEMENTATION D’UNE AUTHENTIFICATION LDAP DANS SAS» :
https://www.sas.com/content/dam/SAS/fr_fr/doc/supportclients/articles/us2016_q3_implementation-d-une-authentification-ldap-dans-sas.pdf. Consulté
le 15/05/2021 à 20h20
[7] «Le protocole LDAP» : https://www.commentcamarche.net/contents/525-le-protocole-ldap.
Consulté le 19/05/2021 à 10h32
[8]
C.Duvallet,
«Introduction
aux
annuaires
LDAP,» :
http://litis.univlehavre.fr/~duvallet/enseignements/Cours/M2MATIS/M2SRO-LDAP.pdf. Consulté le 19/05/2021 à
18h14
[9] A.WEI, «LDAP (Lighweight Directory Access Protocol)» : https://docplayer.fr/19167656-Ldaplighweight-directory-access-protocol.html. Consulté le 19/05/2021 à 18h51
[10] B.Métrot, «Rappels LDAP,» : http://anf2012.mathrice.fr/lib/exe/fetch.php?media=rappelsldap.pdf. Consulté le 20/05/2021 à 16h32
[11] Y.ADJAOUD et T.KEHOUL, Authentification unique avec CAS et LDAP, Béjaïa, MPE Option :
http://www.univbejaia.dz/xmlui/bitstream/handle/123456789/9289/Authentification%20unique%20av
ec%20CAS%20et%20LDAP.pdf?sequence=1&isAllowed=y. Consulté le 24/05/2021 à 20h51
[12] N.Foukia et M.Hoerdt, «Lightweight Directory Access Protocol - LDAP,» 2017- 2018. [En ligne].
Available: https://hepia.infolibre.ch/reseauxII-2017-2018/cours/RA-LDAP-2017-2018.pdf.Consulté le
24/05/2021 à 21h28
41
[13] «List of LDAP software» : https://en.wikipedia.org/wiki/List_of_LDAP_software. Consulté
le 27/05/2021 à 20h55
[14]
HUGO
GEISSMANN,
«Criteres
d’acceptation» :
https://blog.thiga.co/glossaire/criteresdacceptation/#:~:text=Les%20crit%C3%A8res%20d'acc
eptation%20(ou,consid%C3%A9r%C3%A9e%20comme%20compl%C3%A8te%20et%20ter
min%C3%A9e. Consulté le 28/05/2021 à 19h48
[15]« Utilisabilite » :https://fr.wikipedia.org/wiki/Utilisabilit%C3%A9#:~:text=L'utilisabilit%C3%A9
%2C%20ou%20encore%20aptitude,contexte%20d'utilisation%20sp%C3%A9cifi%C3%A9%20%C2
%BB. Consulté le 29/05/2021 à 05h11
[16] « Three-point estimation » : https://en.wikipedia.org/wiki/Three-point_estimation. Consulté le
29/05/2021 à 12h11
[17] « Tutoriel point, SDLC Models » : https://www.tutorialspoint.com/sdlc/index.htm. Consulté le
04/06/2021 à 12h11
[18]
Wikipedia,
Methodes
d’analyse
et
de
conception,
https://fr.wikipedia.org/wiki/M%C3%A9thodes_d%27analyse_et_de_conception. Consulté le
08/06/2021 à 08h49

Brian Desmond, Joe Richards, Robbie Allen, Alistair G. Lowe-Norris ; Active
Directory: Designing, Deploying, and Running Active Directory ; 5e édition ; 710
pages.

Balaji Varanasi ; Practical Spring LDAP: Enterprise Java LDAP Development Made ;
204 pages.
42
Téléchargement