Vous êtes sur la page 1sur 184

DÉVELOPPEMENT WEB

LES BASES DU LANGAGE PHP

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 1


SOMMAIRE

1- PREMIER PROGRAMME
2- LES DIFFÉRENTS TYPES DE COMMENTAIRES
3- LES CONSTANTES
4- LES VARIABLES
5- LES TABLEAUX
6- LES OPERATEURS
7- LES STRUCTURES DE CONTRÔLE ET ITERATIVES
8- LES PROCÉDURES ET FONCTIONS UTILISATEURS

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 2


1- PREMIER PROGRAMME : affichage du traditionnel « Hello World »

Dans le chapitre précédent , nous avons montré que PHP était un langage de script dynamique
précompilé et interprété côté serveur. Il nous appartient maintenant de réaliser nos premiers
programmes et de les exécuter sur le serveur Web (local ou distant),

En programmation informatique, il existe une "tradition" qui est de générer la chaîne de caractères
Hello World ! sur la sortie standard (dans notre cas c'est un écran d'ordinateur). Commençons donc
par le tout premier script.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 3


1- PREMIER PROGRAMME : affichage du traditionnel « Hello World »
Premier script PHP
Note : tous les fichiers comportant du code PHP doivent obligatoirement être enregistrés avec l'extension
.php (ou .phpX où X est le numéro de version de PHP)

Exécutez ce premier script dans un navigateur Web (Chrome, Firefox, Opéra, Internet Explorer...). Vous
constatez que le texte Hello World ! s'affiche bien à l'écran. Nous obtenons donc le résultat escompté au
départ.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 4


1- PREMIER PROGRAMME : affichage du traditionnel « Hello World »
Explication du code
Tout script PHP doit être entouré par deux balises pour le délimiter d'un autre type de contenu se trouvant
dans un même fichier (du code HTML par exemple). Ici nous utilisons les marqueurs <?php et ?>.
C'est la première bonne pratique à adopter quand on code en PHP.
La seconde partie du code correspond à ce que l'on appelle en programmation une instruction. La fonction
echo() (ou plutôt la structure de langage car c'est une fonction particulière de PHP) se charge d'écrire ce qu'on
lui passe en paramètre sur la sortie standard. Ici le paramètre est une chaîne de caractère (type) dont la valeur
est « Hello World ! ».

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 5


1- PREMIER PROGRAMME : affichage du traditionnel « Hello World »
Amélioration du code
Nous allons générer notre Hello World ! au milieu d'un document HTML.

TAF: Générer du code HTML.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 6


1- PREMIER PROGRAMME : affichage du traditionnel « Hello World »
Nous venons de voir, dans cette première partie comment :

• intégrer du code PHP dans une page web.


• afficher du texte sur la sortie standard.
• générer du code HTML.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 7


2- LES DIFFÉRENTS TYPES DE COMMENTAIRES
Comme dans tout autre langage de programmation, PHP dispose de sa syntaxe de commentaires. Il en existe
d'ailleurs plusieurs sortes que nous allons détailler. Les commentaires font partie des éléments triviaux dans
la réussite d'un programme; et c'est pourquoi il est important de les utiliser avec intelligence.
Un commentaire, dans un langage de programmation, est une ligne écrite en langage naturel (langue
maternelle du développeur par exemple) qui ne sera pas exécutée par l'interpréteur (ou le compilateur selon
le langage employé). Sa fonction est de décrire ou bien d'expliquer une partie du code qui se révèlerai
délicate à déchiffrer en cas de maintenance ou de travail collaboratif (plusieurs développeurs travaillant sur
le même programme).
Les commentaires sont donc particulièrement utiles pour un développeur solitaire, mais ils le sont davantage
lorsque c'est une équipe complète qui travaille sur un même projet. Ils permettent entre autre d'imposer des
nomenclatures et une organisation dans l'écriture du code d'un projet collaboratif. De plus, les commentaires
assurent une maintenance plus aisée du programme par son auteur ou une tierce personne.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 8


2- LES DIFFÉRENTS TYPES DE COMMENTAIRES
Le commentaire linéaire
Il existe trois sortes de commentaire. Le commentaire sur une seule ligne, le commentaire multilignes et les
commentaires de description. Etudions ensemble les deux méthodes pour commenter un texte sur une seule
ligne.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 9


2- LES DIFFÉRENTS TYPES DE COMMENTAIRES
Le commentaire multilignes
Il permet de commenter un texte écrit sur plusieurs lignes. Il est très fréquemment utilisé par les
développeurs. Ces commentaires sont définis au moyen des symboles /* et */. L'exemple ci-après illustre
leur emploi.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 10


2- LES DIFFÉRENTS TYPES DE COMMENTAIRES
Le commentaire de description

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 11


3- Les constantes

En programmation, il est souvent nécessaire de définir des structures de données dont la valeur ne doit pas changer au
cours de l'exécution du programme. Ces structures de données sont typiquement ce que l'on appelle des constantes. La
plus connue des constantes mathématiques est par exemple le nombre PI dont la valeur est
approximativement 3.1415926535898. Notons que PHP intègre nativement la constante M_PI. Celle-ci pourra alors être
utilisée pour tout calcul de circonférence par exemple. Commençons par étudier comment on déclare une constante dans
un programme PHP.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 12


3- Les constantes
La fonction native define()
La déclaration de constante se prépare au moyen de la fonction native define() qui prend trois paramètres dont les deux
premiers sont obligatoires.

• Le premier paramètre de la fonction est une chaine de caractères qui définit le nom de la constante. Par
convention, toutes les constantes doivent être écrites en majuscules.
• Le second est la valeur que l'on affecte à cette constante. Cela peut-être une chaîne de caractères, un entier,
un réel ou bien encore un booléen.
• Enfin, le troisième argument est facultatif. C'est un booléen qui indique si l'interpreteur doit se soucier de la
casse ou non de la constante.
Nous conseillons de ne jamais renseigner ce troisième argument afin d'imposer une rigueur dans l'écriture du code.
Les deux premiers obligatoires suffisent. Passons à la déclaration de notre première constante.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 13


3- Les constantes
Déclaration d'une constante
Nous allons donc déclarer une première constante de nom TEMPERATURE_EBULLITION_EAU et qui renferme une
information numérique de valeur 100.

Notes :

[1] A la déclaration, si la valeur est un nombre, on l'inscrit telle qu'elle dans la fonction.
[2] Pour lire la valeur d'une constante, il suffit de l'appeller par son nom.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 14


3- Les constantes
Déclaration d'une nouvelle constante

Note :
A la déclaration, si la valeur est une chaîne de caractères, il faut l'entourer d'apostrophes ou de guillemets doubles.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 15


3- Les constantes
Redéfinition d'une constante
La valeur d'une constante ne peut être redéfinie ! Des erreurs de syntaxe seront retournées
en cas de tentative de redéfinition de constante ou d'affectation d'une nouvelle valeur. Les deux
scripts suivants présentent respectivement ces deux cas.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 16


3- Les constantes
Au terme de cette section, nous avons défini ce qu'est une constante et à quoi elle sert dans un programme

informatique. De plus, nous avons présenté la fonction define() qui permet de déclarer des constantes. Enfin nous

avons appris à lire le contenu d'une constante en l'appellant par son nom.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 17


4- Les variables
Parmi les concepts les plus importants de la programmation figure la notion de variable. C'est une notion à assimiler et maîtriser pour
pouvoir entreprendre les premières applications de base. Nous verrons que les variables font partie des mécanismes qui permettent de
rendre une application dynamique.
Une variable est une structure de données de type primitif (entier, réel, caractère, chaîne de caractères, booléen ou null) ou bien de type
structuré (tableau ou objet) qui permet de stocker une ou plusieurs valeurs. Chaque valeur d'une variable est susceptible d'être
remplacée par une autre au cours de l'exécution du programme. D'où le terme « variable ». En programmation, une variable est définie
suivant 4 informations essentielles listées ci-après :
• Un nom
• Un type
• Une / des valeurs
• Une sémantique (un sens) après les opérations effectuées sur cette variable. Plus concrètement, la valeur de la variable est-
elle logique par rapport à son contexte initial ?

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 18


4- Les variables
Déclaration et initialisation d'une variable
Après cette introduction plutôt théorique, nous entamons la partie pratique du sujet. Il s'agit de la déclaration et de
l'initialisation d'une variable en langage PHP. Contrairement à des langages très typés comme C, C++ ou Java; PHP ne
porte pas d'importance au typage des variables. Par exemple, pour une même variable, le programmeur est libre de lui
affecter une valeur de type entier à un instant T1 puis de lui affecter une chaine de caractères à un instant T2. On dit
que PHP est un langage de typage « faible et dynamique ». Cela rend son utilisation plus souple par les développeurs
mais pas forcément plus assidue... C'est d'ailleurs quelque chose que l'on peut reprocher à PHP.

Afin d'adopter de bonnes pratiques dès le début, il est important de déclarer toute vos variables avec un type et leur
affecter une valeur par défaut. Retenez le terme d'affectation au passage.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 19


4- Les variables
Déclaration et initialisation d'une variable
Toute variable doit être déclarée au moyen du signe dollars $ suivi obligatoirement de lettres (en majuscules ou
minuscules) ou d'un underscore (tiret souligné _ ). Ci-dessous, un tableau récapitulatif des syntaxes correctes et
incorrectes de déclaration de variables.

Correct Incorrect Explications


Déclaration de variables PHP
$variable variable Une variable doit commencer par $
$Variable1 $Variable 1 Les espaces sont interdits
$variable_suite $variable-suite Le tiret est interdit
$_variable $-variable Le tiret est interdit
$variable2 $2variable Il ne peut y avoir de chiffre après le $

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 20


4- Les variables
Déclaration et initialisation d'une variable
Note : PHP est l'un des rares langages de programmation acceptant les caractères accentués dans les noms de
variables. Cependant les employer est fortement déconseillé pour des raisons de maintenance et de portabilité.
Le script suivant présente la déclaration de 6 variables de types différents. La première et la seconde sont de type
chaine de caractères, la troisième de type entier, la quatrième de type booléen, la cinquième de type tableau et la
dernière de type Etudiant. Nous n'aborderons pas ces deux derniers dans ce tutoriel. D'autres tutoriels sont dédiés aux
tableaux et à la programmation orientée objet

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 21


4- Les variables
Déclaration et initialisation d'une variable
Pour déclarer une variable de type :
• string : on entoure la chaîne de caractères de guillemets ou d'apostrophes.
• entier, réel ou flottant : on écrit la valeur telle qu'elle. Pour les flottants, la virgule est remplacée par un point
(écriture à l'américaine).
• booléen : on écrit true ou false directement.
• sans type : si l'on ne souhaite pas typer la variable, on lui affecte la valeur null.
Note : le type d'une variable n'est pas déclaré explicitement comme en Java, C ou encore C++ mais implicitement au
moment de l'affectation d'une valeur.
Les noms de variables sont sensibles à la casse, ce qui signifie que l'interpréteur fera la différence entre deux variables
écrites différemment. Par exemple, $nom et $NOM seront considérées comme deux variables complètement
distinctes.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 22


3- Les variables
L'affectation de valeur à une variable
L'affectation permet de fixer une valeur à une variable. Elle s'effectue au moyen du symbole égal =. Dans le script
précédent, nous avons déclaré 6 variables et leur avons affecté à chacune une / plusieurs valeur(s) par défaut.

L'exemple ci-dessous montre comment changer la valeur d'une variable. Rien n'est compliqué puisque c'est exactement la
même chose que précédemment.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 23


4- Les variables
La concaténation
Sous ce terme un peu « barbare » se cache un principe fondamental lié des variables. La concaténation n'est ni plus ni moins que
l'opération permettant d'assembler deux ou plusieurs informations dans une variable. Cette opération se réalise au moyen de
l'opérateur de concaténation qui est le point (.). Illustrons cela avec un exemple :

Nous avons placé ici dans la variable $identite, le contenu de

la variable $prenom suivi d'un espace par concaténation et

enfin le contenu de la variable $nom.

Nous aurions également pu procéder de la manière suivante,

ce qui nous évite d'employer une nouvelle variable $identite.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 24


4- Les variables
Opérations mathématiques sur les variables
Les variables peuvent contenir des nombres. Il est donc logique que nous puissions opérer mathématiquement sur ces valeurs.
PHP propose une série d'opérateurs mathématiques assurant cela. Il est donc possible d'additionner, diviser, multiplier, ou encore
soustraire les valeurs des variables.

Les exemples ci-dessous illustrent l'emploi de ces différents opérateurs

mathématiques.
L'opérateur modulo (%) retourne le reste de la division de deux nombres.
L'opérateur d'incrémentation augmente de 1 la valeur de la variable.
La syntaxe $a++ est identique à $a+=1 et $a = $a+1.
L'opérateur de décrémentation diminue de 1 la valeur de la variable.
La syntaxe $b-- est identique à $b-= 1 et $b = $b-1.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 25


4- Les variables
Les variables dynamiques
Elles sont apparues avec la version 4 de PHP et on les appelle aussi « variable variable ». Concrètement, une variable
dynamique repose sur le fait que la valeur d'une variable devienne à son tour une variable. Prenons un exemple :

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 26


4- Les variables
Test de l'existence d'une variable
Dans un programme, il est très souvent utile de savoir si une variable existe avant de pouvoir l'exploiter. Le langage PHP met à disposition
des développeurs la fonction (même structure du langage) isset() qui permet de savoir si oui ou non la variable passée en paramètre existe.
Cette fonction retourne un booléen TRUE ou FALSE. Illustrons ceci avec un exemple :

Note : il est conseillé plutôt d'utiliser la fonction empty() qui permet de savoir si une variable est vide ou non. Ainsi en faisant ce test, elle
permet de connaître deux choses :

• La variable existe ou non(elle est déclarée)

• La variable contient une valeur ou bien est vide (null par exemple)

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 27


4- Les variables
Destruction d'une variable
Il est aussi parfois utile de détruire les variables qui encombrent le programme et qui ne servent plus. Par défaut, toutes
les variables sont automatiquement effacées à la fin de l'exécution du programme mais il est néanmoins possible de forcer
leur suppression en cours d'exécution. Pour se faire, PHP dispose de la fonction (ou plutôt la structure de langage) unset()
qui prend en paramètre la variable à supprimer.

Note : si l'on souhaite supprimer plusieurs variables

d'un coup, il suffit de les lui préciser en les séparant

par une virgule.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 28


5- Les tableaux (ou arrays)
Qu'est-ce qu'un tableau ?
Avant toute chose, il est bon de préciser qu'un tableau PHP et un tableau HTML sont deux choses
complètement différentes. Un tableaux PHP a pour fonction de stocker et manipuler des informations tandis
qu'un tableau HTML sert à présenter des données sur un écran.

Les tableaux, aussi appelés arrays en anglais, sont des types de données structurés permettant de grouper des
informations ensemble. A la différence des types primitifs (entiers, réels, flottants, booléens, chaines de caractères),
les tableaux peuvent stocker une ou plusieurs valeurs à la fois (de types différents).

Lors de la déclaration d'un tableau, il est inutile de préciser sa dimension et le type de données qu'il va contenir.
PHP s'en charge automatiquement. Les tableaux sont dits dynamiques. A chaque nouvelle entrée enregistrée dans le
tableau, PHP agrandit sa taille de 1 élément.

Le langage PHP propose également deux types distincts de tableaux : les tableaux à index numériques et les
tableaux associatifs. Nous étudierons chacun de ces formats de tableaux plus loin dans ce cours.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 29


5- Les tableaux (ou arrays)
Déclaration d'un tableau
La déclaration d'un tableau vide se fait de la même manière qu'une variable, c'est à dire avec un signe dollars ($) et un
nom. Le format du nom doit respecter les mêmes règles de déclaration qu'une variable. Nous identifierons ensuite le
tableau par le nom que nous lui avons attribué.
Pour déclarer un nouveau tableau, il suffit d'utiliser la structure de langage array(). Cette fonction prend en paramètres
facultatifs (séparés par une virgule), les valeurs que l'on souhaite insérer dans le tableau pour l'initialiser. Si rien n'est
précisé en paramètre, le tableau créé sera vide. Voici 3 exemples de déclaration et d'initialisation de tableaux.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 30


5- Les tableaux (ou arrays)
Ajout d'une nouvelle entrée dans un tableau
Pour ajouter une nouvelle valeur dynamiquement à la fin des tableaux précédents, il suffit de procéder comme expliqué
dans l'exemple suivant :

NOTES :
• La première instruction ajoute dynamiquement la valeur 'salade' à la fin du tableau. Le tableau contient donc à présent : carotte,
poivron, aubergine, chou, salade.
• La seconde instruction crée dynamiquement un nouveau couple clé ('taille') => valeur (180) à la fin du tableau.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 31


5- Les tableaux (ou arrays)
Ajout d'une nouvelle entrée dans un tableau
Dans le cas du tableau indexé numériquement, il est aussi possible d'ajouter une valeur à un index précis en procédant de
cette manière :

NOTES :
• PHP agrandit dynamiquement le tableau $legumes et ajoute la valeur 'endive' à l'index 12.
• PHP agrandit encore dynamiquement le tableau $legumes et ajoute la valeur 'piment' à l'index 20.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 32


5- Les tableaux (ou arrays)
Le tableau indexé numériquement
Un tableau indexé numériquement est tout simplement une liste d'éléments repérés chacun par un index numérique unique. Le premier
élément du tableau sera repéré par l'index 0, le second par l'index 1, le troisième par l'index 2 et ainsi de suite.

Pour accéder à un élément du tableau, il suffit d'y faire référence de cette manière : $tableau[0], $tableau[1], $tableau[2]... Reprenons
notre exemple précédent :

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 33


5- Les tableaux (ou arrays)
Le tableau associatif
Il est apparu pour pallier les faiblesses du tableau à index numériques. En effet pour ce dernier, il faut absolument connaître son
emplacement pour atteindre la valeur et pour un programmeur ce n'est pas toujours le cas. De plus, une valeur repérée par un index à moins
de sens que cette même valeur repérée par une clé chainée.

Un tableau associatif est un tableau composé de couples clé chainée / valeur. A chaque clé est référencée une valeur. Nous avons vu
précédemment comment déclarer un tableau associatif et lui associer des valeurs référencées par des clés.

Pour accéder à l'une des valeurs du tableau, il suffit d'y faire référence de la manière suivante : $tableau['cle']. Dans notre exemple
précédent, nous pourrions afficher l'identité de la personne de cette façon :
Note : il est possible de mixer tableaux associatifs et tableaux indexés numériquement.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 34


5- Les tableaux (ou arrays)
Les tableaux multidimensionnels
Nous venons de voir comment créer des tableaux simples à une seule dimension. On les appelle aussi « vecteurs ». Mais il est également
possible de créer des tableaux à plusieurs dimensions. Ce sont des tableaux de tableaux. Prenons un exemple simple. Nous allons
concevoir une « matrice » (tableau à 2 dimensions) représentant une partie gagnante d'un jeu de morpion. Un jeu de morpion se représente
visuellement par un tableau de 3 lignes sur 3 colonnes. Notre matrice aura donc ses caractéristiques.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 35


5- Les tableaux (ou arrays)
Les tableaux multidimensionnels
Pour créer une matrice, nous devons mettre en place un tableau de tableaux. A chaque index numérique (ligne du tableau), nous associons
un nouveau tableau de 3 cases (qui représente les 3 colonnes de la ligne). Si nous souhaitons accéder à la case du milieu du jeu de morpion,
nous devons nous rendre à la ligne n°2 (index 1) et à la colonne n°2 (index 1). Ce qui donne :

Concrètement, pour accéder à une valeur d'une matrice, il faut y faire référence de cette manière :

laMatrice[ numéroDeLigne ][ numéroDeColonne ]

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 36


5- Les tableaux (ou arrays)
Tableau particulier : la chaîne de caractères
Lorsque l'on déclare une variable stockant une chaine de caractères, nous faisons tout naturellement ceci :

Par cette syntaxe, PHP va en réalité déclarer un tableau indexé numériquement qui contient N cases de 1 caractère. Ainsi nous pourrons
accéder directement à une lettre de la chaîne de caractères de cette manière :

En retenant ce concept astucieux, nous pourrons par la suite traiter les chaînes de caractères de façon plus aisée.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 37


5- Les tableaux (ou arrays)
Parcours d'un tableau
Comme dans tout autre langage de programmation, le parcours de tableau se fait à l'aide de boucles. PHP dispose de sa propre structure de
contrôle pour parcourir le contenu d'un tableau. Il s'agit de la structure foreach(). C'est une boucle particulière qui avance le pointeur du
tableau à chaque itération. Celle-ci a été intégrée depuis la version 4 de PHP et se présente sous deux syntaxes possibles :

Parcours de tableaux avec foreach()

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 38


5- Les tableaux (ou arrays)
Parcours d'un tableau
Cette structure prend en paramètre le nom du tableau à parcourir puis les données qu'il faut récupérer (valeurs uniquement ou bien valeurs
et clés). Dans la première syntaxe, la valeur de l'élément courant du tableau est directement assignée à la variable $valeur. Dans la seconde,
la clé courante de l'élément du tableau est affectée à la variable $cle et sa valeur stockée dans la variable $valeur,

Nous pourrions parcourir nos deux tableaux d'exemple ($legumes et $identite) en utilisant foreach(). Ainsi, nous obtiendrons le code
suivant :

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 39


5- Les tableaux (ou arrays)
Parcours d'un tableau
Remarquons également qu'il est tout à fait possible de parcourir un tableau au moyen d'une autre boucle. Prenons l'exemple de la boucle
for() pour illustrer ce propos.

Cette méthode a néanmoins un inconvénient. Dans le cas des tableaux associatifs ou des tableaux à indexes numériques
non contigus, il nous est difficile d'obtenir la clé de l'élément courant parcouru. La solution est d'avoir recours à des
fonctions particulières de manipulation des tableaux pour obtenir les clés.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 40


5- Les tableaux (ou arrays)
Afficher le contenu d'un tableau
Lorsque l'on développe, il arrive très souvent que l'on veuille afficher le contenu d'un tableau dans le but de pouvoir débugguer un programme. Pour
cela, PHP introduit la fonction print_r() qui assure cette fonction. Afin de respecter l'indentation à l'affichage, nous préfixons le résultat de cette
fonction par les balises <pre> et </pre>. Le code qui suit affiche le contenu de notre tableau associatif $identite.

Array
(
[nom] => Hamon
[prenom] => Hugo
[age] => 19
[estEtudiant] => 1
[taille] => 180
)

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 41


5- Les tableaux (ou arrays)
Opérations sur les tableaux
L'intérêt d'utiliser des tableaux pour structurer ses applications, c'est que cela permet ensuite d'opérer sur ces derniers. En effet, PHP
propose une série de fonctions natives capables de manipuler ces structures. En voici quelques unes fréquemment employées et
particulièrement utiles :
• count() et sizeof() retournent toutes les deux la taille du tableau passé en paramètre.
• sort() trie les éléments d'un tableau du plus petit au plus grand.
• rsort() trie les éléments d'un tableau du plus grand au plus petit.
• in_array() permet de vérifier qu'une valeur est présente dans un tableau.
• array_rand() extrait une ou plusieurs valeurs du tableau au hasard.
• current() retourne la valeur de l'élément courant du tableau (où se trouve le pointeur)

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 42


6- LES OPÉRATEURS
Les opérateurs arithmétiques
Les opérateurs arithmétiques permettent de réaliser des opérations mathématiques sur les variables. Ce sont naturellement
toutes les opérations conventionnelles telles que l'addition, la multiplication, la soustraction ou la division. Le tableau
suivant résume toutes les opérations mathématiques possibles.

Opérateur Opération Exemple Résultat


Les opérateurs arithmétiques
- Négation -$a Opposé de $a
+ Addition $a + $b Somme de $a et $b
* Multiplication $a * $b Produit de $a et $b
- Soustraction $a - $b Différence de $a et $b
/ Division $a / $b Quotient de $a et $b
% Modulo $a % $b Reste de $a / $b

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 43


6- LES OPÉRATEURS
Les opérateurs d'incrémentation / décrémentation
L'opérateur d'incrémentation (respectivement décrémentation) permet d'augmenter (respectivement diminuer) d'une unité
la valeur de la variable. On les utilise essentiellement dans les boucles pour mettre à jour la valeur du compteur à chaque
itération.

Opérateur Opération Exemple Résultat


Les opérateurs d'incrémentation / décrémentation
++ Pré-Incrémentation ++$a Incrémente $a, puis retourne $a
++ Post-Incrémentation $a++ Retourne $a, puis incrémente $a
-- Pré-Décrémentation --$a Décrémente $a, puis retourne $a
-- Post-Décrémentation $a-- Retourne $a, puis décrémente $a

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 44


6- LES OPÉRATEURS
L'opérateur d'assignation
C'est sans doute l'opérateur le plus élémentaire et essentiel du langage PHP. C'est grâce à lui que l'on affecte une valeur à
une variable, que l'on crée un tableau ou bien que l'on instancie une classe.
Opérateur Opération Exemple Résultat
L'opérateur d'affectation
= Assignation $a = 3 Affecte la valeur 3 à $a
Les opérateurs de chaine de caractères
Opérateur Opération Exemple Résultat
Les opérateurs de chaîne de caractères
. Concaténation $a . $b Concatène les valeurs de $a et $b
Assignation Ajoute la valeur de $b à la suite de
.= $a .= $b
concaténant celle de $a

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 45


6- LES OPÉRATEURS
Les opérateurs de comparaison
Opérateur Opération Exemple Résultat

Les opérateurs de comparaison

== Egalité en valeur $a == $b Vérifie que les valeurs de $a et $b sont identiques

=== Egalité en valeur et type $a === $b Vérifie que les valeurs et types de $a et $b sont identiques

!= Différence en valeur $a != $b Vérifie que les valeurs de $a et $b sont différentes

!== Différence en valeur et type $a !== $b Vérifie que les valeurs et types de $a et $b sont différents

<> Différence en valeur $a <> $b Alias de !=

< Infériorité stricte $a < $b Vérifie que $a est strictement inférieur $b

<= Infériorité ou égalité $a <= $b Vérifie que $a est strictement inférieur ou égal à $b

> Supériorité stricte $a > $b Vérifie que $a est strictement supérieur $b

>= Supériorité ou égalité $a >= $b Vérifie que $a est strictement supérieur ou égal à $b

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 46


6- LES OPÉRATEURS
Note : il ne faut pas confondre l'opérateur d'affectation qui s'emploie avec un seul signe égal (=) et qui permet de fixer la valeur d'une
variable.

Lorsque l'on souhaite comparer à la fois les valeurs et les types des variables, on utilise l'opérateur === (respectivement !==). Cette
vérification est conseillée pour deux raisons :
• On s'assure que les deux variables sont du même type.
• Cette opération est légèrement plus rapide à l'exécution que sa consœur qui ne fait pas de vérification sur le type.

Illustrons la nuance entre les deux formes de comparaison :

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 47


6- LES OPÉRATEURS
Les opérateurs logiques
Opérateur Opération Exemple Résultat

Les opérateurs logiques

&& ET $a && $b TRUE si $a ET $b sont vrais

AND ET $a AND $b Alias de &&

|| OU $a || $b TRUE si $a OU $b est vrai

OR OU $a OR $b Alias de ||

XOR OU exclusif $a XOR $b TRUE si $a OU $b est vrai mais pas les deux

! NON !$a TRUE si $a est faux

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 48


6- LES OPÉRATEURS
Les opérateurs combinés Opérateur Opération Exemple Résultat
Les opérateurs combinés

+= Addition $a += 4 Ajoute 4 à la valeur de $a et stocke le résultat dans $a

-= Soustraction $a -= 4 Soustrait 4 à la valeur de $a et stocke le résultat dans $a


Multiplie par 4 la valeur de $a et stocke le résultat dans
*= Multiplication $a *= 4
$a
/= Division $a /= 4 Divise par 4 la valeur de $a et stocke le résultat dans $a
Calcule le reste de la division de $a par 4 et stocke le
%= Modulo $a %= 4
résultat dans $a

&= ET binaire $a &= $b Egal à $a = $a & $b

|= OU binaire $a |= $b Egal à $a = $a | $b

^= XOR binaire $a ^= $b Egal $a = $a ^ $b

<<= Décalage à gauche $a <<= $b Egal à $a = $a << $b

>>= Décalagae à droite $a >>= $b Egal à $a = $a >> $b

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 49


6- LES OPÉRATEURS
L'opérateur de contrôle d'erreur
C'est l'opérateur arobase (@) qui permet de supprimer toutes les erreurs générées par une expression (fonction, variables, constantes...). On
le place juste devant l'expression pour laquelle on souhaite masquer l'erreur qui est levée.

Opérateur Opération Exemple Résultat


L'opérateur arobase
@ Erreur @include('fichier.php') Masque l'erreur générée par la fonction include()

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 50


6- LES OPÉRATEURS
Les opérateurs sur les tableaux
C'est l'opérateur arobase (@) qui permet de supprimer toutes les erreurs générées par une expression (fonction, variables, constantes...). On
le place juste devant l'expression pour laquelle on souhaite masquer l'erreur qui est levée.

+ Union $a + $b Union de $a et $b

TRUE si $a et $b contiennent les


== Egalité $a == $b
mêmes paires clé / valeur

TRUE si $a et $b contiennent les


=== Identique $a === $b mêmes paires clé / valeur dans le
même ordre et de même type

TRUE si $a et $b ne sont pas


!= Inégalité $a != $b
égaux
<> Inégalité $a <> $b Alias de !=
TRUE si $a et $b ne sont pas
!== Non identique $a !== $b
identiques

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 51


7- LES STRUCTURES DE CONTRÔLE ET ITERATIVES
Les structures conditionnelles
Une structure conditionnelle permet d'exécuter ou non une série d'instructions en fonction d'une condition d'origine
(appelée aussi expression ou prédicat). Si le calcul de cette condition retourne TRUE alors le bloc d'instructions concerné
est exécuté. Les expressions évaluées peuvent être plus ou moins complexes, c'est à dire qu'elles peuvent être constituées
d'une combinaison d'opérateurs de comparaison, d'opérateurs logiques et même de fonctions.

Le langage PHP introduit 4 constructions conditionnelles : if, elseif, else et switch.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 52


7- LES STRUCTURES DE CONTRÔLE ET ITERATIVES
L'instruction conditionnelle if()
C'est la plus connue de toutes car on la retrouve dans tous les langages de programmation. Elle permet d'exécuter un bloc
d'instructions uniquement si l'expression est vraie. Le mot clé if() signifie en anglais si. Sa syntaxe est la suivante :
if(expression)
{
bloc d'instructions;
}

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 53


7- LES STRUCTURES DE CONTRÔLE ET ITERATIVES
La clause else
La clause else (traduire par sinon), ajoutée après l'accolade fermante du bloc if(), permet de définir une série
d'instructions qui seront exécutées si l'expression testée est fausse (renvoie FALSE). Reprenons notre exemple précédent
pour illustrer son fonctionnement.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 54


7- LES STRUCTURES DE CONTRÔLE ET ITERATIVES
L'instruction elseif()
Elle peut se traduire par « ou si ». Cette instruction se
place obligatoirement après l'accolade fermante d'un
bloc if(). Elle permet notamment d'éviter une
imbrication de blocs conditionnels if() et il est possible
d'en cumuler plusieurs. Agrémentons encore notre
exemple avec cette instruction conditionnelle

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 55


7- LES STRUCTURES DE CONTRÔLE ET ITERATIVES
L'instruction switch()
Si la variable a une valeur non définie dans
le switch(), alors un bloc default lance une
suite d'instructions. Le mot-clé case définit
la valeur à tester. Cette valeur succède ce
mot-clé. Le mot-clé break, quant à lui,
permet de sortir du bloc switch() si l'on a
exécuté un bloc d'instructions. Il est
facultatif mais vivement conseillé dans la
majorité des cas d'utilisation.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 56


7- LES PROCÉDURES ET FONCTIONS UTILISATEURS
Qu'est-ce qu'une fonction / procédure utilisateur ?
Comme dans la plupart des langages de programmation, il est possible en PHP de créer ses propres fonctions qui viennent
compléter les fonctions natives. Cela permet de remplir des opérations particulières qui sont redondantes dans l'application, et de
résoudre un problème en le fragmentant en plusieurs petits problèmes et solutions.

En plus des fonctions natives qui ne nécessitent pas d'importation de bibliothèque avant leur appel, il existe les fonctions
utilisateurs. Celles-ci sont créées par le programmeur lui même et enregistrées dans une librairie externe.

Plus concrètement, une fonction utilisateur se définit comme une suite d'instructions plus ou moins longue et complexe. Cette
fonction peut-être perçue comme un sous-programme du programme principal qui l'appelle.

Il existe deux types de fonctions utilisateurs : les fonctions et les procédures. Quelle différence y-a-t-il entre les deux ? La
différence qui les sépare est la valeur de retour. Une procédure est un groupe d'instructions qui ne renvoie pas de valeur après
leur exécution. Une fonction, quant à elle, est en réalité une procédure qui retourne une valeur (de type primitif ou complexe) ou
un objet.

Enfin, une fonction utilisateur peut (ou non) prendre des paramètres d'entrée au même titre qu'une fonction mathématique. Ces
paramètres peuvent être de type primitif (int, float, string, boolean) ou structuré (array, object).

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 57


7- LES PROCÉDURES ET FONCTIONS UTILISATEURS
Déclaration d'une fonction
Une fonction utilisateur est définie par deux principaux éléments. Sa signature et son corps. La signature est elle même
composée de deux parties : le nom et la liste de paramètres. Le corps, quant à lui, établit la suite d'instructions qui devront
être exécutées.

La déclaration d'une nouvelle fonction se réalise au moyen du mot-clé function suivi du nom de la fonction et de ses
arguments. Le code suivant illustre tout ça :

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 58


7- LES PROCÉDURES ET FONCTIONS UTILISATEURS
Déclaration d'une fonction
Lors de la déclaration d'une fonction, son nom et le nom de ses paramètres sont totalement arbitraires. Il est possible de
nommer la fonction et ses arguments dans un langage naturel. Exemple : parcourirLeTableau($tableau).

Attention : une fonction ne doit être déclarée qu'une seule fois. Dans le cas contraire, un message d'erreur sera retourné
par l'interpréteur PHP.

Prenons un exemple très simple d'une fonction (procédure en réalité) qui calcule la somme des deux paramètres. Le
résultat est stocké dans une variable locale $somme puis affiché au moyen d'une instruction echo().

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 59


7- LES PROCÉDURES ET FONCTIONS UTILISATEURS
Valeur par défaut
Il est possible d'appliquer une valeur par défaut à un
paramètre si celui-ci n'est pas indiqué lors de l'appel. Dans
notre exemple précédent nous allons appliquer la valeur 5
par défaut au paramètre $b.
Valeur de retour
Comme nous l'avions expliqué plus haut, il y'a deux
sortes de fonctions utilisateurs : les fonctions et les
procédures. Jusque là, notre exemple était une
procédure puisqu'il ne renvoyait aucune valeur (soit
void). Nous allons à présent modifier notre fonction
pour qu'elle renvoie la somme des deux paramètres au
lieu de l'afficher sur la sortie standard.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 60


7- LES PROCÉDURES ET FONCTIONS UTILISATEURS
Valeur par retour
Nous remarquons ici la présence d'un nouveau mot clé. Il s'agit de return. L'instruction return renvoie la valeur de la variable locale
$somme au programme principal qui appelle la fonction. Nous verrons dans la partie suivante comment récupérer cette valeur.
L'exécution de la fonction est stoppée immédiatement après l'exécution de cette instruction return.

Une fonction peut aussi comporter plusieurs instructions return dans son corps. Voici un exemple qui simule un mécanisme
vérifiant qu'une personne est connectée.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 61


7- LES PROCÉDURES ET FONCTIONS UTILISATEURS
Retour de plusieurs valeurs
Dans certains cas particuliers d'applications il est demandé à une fonction de retourner plusieurs valeurs d'un coup. Nous avons vu
précédemment que l'appel de plusieurs instructions return était impossible. Pour palier à cette faiblesse, le langage PHP autorise le
renvoi d'un tableau de valeurs, soit un type structuré.

Prenons l'exemple d'une fonction qui renvoie les identifiants de connexion à une base de données. Ceci est un exemple totalement
arbitraire.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 62


7- LES PROCÉDURES ET FONCTIONS UTILISATEURS
Appel d'une fonction
Jusqu'à maintenant nous déclarions des fonctions mais nous ne les utilisions pas. C'est ce que nous allons étudier maintenant avec
l'appel de fonction.

L'appel d'une fonction se fait dans le programme principal après avoir déclarer la fonction. Une fonction est appelée grâce à son
nom suivi des paramètres. Reprenons notre toute première fonction qui calcule la somme de deux nombres et affiche le résultat sur
la sortie standard. L'appel se réalise de la manière suivante :

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 63


7- LES PROCÉDURES ET FONCTIONS UTILISATEURS
Appel d'une fonction

Voyons maintenant ce que cela donne avec la même


fonction qui renvoie la valeur. Celle dotée de
l'instruction return. En exécutant le code précédent, nous
remarquons que rien ne s'affiche alors que l'exécution
s'est déroulée comme prévue. Pourquoi ? Tout simplement
parce que les valeurs retournées n'ont pas été récupérées
et stockées dans des structures de données (variables,
tableau, objet...). Nous allons donc les stocker dans un
tableau nommé $resultatsSomme avant d'afficher le
contenu de celui-ci.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 64


7- LES PROCÉDURES ET FONCTIONS UTILISATEURS
Appel d'une fonction

Voyons maintenant ce que cela donne avec la même


fonction qui renvoie la valeur. Celle dotée de
l'instruction return. En exécutant le code précédent, nous
remarquons que rien ne s'affiche alors que l'exécution
s'est déroulée comme prévue. Pourquoi ? Tout simplement
parce que les valeurs retournées n'ont pas été récupérées
et stockées dans des structures de données (variables,
tableau, objet...). Nous allons donc les stocker dans un
tableau nommé $resultatsSomme avant d'afficher le
contenu de celui-ci.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 65


ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 66
1- PRESENTATION D’ITIL
CURSUS
La certification ITIL Managing Professional (ITIL MP) s’adresse aux professionnels de l’IT qui travaillent avec des équipes digitales et
techniques. Comprenant 4 modules différents, elle atteste d’une maîtrise pratique et technique dans le pilotage de projets, d’équipes ou de
flux d’activités.

Le titre d’ITIL Strategic Leader (ITIL ST) reconnaît quant à lui la compréhension claire et entière de la façon dont les services
informatiques influencent et dirigent la stratégie business. Il ne sera accessible qu’aux gestionnaires expérimentés et détenteurs de la
nouvelle certification ITIL v4 Foundation.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 67


1- PRESENTATION D’ITIL
HISTORIQUE
❑ 1972: début des travaux de développement des pratiques par la CCTA (Central Computing and Telecommunication
Agency).
❑ 1988: la CCTA crée les bases de l’ITIL
❑ 1991 : publication des éléments par la CCTA
❑ 1990-1997: premier groupe de travail (ITSMF – Information Technology Service Management Forum) réunissant des
professionnels du privé
❑ 2001 : publication de la seconde version d’ITIL (ITIL V2)
❑ 2005 : adoption de la norme ISO/CEI 20000 pour les entreprises, basée sur la cadre ITIL
❑ 2007 : publication de ITIL V3
❑ 2011 : parution de la version amendée
❑ 2019 : parution d’ITIL 4

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 68


1- PRESENTATION D’ITIL
ITIL 4
La transformation numérique des entreprises s’accompagne de nouveaux modes de gestion des services
informatiques. Avancées technologiques, émergence de nouvelles pratiques ou adoption d’outils
dématérialisés poussent les organisations à revoir et adapter leur mode de fonctionnement en continu
Si les principes fondamentaux d’ITIL 4 devraient sensiblement rester les mêmes que dans les versions
précédentes, AXELOS a admis vouloir s’aligner sur les méthodes de travail contemporaines.
(DevOps, Agile, Lean…). Agilité, adaptabilité et pertinence au regard des usages modernes de la
technologie informatique sont les visées du nouvel ITIL, qui conserve cependant les mêmes principes
fondamentaux.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 69


2- GENERALITES ET CONCEPTS
Généralités
Le système d’information d’une entreprise est devenu depuis quelques années le cœur de l’entreprise. Les
métiers de l’entreprise sont devenus de plus en plus dépendants de l’informatique et cela dans tous les
secteurs. L’informatique, face à ce contexte mouvant depuis quelques années, va apporter des réponses. Elle
va se positionner comme amenant la valeur différenciatrice à l’entreprise.

LES BONNES PRATIQUES ITIL 4 : L’informatique va s’appuyer sur les bonnes pratiques du marché
pour se forger une approche professionnelle. Ces pratiques provenant de la mise en commun d’une multitude
de retours d’expériences ont été sélectionnées, généralisées et structurées afin de permettre leur réutilisation.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 70


2- GENERALITES ET CONCEPTS
Généralités
ITIL 4 constitue la plus importante mise à jour depuis l’introduction de ITIL v3 en 2007. Contrairement à
l’actualisation de la version 3 en 2011, le début de 2019 a été marqué par des changements majeurs.
Le chiffre 4 ne traduit pas seulement un numéro de version. Le nom, « ITIL 4 », reflète le rôle que ce cadre
de meilleures pratiques continuera de jouer pour aider les individus et les organisations à évoluer dans
la quatrième révolution industrielle.
Nous essayerons de définir ces méthodes de travail sur lesquelles ITIL 4 s’aligne.
❑ Agile
Terme générique désignant un ensemble de cadres et de techniques permettant aux équipes et aux individus
de travailler d’une manière caractérisée par la collaboration, la définition des priorités, la livraison itérative et
incrémentale et la gestion du temps.
Pour renforcer et aider les organisations à élaborer des stratégies de gestion des services plus flexibles, ITIL 4
intègre désormais des pratiques agiles et DevOps au cadre. ITIL 4 encourage la collaboration et la
communication au sein de l’organisation et propose des conseils pour mettre en œuvre rapidement les
changements.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 71


2- GENERALITES ET CONCEPTS
Généralités
❑Lean
Une approche axée sur l’amélioration des flux de travail en maximisant la valeur grâce à l’élimination du gaspillage.
Il existe de nombreuses façons d’optimiser les pratiques et les services. Les concepts et les pratiques décrits dans ITIL 4, en particulier les
pratiques d’amélioration continue, de mesure et de rapport, sont essentiels à cet effort. Les pratiques spécifiques utilisées par une
organisation pour améliorer et optimiser les performances peuvent s’appuyer sur les conseils d’ITIL, de Lean, de DevOps, de Kanban et
d’autres sources. ITIL 4 intègre les principes fondamentaux de l’approche Lean.
- Elimination des gaspillages
- Production sans défaut
- juste à temps
- Réduction des fluctuations
- Amélioration continue
Standardisation du travail
Implication des opérateurs

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 72


2- GENERALITES ET CONCEPTS
Généralités
❑ KPI (Key Performance Indicators)
Une mesure importante utilisée pour évaluer le succès dans la réalisation d’un objectif. Les objectifs convenus, facteurs critiques de succès
et les indicateurs de performance clés (KPI) doivent respecter le principe SMART. Ils doivent être spécifiques, mesurables, réalisables,
pertinents et limités dans le temps. Désormais ITIL 4 fait clairement référence au besoin de mesurer la performance et le progrès dans un
projet via des KPI.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 73


2- GENERALITES ET CONCEPTS
Concepts:
ITIL 4 définit un service comme :
«Un moyen de permettre la co-création de valeur en facilitant les résultats que les clients souhaitent obtenir,
sans que le client ait à gérer des coûts et des risques spécifiques.»
La clé pour comprendre ITIL 4 consiste à comprendre comment les termes valeur, résultats,
coûts et risques ont été utilisés, et en quoi cela est fondamental pour la fourniture de services
informatiques.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 74


2- GENERALITES ET CONCEPTS
Concepts:
Valeur: «Les avantages, l’utilité et l’importance perçus de quelque chose». Il est essentiel de
comprendre que la valeur n’est pas absolue. Elle ne se mesure pas en termes financiers (ou du
moins, pas seulement). Nous ne pouvons mesurer la valeur de nos services pour nos clients que si
nous comprenons comment ils les perçoivent.
Résultats: Il existe une différence entre les résultats et les résultats du service (extrants). Un
résultat est un résultat activé par les extrants d’un service. Par exemple, un extrant d’un service de
préparation au permis de conduire peut être le document « permis de conduire » délivré par
l’examinateur. Le résultat final, par contre, c’est le fait que vous avez désormais le droit de
conduire un véhicule.
Co-création de valeur: en gestion des services TI, en tant que fournisseurs de services, nous ne
créons pas de valeur directe pour nos clients. La seule chose que nous créons, ce sont des coûts
supplémentaires. Si nous travaillons plutôt avec nos clients, nous pouvons créer de la valeur pour
les deux parties (pour nous et pour eux). Le client en a alors clairement pour son argent, car le
service lui permet de réaliser quelque chose d’important pour lui.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 75


2- GENERALITES ET CONCEPTS
Concepts:
Gestion des coûts et des risques spécifiques: chaque service élimine certains coûts et risques du
client. Par exemple, le client peut ne plus avoir besoin d’employer et de gérer un personnel
technique coûteux, car le fournisseur de services dispose de la capacité requise. Chaque service
impose également des coûts et des risques au client. Les coûts incluent tous les frais que le client
doit payer au fournisseur de service, ainsi que d’autres coûts tels que la formation du personnel ou
la fourniture d’une connexion réseau pour lui permettre d’accéder au service. La valeur du service
est directement affectée par le solde de ces coûts et risques ajoutés et supprimés.
Les Acteurs
L’utilisateur: L’utilisateur est la personne qui utilise au quotidien le service. L’utilisateur est
représenté par le client : il remonte ses exigences auprès du client,
Le client: C’est la personne ou l’entité qui est un donneur d’ordre, que l’on appelle aussi la
maîtrise d’ouvrage (MOA).

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 76


3- LES 7 PRINCIPES DIRECTEURS D’ITIL 4
1. Focalisez-vous sur la valeur
Ce premier principe directeur est principalement axé sur la création de valeur pour les
consommateurs de services. Cependant, un service contribue également à la création de valeur
pour l’organisation et les autres parties prenantes. Cette valeur peut prendre différentes formes,
telles que le revenu, la fidélité de la clientèle, des coûts inférieurs ou des opportunités de
croissance.
Tout ce que l’organisation fait devrait créer de la valeur pour les parties prenantes. Il s’agit
principalement de la valeur pour les clients et les utilisateurs, mais il faut également prendre en
compte d’autres parties prenantes, notamment les régulateurs, la société, les actionnaires, les
employés, etc. En effet, un service qui crée de la valeur pour les clients tout en faisant perdre de
l’argent au fournisseur de services et en provoquant la frustration des employés ne sera clairement
pas très efficace.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 77


3- LES 7 PRINCIPES DIRECTEURS D’ITIL 4
1. Focalisez-vous sur la valeur
Ces recommandations doivent par conséquent être adaptées pour adresser divers groupes de
parties prenantes et la valeur qui est créée pour eux par l’organisation.
En effet, la valeur n’est pas seulement financière. Ce principe directeur vous encourage également
à penser à l’expérience client et à l’expérience utilisateur . Bien sûr, vous ne pouvez le faire que si
vous prenez au préalable un peu de temps pour déterminer qui sont les utilisateurs de votre
service et comment il crée de la valeur pour eux.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 78


3- LES 7 PRINCIPES DIRECTEURS D’ITIL 4
2. Démarrez d’où vous êtes
Ne partez pas de zéro pour construire quelque chose de nouveau sans tenir compte de ce qui
existe déjà. Il est presque toujours préférable d’améliorer ce que vous avez actuellement que de
tout rejeter et de tout recommencer. Toutefois, vous devez également être en mesure de savoir
quand un remplacement complet est vraiment nécessaire.
Les services et méthodes déjà en place doivent être mesurés et / ou observés directement afin de
bien comprendre leur état actuel et ce qui peut en être réutilisé. Les décisions sur la manière de
procéder devraient être fondées sur des informations aussi précises que possible.
Ne vous fiez pas aux statistiques et aux rapports pour vous informer de la situation actuelle.
Lorsque vous effectuez une évaluation, vous devez observer ce qui se passe par vous-même.
Utilisez simplement les métriques pour appuyer vos observations. Obtenir des données
directement à la source permet d’éviter des hypothèses qui, si elles se révélaient non fondées,
pouvaient être désastreuses pour les délais, les budgets et la qualité des résultats.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 79


3- LES 7 PRINCIPES DIRECTEURS D’ITIL 4
3. Progressez de façon itérative en vous appuyant sur le feedback
Résistez à la tentation de tout faire en même temps. Les projets d’amélioration pluriannuels qui
impliquent d’importants investissements et ne génèrent de la valeur qu’après très longtemps ne
permettent jamais d’atteindre la valeur attendue. C’est beaucoup mieux de fractionner le travail en
petites sections gérables qu’on peut exécuter et terminer rapidement.
Les itérations d’amélioration peuvent être séquentielles ou simultanées. Cela dépend des
exigences de l’amélioration et des ressources disponibles. Mais chaque itération doit être gérable.
Et elle doit être gérée de manière à garantir que des résultats tangibles sont renvoyés rapidement
et qu’ils sont exploités pour créer de nouvelles améliorations.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 80


3- LES 7 PRINCIPES DIRECTEURS D’ITIL 4
4. Collaborez et mettez l’accent sur la transparence
Les personnes travaillant en silo peuvent très bien s’acquitter de tâches spécifiques. Mais dès lors que les
circonstances changent, elles ont du mal à s’adapter aux changements. Lorsque vous collaborez au
quotidien, tout le monde en profite. Vous créez plus de valeur pour vous-même, mais aussi pour les
personnes avec lesquelles vous collaborez et pour vos clients et partenaires communs. Les personnes
qui travaillent ensemble efficacement créent généralement plus de valeur que celles qui s’isolent dans des
silos.
Des solutions créatives, des contributions enthousiastes et des perspectives importantes peuvent émerger de
sources inattendues. L’inclusion est donc généralement une meilleure politique que l’exclusion. La
coopération et la collaboration sont préférables au travail en isolation. Les silos peuvent survenir du fait du
comportement d’individus et d’équipes. Mais ils ont souvent des causes structurelles. Il apparaissent lorsque
des fonctions ou des entités business d’une organisation sont dans l’impossibilité de collaborer. C’est
notamment le cas si leurs processus, systèmes, documentation et communications sont conçus pour répondre
aux besoins spécifiques d’une partie seulement de l’organisation.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 81


3- LES 7 PRINCIPES DIRECTEURS D’ITIL 4
5. Pensez et travaillez de façon holistique
Il serait peut-être plus facile de penser à votre travail en isolation. Mais cela aboutirait
inévitablement à une mauvaise pratique. Il est inutile qu’une partie de votre organisation travaille
plus rapidement ou plus efficacement si, dans le même temps, cela met une autre partie de
l’organisation à rude épreuve. Vous devez réfléchir à la manière dont votre travail contribue à la
création globale de valeur. De cette façon, vous pourrez prendre des décisions qui profitent à tout
le monde.
Adopter une approche holistique de la gestion des services implique de comprendre comment
toutes les parties d’une organisation travaillent ensemble de manière intégrée. Cela nécessite une
visibilité de bout en bout sur la manière dont la on capture la demande et dont on la traduit en
résultats. Dans un système complexe, la modification d’un élément peut avoir un impact sur les
autres. Donc, dans la mesure du possible, identifiez, analysez et planifiez ces impacts.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 82


3- LES 7 PRINCIPES DIRECTEURS D’ITIL 4
6. Privilégiez la simplicité et restez pratique
Essayer de fournir une solution répondant à chaque cas particulier entraînera souvent une
complication excessive. Lors de la création d’un processus ou d’un service, vous devez garder en
tête les exceptions. Mais vous ne pouvez pas toutes les couvrir. Au lieu de cela, concevez des
règles permettant la gestion des exceptions en général.
Concentrez-vous sur des choses simples qui créent de la valeur. Essayez de mettre de côté les
processus complexes, simplement parce qu’on les utilise depuis longtemps. Demandez-vous
pourquoi des étapes complexes existent et, sauf s’il existe une raison solide et réelle, simplifiez
les. Utilisez le nombre minimum d’étapes dont vous avez besoin et ne faites rien qui ne crée pas
de valeur pour l’un de vos intervenants.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 83


3- LES 7 PRINCIPES DIRECTEURS D’ITIL 4
7. Optimisez et automatisez
L’optimisation s’apparente à la recherche d’efficacité et d’utilité. Il est toutefois essentiel de bien
définir des limites pour l’optimisation des services et des pratiques. En effet, elles existent au sein
d’un ensemble complexe de contraintes pouvant inclure des limitations financières, des exigences
de conformité, des contraintes de temps et de disponibilité des ressources.
L’automatisation fait généralement référence à l’utilisation de la technologie pour effectuer une
étape, ou une série d’étapes, correctement et de façon cohérente, avec une intervention humaine
limitée ou nulle. Par exemple, dans les entreprises qui adoptent le déploiement continu, cela fait
référence à la publication automatique et continue du code, du développement à la production, et
souvent aux tests automatiques effectués dans chaque environnement. Dans sa forme la plus
simple, toutefois, l’automatisation peut aussi signifier la normalisation et la rationalisation de
tâches manuelles. Il pourrait s’agir par exemple de la définition des règles dans un processus,
permettant une prise de décision «automatique».

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 84


3- LES 7 PRINCIPES DIRECTEURS D’ITIL 4
7. Optimisez et automatisez
Vous devez utiliser toutes vos ressources aussi efficacement que possible. Cela signifie que vous
devez automatiser chaque fois que vous le pouvez. Vous devez utiliser des personnes uniquement
pour des tâches impossibles à automatiser. Cela implique également que vous devez réfléchir
soigneusement à ce que vous pouvez automatiser et aux circonstances dans lesquelles seule une
personne fera l’affaire. Vous devez également simplifier les processus que vous décidez
d’automatiser en éliminant toutes les étapes inutiles ou inefficaces.
Des opportunités d’automatisation existent dans toute l’organisation. La recherche d’opportunités
d’automatisation de tâches standards et répétitives peut permettre de réduire les coûts. Elle permet
également de réduire les erreurs humaines et d’améliorer l’expérience des employés.
Vous devez toujours optimiser le travail avant de l’automatiser. En effet, automatiser quelque
chose qui est inefficace risque juste de vous aider à faire rapidement la mauvaise chose!

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 85


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
L'objectif de toute organisation est de créer de la valeur pour ses clients, ses parties prenantes
et ses partenaires. Vous pouvez atteindre cet objectif en utilisant le Système de Valeur de
Service (SVS) ITIL. Il décrit la manière dont les divers segments et activités d'une organisation
sont liés. Les quatre dimensions définies par ITIL concernent tous les éléments du SVS et s'y
rapportent. Par conséquent, avant de discuter du SVS, vous devez connaître les quatre
dimensions. Les quatre dimensions définies par ITIL pour prendre en charge une approche
holistique de la gestion des services sont les suivantes:
1. ORGANISATIONS ET PERSONNES
2. INFORMATION ET TECHNOLOGIE
3. PARTENAIRES ET FOURNISSEURS
4. FLUX DE VALEUR ET PROCESSUS

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 86


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
1. ORGANISATIONS ET PERSONNES
Les Personnes constituent l'élément principal de la dimension des organisations et des personnes.
Par conséquent, les différentes caractéristiques de cette dimension ne concernent que les
personnes, telles que:

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 87


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
1.1 Structure organisationnelle bien définie
Les organisations ont besoin d'une structure bien définie pour aligner leurs employés sur la stratégie
organisationnelle globale et le modèle opérationnel. Pour soutenir la stratégie et le modèle opérationnel, les
personnes doivent avoir une compréhension claire de:

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 88


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
1.1 Structure organisationnelle bien définie
• Lignes hiérarchiques: Une organisation doit définir clairement les lignes continues et pointillées
de la responsabilité. Les lignes continues indiquent la responsabilité des activités des employés, y
compris la discipline administrative. Les lignes en pointillés indiquent un niveau de responsabilité
et d'autorité plus limité que les autres.
• Rôles et responsabilités: Quand une organisation définit clairement ses rôles et ses responsabilités,
elle permet aux gens de connaître les attentes, telles que la manière de se comporter, ce qu’il faut
accomplir et comment atteindre son objectif. Une compréhension claire leur permet également de
travailler ensemble avec moins d'arguments et plus de créativité.
• Systèmes d'autorité: selon les différents types de responsabilités, les membres d'une organisation
peuvent exercer trois types d'autorité :
- Autorité hiérarchique
- Autorité du personnel
- Autorité fonctionnelle

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 89


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
1.2 Culture organisationnelle saine
La culture est basée sur des attitudes, des croyances, des coutumes et des règles communes,
écrites ou non, développées au fil du temps et considérées comme valables.
La culture inclut également la vision, les valeurs, les normes, les systèmes, les symboles, le
langage, les hypothèses, les croyances et les habitudes de l'organisation.
Vous ne pouvez pas assurer l'efficacité d'une organisation simplement en ayant une structure ou un
système d'autorité bien défini. L'organisation a également besoin d'une culture de soutien
suffisamment compétente pour atteindre ses objectifs. Avoir une telle culture est crucial pour toute
organisation et exige des dirigeants qu’ils éduquent et soutiennent les valeurs qui encouragent les
personnes à travailler de manière souhaitable. Vous pouvez établir une culture organisationnelle
saine en adoptant les principes directeurs d'ITIL

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 90


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
1.3 Compétences et compétences organisationnelles à jour
De nos jours, il est essentiel que les gens comprennent non seulement leur rôle et leur spécialisation, mais
également ceux des autres. Par conséquent, pour maintenir ou améliorer l'efficacité organisationnelle, il est
essentiel de continuer à mettre à jour les aptitudes et les compétences de la personne.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 91


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
1.4 Système de valeur des organisations, des personnes et des services
La dimension des organisations et des personnes couvre les aspects suivants:
• Rôles et responsabilités
• Structure d'organisation formelle
• Culture d'organisation
• Dotation en personnel et compétences requises

Ces aspects concernent la création, l’amélioration et la fourniture d’un service. Par conséquent, lors de la
comparaison de cette dimension avec le SVS, vous devez prendre en compte les mêmes aspects, mais dans le
contexte de l'organisation agissant en tant que fournisseur de services

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 92


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
2. INFORMATION ET TECHNOLOGIE
Chaque entreprise traite des données, qui ne sont que des informations. Dans les temps modernes, les
organisations utilisent la technologie pour gérer la grande quantité de données. Par conséquent, ces
dimensions sont axées sur deux éléments, l’information et la technologie.
Lorsqu'elle traite la partie information de la dimension information et technologie, une organisation doit
répondre aux questions suivantes:

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 93


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
2. INFORMATION ET TECHNOLOGIE
▪Gestion de l'information : La gestion efficace de l'information est le principal moyen de générer de
la valeur pour les clients. C'est le principal résultat de presque tous les services informatiques
consommés par les clients commerciaux.
▪Echange d'informations : L’un des aspects de la technologie de l’information et de la technologie
consiste à échanger les informations entre différents services et leurs composants.
▪Défi de la gestion de l'information : La dimension information et technologie met également
l'accent sur les défis de la gestion de l'information. Il existe de nombreux règlements qui
empêchent les industries ou les pays de gérer les données à l'aide de leurs normes, telles que les
exigences de sécurité et de conformité réglementaire.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 94


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
2. INFORMATION ET TECHNOLOGIE : Technologie
Aujourd'hui, presque tous les services sont basés sur la technologie de l'information et une organisation peut choisir
d'utiliser la technologie à tout moment pour ses services ou produits. Par conséquent, elles posent des questions lorsqu'elles
choisissent d'utiliser la technologie.

▪La technologie est-elle compatible avec l'architecture existante de l'organisation et de ses clients? Les produits
technologiques utilisés par l'organisation et ses parties prenantes vont-ils fonctionner ensemble? Comment les technologies
émergentes influencent-elles le service et l'organisation?

▪Comment les technologies émergentes influencent-elles le service et l'organisation? Existe-t-il des problèmes de
réglementation ou d'autres problèmes de conformité liés aux stratégies et contrôles de sécurité des informations de
l'entreprise ou à ceux de ses clients?

▪ L'organisation est-elle disposée à prendre le risque d'utiliser une technologie vieillissante ou d'adopter une
technologie émergente ou non prouvée?

▪La technologie est-elle conforme à la stratégie du fournisseur de service ou de ses consommateurs?

▪L'organisation possède-t-elle les compétences requises pour prendre en charge et maintenir la technologie?

▪La technologie introduit-elle de nouveaux risques ou contraintes pour l’organisation?

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 95


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
3. PARTENAIRES ET FOURNISSEURS
Presque toutes les organisations et tous les services dépendent dans une certaine mesure des services fournis
par d'autres organisations. Par conséquent, ils travaillent avec les partenaires et les fournisseurs pour atteindre
l'objectif de l'organisation. Les partenaires et les fournisseurs peuvent être impliqués dans toutes les phases du
développement de processus ou de la gestion des services, telles que la conception, le développement, le
déploiement, la fourniture, le support et l'amélioration continue. Maintenir des relations saines avec les
partenaires et les fournisseurs est donc essentiel pour que les organisations puissent offrir la valeur requise aux
clients. La technologie est-elle compatible avec l'architecture existante de l'organisation et de ses clients? Les
produits technologiques utilisés par l'organisation et ses parties prenantes vont-ils fonctionner ensemble?
Comment les technologies émergentes influencent-elles le service et l'organisation?

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 96


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
3. PARTENAIRES ET FOURNISSEURS
Forme de Les Responsabilités Responsabilité de Niveau de Exemples
coopération données pour les données la réalisation des formalité
Les organisations travaillent avec des de sorties de sorties résultats

partenaires ou des fournisseurs dans le cadre


Fourniture de Biens fournis Fournisseur Client Contrat de Achat d’ordinateur et
de contrats et autres accords. Ce processus biens fourniture téléphones
formel/ factures
comprend différents niveaux d'intégration et
de formalité. Voyons quelques exemples de Service de Services Fournisseurs Clients Accords formels Cloud computing
relations entre organisations. livraison fournis et cas flexibles (infrastructure de
plateforme en tant que
service)

Partenariat de Valeur Partagé entre Partagé entre Objectifs Intégration des employés
service cocréée fournisseur et client fournisseur et communs, (partagée entre les
client accords ressources humaines, les
génériques, installations et
arrangements l'informatique)
flexibles fondés
sur des cas

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 97


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
3. PARTENAIRES ET FOURNISSEURS : Adressage des partenaires et des fournisseurs
L’une des méthodes pour s’adresser aux partenaires et aux fournisseurs est l’intégration et la
gestion des services (SIAM). Elle assure une bonne coordination des relations de service en
utilisant un intégrateur spécialement établi. Une organisation peut choisir de déléguer l'intégration
et la gestion des services à un partenaire de confiance.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 98


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
3. PARTENAIRES ET FOURNISSEURS : Fournisseurs et impact sur la stratégie organisationnelle
Lorsqu’il s’agit de fournisseurs, de nombreux facteurs peuvent influer sur la stratégie globale de
l’organisation, tels que:

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 99


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
3. PARTENAIRES ET FOURNISSEURS : Fournisseurs et impact sur la stratégie organisationnelle
▪Orientation stratégique : certaines organisations préfèrent se concentrer sur leurs compétences essentielles et
externaliser des fonctions d’appui non essentielles à des tiers. D'autres veulent être aussi autonomes que
possible et préfèrent avoir le plein contrôle de toutes les fonctions importantes.
▪Culture d'entreprise: il est difficile de modifier le biais culturel de longue date en raison de la préférence
historique pour une approche par rapport à une autre.
▪Manque de ressources : le manque de ressources ou de compétences requises est un problème pour les
fournisseurs de services. Cela les empêche d’acquérir quoi que ce soit même sans s’engager avec les
partenaires.
▪Préoccupations liées aux coûts : Le principal facteur qui affecte sur la prise de décision est le prix. Par
conséquent, les fournisseurs de services peuvent s’approvisionner auprès d’un fournisseur en fonction de
leurs besoins s’ils le trouvent plus économique.
▪Contraintes externes: La réglementation ou les politiques gouvernementales, les codes de conduite de
l'industrie et les contraintes sociales, politiques ou légales ont également une incidence sur la stratégie du
fournisseur.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 100


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
3. PARTENAIRES ET FOURNISSEURS : Fournisseurs et impact sur la stratégie organisationnelle
▪ Tendances de la demande: La demande de services est saisonnière et différente selon les situations. Elle
présente un degré élevé de variabilité et une tendance à avoir une incidence sur les fournisseurs de services
externes que les organisations utilisent pour gérer la demande variable.
Partenaires, fournisseurs et système de valeur de service
Lorsqu’il associe la dimension des partenaires et des fournisseurs au SVS, il couvre
les aspects suivants:
• Relation avec d'autres organisations
• Contrats et accords
• Intégration et gestion de services
Les dimensions partenaires et fournisseurs englobent les relations d'une organisation avec d'autres
organisations impliquées dans différentes phases de services, telles que la conception, le développement, le
déploiement, la livraison, le support et / ou l'amélioration continue.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 101


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
4. FLUX DE VALEUR ET PROCESSUS
La dimension flux de valeur et processus met l'accent sur l'intégration et la coordination du SVS en général et
de produits et services spécifiques. Il définit les activités, les flux de travail, les contrôles et les procédures
nécessaires pour atteindre les objectifs convenus.
En d'autres termes, la dimension met l'accent sur l'organisation efficace des différentes activités pour apporter
de la valeur aux parties prenantes. Par conséquent, il est nécessaire de disposer d’un modèle opérationnel qui
organise efficacement les activités clés de gestion des produits et des services.
ITIL fournit aux fournisseurs de services un tel modèle appelé chaîne de valeur du service ITIL. Ce modèle
peut suivre différents modèles, et les modèles au sein de l'opération de la chaîne de valeur sont appelés des
flux de valeur.
Un flux de valeur est une série d'étapes qu'une organisation utilise pour créer et fournir des produits et
des services aux consommateurs. Un flux de valeur est une combinaison des activités de la chaîne de
valeur de l'organisation.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 102


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
Caractéristiques des flux de valeur
❑Amélioration des performances : Les flux de valeur aident à améliorer les performances globales d'une
organisation. Par conséquent, il est essentiel d'identifier et de comprendre les différents flux de valeurs de
l'organisation

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 103


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
Caractéristiques des flux de valeur
❑Meilleure compréhension: Les organisations doivent structurer leurs services et leurs portefeuilles de
produits en fonction des flux de valeur, dans la mesure où elles offrent deux avantages principaux.
Premièrement, cela permet de bien comprendre quelle valeur une organisation apporte et comment.
Deuxièmement, il est utile d’améliorer constamment les services.
❑Productivité accrue: Les flux de valeur aident les organisations à analyser la manière dont elles effectuent
leur travail. L'analyse leur permet de trouver des déchets dans leur flux de travail actuel, tels que les obstacles
liés aux activités sans valeur ajoutée, et d'augmenter les activités à valeur ajoutée.
❑Amélioration continue : À l'ère de demandes variées, les flux de valeur doivent être continuellement
améliorés ou affinés pour répondre de manière optimale à la stratégie de l'entreprise et à ses objectifs.
Un processus est un ensemble d'activités interdépendantes ou en interaction qui transforment les
données d’entrée en données de sortie. Les processus définissent la séquence d'actions et leurs
dépendances. Un processus prend une ou plusieurs données d’entrée définies et les transforme en
données de sortie définies.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 104


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
Structure de services
La même structure de la chaîne de valeur, les flux de valeur, les procédures, les processus et les instructions de
travail s'appliquent aux services. Par conséquent, l'organisation doit prendre en compte les questions suivantes
lors de la création, de la fourniture et de l'amélioration d'un service.
• Quel est le modèle de prestation générique du service et comment fonctionne-t-il?
• Quelles sont les sources de valeur impliquées dans la fourniture des résultats convenus du
service?
• Qui, ou qu'est-ce qui effectue les actions de service requises?
Les réponses aux questions précédentes varieront en fonction de la nature et de l'architecture du service.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 105


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
FACTEURS EXTERNES ET LE MODÈLE PESTEL
Facteurs politiques: Facteurs légaux:
- Politique gouvernementale - Santé et sécurité
- Stabilité politique ou - Opportunités égales
instabilité sur les marchés - Normes de publicité
étrangers - Droits et lois des clients
- Politique de commerce Facteurs sociaux:
extérieur - Croissance de la population - Étiquetage et sécurité des
produits
- La politique fiscale - Répartition par âge - Législation de l'emploi
- Droit du travail - Conscience de la santé - Droit de la consommation
- Loi environnementale - Attitudes de carrière - Réglementation
- Restrictions commerciale - Tendances émergentes commerciale et restrictions

Facteurs économiques: Facteurs technologiques: Facteurs


- Croissance économique - Nouveaux modes de environnementaux:
- Taux d'intérêt production de biens et de - Rareté des matières
- Taux d'échange services premières
- Inflation - Nouveaux modes de - Cibles de pollution
distribution de biens et - Faire des affaires en tant
- Revenu disponible des services qu'entreprise éthique et
consommateurs et des
entreprises

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 106


4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
Le Modèle PESTEL et les quatre dimensions
• Les facteurs politique sont trait à l'impact potentiel du gouvernement sur une organisation et à son
fonctionnement.
• Les facteurs économique sont une incidence sur la manière dont une entreprise mène ses
activités et sur sa rentabilité.
• Les facteurs sociaux ont une incidence sur les besoins des clients en raison de la modiffication de
l'environnement social.
• Les facteurs technologiques ont une incidence sur le développement, la distribution, la
fabrication et la logistique en raison de l'évolution de la technologie numérique ou mobile, de
l'automatisation, de la recherche et du développement.
• Les facteurs légaux se concentrent sur la manière dont les organisations sont autorisées à
fonctionner sur des territoires.
• Les facteurs environnementaux deviennent de plus en plus importants de nos jours en raison de
la montée en puissance de la responsabilité des entreprises en matière de développement durable
(RSE) et des aspects
écologiques
ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 107
4- LES QUATRE DIMENSIONS DE LA GESTION DE SERVICE
Le Modèle PESTEL et les quatre dimensions
Les facteurs PESTEL ont un impact considérable sur la manière dont les organisations configurent leurs
ressources et répondent aux quatre dimensions. Le SVS est souvent incapable de contrôler ces facteurs.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 108


5- SYSTÈME DE VALEUR DU SERVICE
Définitions:
Système de valeur du service : Le Système de Valeur du Service ITIL explique comment les composants et
les activités de l'organisation fonctionnent ensemble en tant que système permettant la création de valeur.
Chaîne de valeur du service : La chaîne de valeur de service est un modèle opérationnel qui définit les
activités clés nécessaires pour répondre à la demande et permettre la création de la valeur grâce à la
formation et à la gestion de produits et services.
Système de valeur du service : Le système de valeur du service ITIL explique comment les composants et
les activités de l'organisation fonctionnent ensemble en tant que système permettant la création de valeur.
Flux de valeur : Un flux de valeur est une série d'étapes prises par une organisation pour créer et fournir des
produits et des services à un consommateur.

Le but du système de valeur de service.


Le Système de Valeur du Service ITIL (SVS) explique comment les composants et les activités de
l'organisation fonctionnent ensemble en tant que système pour permettre la création de valeur.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 109


5- SYSTÈME DE VALEUR DU SERVICE
Le but du système de valeur de service.
• Le SVS de chaque organisation s'interface avec d'autres organisations, formant un écosystème qui peut
à son tour faciliter la création de valeur pour ces organisations, leurs clients et d'autres parties prenantes.
• Le but du SVS est de s'assurer que l'organisation co-crée constamment de la valeur avec toutes les parties
prenantes via l'utilisation et la gestion de produits et services.
• Afin de fonctionner correctement, une gestion de service doit fonctionner en tant que système. Le SVS
ITIL décrit les données d’entrée de ce système, ses éléments et les données de sortie (réalisation des objectifs
organisationnels et valeur pour l'organisation)
La figure ci-dessus montre la structure du système de
valeur du service. Le côté gauche de la figure montre
les données d’entrée (opportunité / demande)
alimentant le SVS et le côté droit de la figure montre les
données de sortie créée pour l'organisation, ses clients
et les autres parties prenantes. La partie centrale de
l'image montre les composants du SVS ITIL.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 110


5- SYSTÈME DE VALEUR DU SERVICE
Le SVS ITIL comprend les composants suivants:
• Les Principes directeurs : Référez-vous aux recommandations qui guident les organisations en toutes
circonstances, quels que soient les changements apportés à ses objectifs, stratégies, type de travail ou structure
de gestion.
• La Gouvernance : Désigne les moyens par lesquels une organisation est dirigée et contrôlée.
• La Chaîne de valeur des services : Fait référence à un ensemble d'activités exécutées par une organisation
pour fournir un produit ou des services de valeur à ses consommateurs.
• Les Pratiques : Désigne un ensemble de ressources organisationnelles conçues pour accomplir un travail
ou réaliser un objectif.
• L’Amélioration continue : Fait référence à une activité récurrente réalisée à tous les niveaux pour vous
assurer que la performance d'une organisation répond en permanence aux attentes des parties prenantes.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 111


5- SYSTÈME DE VALEUR DU SERVICE
APERÇU DE LA CHAÎNE DE VALEUR DES SERVICES

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 112


5- SYSTÈME DE VALEUR DU SERVICE
APERÇU DE LA CHAÎNE DE VALEUR DES SERVICES
La chaîne de valeur des services est un modèle opérationnel qui définit les activités clés nécessaires pour
répondre à la demande et permettre la création de valeur grâce à la formation et à la gestion de produits et
services,
La chaîne de valeur du service ITIL comprend six activités de la chaîne de valeur qui conduisent à la création
de produits et services et, par conséquent, à la création de valeur.
• Planifier
• Améliorer
• Engager
• Concevoir et transiter
• Obtenir / Assembler
• Fournir et supporter

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 113


5- SYSTÈME DE VALEUR DU SERVICE
L'activité PLANIFIER
Le but de cette activité de la chaîne de valeur est d’assurer une compréhension commune de la vision, de l’état
actuel et de la direction d’amélioration pour les quatre dimensions et tous les produits et services de
l’organisation.
Les données d’entrées de l'activité PLANIFIER
Le tableau ci-dessous montre les données d’entrée ainsi que leur origine dans l'activité PLANIFIER.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 114


5- SYSTÈME DE VALEUR DU SERVICE
Les données de sortie de l'activité PLANIFIER
Le tableau ci-dessous montre les données de sortie de l'activité PLANIFIER ainsi que les destinataires de cette
activité.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 115


5- SYSTÈME DE VALEUR DU SERVICE
Activité AMELIORER
Le but de cette activité de chaîne de valeur est d’assurer l’amélioration continue des produits, des services et
des pratiques dans toutes les activités de la chaîne de valeur et les quatre dimensions de la gestion des services.
Les données d’entrées de l'activité AMELIORER
Le tableau donné montre les données d’entrée et les sources d'où les données d’entrée sont fournies pour
l'activité AMELIORER

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 116


5- SYSTÈME DE VALEUR DU SERVICE
Les données de sortie de l'activité AMELIORER
Le tableau donné montre les données de sortie de l’activité AMELIORER et à qui ces données de sortie sont
fournies.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 117


5- SYSTÈME DE VALEUR DU SERVICE
Activité ENGAGER
Le but de cette activité de la chaîne de valeur est de fournir une bonne compréhension des besoins des parties
prenantes, une transparence, un engagement continu et de bonnes relations avec toutes les parties prenante.
Les données d’entrées de l'activité ENGAGER
Le tableau donné montre les données d’entrée et les sources d'où les données d’entrée sont fournies à l'activité
ENGAGER.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 118


5- SYSTÈME DE VALEUR DU SERVICE
Les données de sortie de l'activité ENGAGER
Le tableau ci-dessous montre les données de sortie de l'activité d'engagement et les destinataires de ces
données de sortie.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 119


5- SYSTÈME DE VALEUR DU SERVICE
Activité CONCEVOIR et TRANSITIONNER
Le but de cette activité dans la chaîne de valeur est de garantir que les produits et services répondent
continuellement aux attentes des parties prenantes en termes de qualité, de coûts et de délai de
commercialisation.
Les données d’entrées de l'activité CONCEVOIR et TRANSITIONNER
Le tableau ci-dessous montre les données d’entrée et les sources d'où les données d’entrée sont fournies pour
l'activité CONCEVOIR et TRANSITIONNER.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 120


5- SYSTÈME DE VALEUR DU SERVICE
Les données de sortie de l'activité CONCEVOIR et TRANSITIONNER
Le tableau ci-dessous montre les données de sortie de l’activité CONCEVOIR et TRANSITIONNER et
à qui ces données de sorties sont fournis.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 121


5- SYSTÈME DE VALEUR DU SERVICE
Activité OBTENIR et ASSEMBLER
Le but de cette activité dans la chaîne de valeur est de s'assurer que les composants de service sont disponibles
quand et où ils sont nécessaires et qu'ils répondent aux spécifications convenues.
Les données d’entrées de l'activité OBTENIR et ASSEMBLER
Le tableau ci-dessous montre les données d’entrée et les sources d'où les données d’entrée sont fournies pour
l'activité ABTENIR/ASSEMBLER.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 122


5- SYSTÈME DE VALEUR DU SERVICE
Les données de sortie de l'activité OBTENIR et ASSEMBLER
Le tableau ci-dessous montre les données de sortie de l’activité de conception et de transition et à qui ces
données de sortie sont fournies.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 123


5- SYSTÈME DE VALEUR DU SERVICE
Activité FOURNIR et SUPPORTER
Le but de cette activité de la chaîne de valeur est de garantir que les services sont fournis et supportés
conformément aux spécifications convenues et aux attentes des parties prenantes.
Les données d’entrées de l'activité FOURNIR et SUPPORTER
Le tableau donné montre les données d’entrée et les sources d'où les données d’entrée sont fournies à l'activité
FOURNIR et SUPPORTER.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 124


5- SYSTÈME DE VALEUR DU SERVICE
Les données de sortie de l'activité FOURNIR et SUPPORTER
Le tableau ci-dessous montre les données de sortie de l’activité FOURNIR et SUPPORTER et à qui ces
données de sorties sont fournies.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 125


Introduction aux BD et aux SGBD
Bref historique et typologie
Les premiers S.G.B.D. sont apparus dans les années 1960 lorsqu'on s'est rendu compte que pour stocker les données
d'une application sur des fichiers il fallait, chaque fois, un grand effort pour l'encodage et la gestion des informations.
L'utilisation de formats de fichiers spécifiques à chaque application était également une barrière importante pour le
partage d'informations entre plusieurs applications. L'idée principale fut alors d'introduire, entre le système
d'exploitation et les applications, une couche de logiciel spécialisée dans la gestion de données structurées. L'un des
premiers systèmes de grande ampleur à implanter une telle couche fut le système IMS avec le langage DL/1 (data
language one), basé sur un modèle hiérarchique pour la représentation des données. Parallèlement, le Database Task
Group (fondé par Charles Bachman) définit la norme CODASYL, qui s'appuie sur une structuration des informations en
réseaux. Les deux paradigmes (hiérarchie et réseau) étaient fondés sur des langages navigationnels qui nécessitaient une
connaissance fine de la structuration des données pour leur exploration et leur interrogation.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 126


Introduction aux BD et aux SGBD
Bref historique et typologie

En 1970, Ted Codd (A. M. Turing Award 1981), proposa de faciliter et d'optimiser l'interaction avec les S.G.B.D. en
utilisant le modèle relationnel pour la représentation des données. Dans ce modèle ensembliste, l'information est
organisée en plusieurs tables ou relations homogènes qui peuvent être interrogées et combinées grâce à des opérateurs
ensemblistes. Le succès du modèle relationnel dans les S.G.B.D. modernes tient à sa simplicité (on n'est pas obligé de
connaître les détails d'implémentation pour interroger la base), ses fondements logiques et son efficacité (il existe des
algorithmes et des structures de données efficaces pour manipuler les données). Dans les années 1990, est apparu un
nouveau type de modèles de données, les modèles semi-structurés, mieux adaptés à la gestion et à l'intégration de
documents hétérogènes tels qu'ils sont publiés sur le Web. Le standard XML est un représentant de ce type de modèles.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 127


Introduction aux BD et aux SGBD
Bref historique et typologie
Quelques dates phares dans le domaine des BD :

1961
Apparition du premier système que l'on nommera bien plus tard un SGBD : IDS (Integrated Data Storage) réalisé par la
société General Electric. Il pose les bases du modèle réseau.
1965-1970
Les données sont traitées au moyen de systèmes de fichier. IBM développe le modèle hiérarchique avec IMS
(Information Management System). IMS évolue vers IMS DB/DC (DataBase/DataCom) qui utilise le modèle réseau.
1970
À partir du début des années 1970, les universitaires s'intéressent aux BD et les font dès lors progresser plus
sensiblement. Le modèle relationnel apparaît.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 128


Introduction aux BD et aux SGBD
Bref historique et typologie
Quelques dates phares dans le domaine des BD :

1972-1975
Premières conférences internationales sur le thème des BD. Début des travaux qui mèneront à la méthode Merise.
1976
Définition de la méthode Merise et publication du modèle Entité-Association.
1975-1980
Les premiers SGBDR sont diffusés, par exemple : SYSTEM-R d'IBM et INGRES de l'Université de Californie. Ils restent
cependant, à ce stade, assez expérimentaux.
1980
Les SGBDR prennent leur essor et conquièrent peu à peu le marché des BD, remplaçant les SGBD hiérarchiques et
réseaux. Les outils logiciels deviennent de plus en plus performants et ergonomiques.
1990
Dans les années 1990, les SGBDOO émergent peu à peu. Plus puissants que leurs équivalents relationnels, ils sont aussi
plus complexes et ne se sont pas encore imposés à l'heure actuelle. Ils restent l'évolution future la plus probable en
matière de BD.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 129


Introduction aux BD et aux SGBD
Contexte

◦ Les Bases de Données sont nécessaires à tous les domaines d'activité industrie, commerce, services,
recherche scientifique, …
◦ Leur succès est lié aux avancées scientifiques et technologiques en gestion de l'information et des
communications
◦ Les Systèmes de Gestion des Bases de Données (SGBD) sont parmi les systèmes logiciels les plus
complexes

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 130


Introduction aux BD et aux SGBD
Exemples de grandes applications
◦ Systèmes de compagnies aériennes

◦ Systèmes bancaires, d'assurance, commerciaux

◦ Bases de données scientifiques, techniques

- Biologie

- Astronomie

- Produits industriels

◦ Bases de données bibliographiques

◦ et, de plus en plus, interactions entre applications de divers domaines santé, transports, tourisme, …

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 131


Introduction aux BD et aux SGBD
Exemples
Pour une BD pour une compagnie aérienne.
Pour supporter les réservations:

◦ quelles informations doivent être stockées ?


◦ quels types d'interrogations sont souhaités ?

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 132


Introduction aux BD et aux SGBD
Exemples
- Les données
◦ les appareils
◦ les vols
◦ les aéroports
◦ les réservations
◦ les achats

- Les types d'interrogations


◦ quels sont les vols au départ de X et arrivant à Y le 15 mars 2014 ?
◦ quels sont les prix de ces vols ?
◦ combien de passagers ont voyagé sur le vol 1234 du 15 mars 2014 ?

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 133


Introduction aux BD et aux SGBD
Exemples

SGBD relationnel: les données sont stockées dans des tables

Vols n°vol compagnie type_avion


123 Air France Boeing 747
234 Alitalia Airbus A340
… …. …

Requête SQL: Donner le type d'avion du vol 123

SELECT type_avion
FROM Vols
WHERE n°vol = 123 ;

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 134


Introduction aux BD et aux SGBD
Les principales fonctions d’un SGBD
• Gestion du stockage en mémoire secondaire
Accès efficaces aux données
Gestion des transferts mémoires centrale - secondaire
• Persistance
• Résistance aux pannes (fiabilité)
pannes logicielles,
pannes matérielles
• Confidentialité (sécurité)
utilisation malveillante

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 135


Introduction aux BD et aux SGBD
Les principales fonctions d’un SGBD
• Cohérence – Intégrité (fiabilité)
◦ données # informations
◦ données + propriétés = représentation d’informations

• Partage des données – Concurrence (fiabilité)


◦ accès aux données est partagé par de nombreux utilisateurs !

• Interface classes d’utilisateurs :


◦ administrateur , développeur d’applications , secrétariat, tout le monde
◦ langage spécialisé, interface graphique, formulaires, menus

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 136


Les niveaux des BD

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 137


Caractéristiques de l’Architecture

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 138


Quels types d'études dans les BD et les SGBD ?
Conception de BD
À partir de l'analyse du contexte, recueillir les besoins :
◦ Quelles informations stocker ? Comment les organiser ?
◦ Quelles contraintes prendre en compte ? Comment les représenter ?
◦ Quels types d'usages de ces données ?

Programmation
Développement et optimisation de requêtes et programmes
Interfaces avec d'autres applications

Implémentation de SGBD
support de nouveaux types de données, optimiseurs, intégration de données
et d'applications, interfaces utilisateurs, langages

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 139


Conception (design) de la BD

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 140


Le grand défi: l'interopérabilité

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 141


Difficultés de la démarche orientée BD
• mise en place de l’organisation
• complexité de la démarche et des outils
• architecture et taille des systèmes
• coûts
– matériels, logiciels, personnel spécialisé, formation
– projets, conversion des applications existantes

Informatique Humain

Matériel Logiciel Données Organisation Personnes

Rôles

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 142


2. CONCEPTS DE BASE : Modèle Entités - Relations
• Contenu
• Entités, attributs
• Relations
• Clés
• Multiplicités, cardinalités
• Passage du modèle E/A au modèle relationnel
• Normalisation
▪ Dépendance fonctionnelle
▪ Formes normales

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 143


2. Modèle Entités - Relations
• Apporter une interprétation du contexte applicatif
– en soulignant les aspects fondamentaux
– en négligeant les détails
• Identifier les données gérées par la base de données et leur
relations
• Produire un diagramme, suivant un formalisme,
en vue de convertir le modèle de données en schéma de base
relationnelle

Modèle Systèmes
RÉALITÉ
Entité-Relation Relationnels

modeling mapping

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 144


Modèle Entités - Relations
• Entité
– "une chose" qui existe et qui peut être distinguée de façon unique.
Ex.: un étudiant, une voiture, une banque
– abstraite ou concrète
• Ensemble d'entités
– Une collection d'entités similaires, ayant les mêmes propriétés,
identifiées par l’ "organisation" ("entreprise" en sens large) comme
ayant une vie propre
Ex.: les étudiants d'une université, les comptes d'une banque, les
entreprises d'un pays, les voitures d'une société de location …

Remarque: s'il n'y a pas d'ambiguïté, on utilise le terme "entité"


pour indiquer un ensemble d'entités.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 145


Modèle Entités - Relations
Attribut
◦ propriété d’une entité
◦ prend des valeurs simples, par exemple entiers ou chaînes de caractères
(domaine d'attribut)

Ensemble d'Entités Attributs Domaines


Voitures n°série entier (12)
marque chaîne de car. (8)
type chaîne de car. (10)

type Représentation
n°série marque sous forme de
voitures diagramme

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 146


Modèle Entités - Relations
Clé des ensembles d'entités
• clé candidate: un ensemble minimal d’attributs qui identifie de façon unique une
occurrence d’entité
• clé primaire: une clé candidate choisie pour identifier de façon unique chaque
occurrence d’entité
• clé composée: une clé candidate composée de deux ou plusieurs attributs

type n°d nom_d


n°série marque
voitures département

Clés candidates Clé primaire


Clé primaire
K1 = n°d K = n°d
K = n°série
K2 = nom_d

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 147


Modèle Entités - Relations
Relations
– Une relation relie deux ou plusieurs ensembles d'entités
– Ex.:
• Des universités délivrent des diplômes
• Des étudiants sont inscrits dans des universités

n°u nom_u n°d titre

université délivr diplôme


e
inscriptio
n°e n nom_e
étudiant prénom_e

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 148


Modèle Entités - Relations
Ensemble de relations
La "valeur" d'une relation est l'ensemble des listes des entités réellement associées par la relation.
Chaque liste est obtenue en correspondance des ensembles d'entités en relation.
Exemple: valeur de la relation "délivre"

- l'université identifiée par u1


n°u n°d
délivre les diplômes identifiés
u1 d2
par d2, d3 et d5,
u1 d3

u1 d5
l'université identifiée par u100
…. …
délivre les diplômes identifiés
u100 d1
par d1 et d2
u100 d2

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 149


Modèle Entités - Relations
Relations n-aires
Une relation connectant plus de 2 ensembles d'entités permet de restreindre les combinatoires entre les valeurs
des entités en relation
Ex.: des employés participent à des projets avec des rôles

n°p nom_p

projet n°p n°e n°r


n°r descr_r
p1 e2 r1
p1 e3 r2
particip rôle
p1 e5 r3
n°e e … … …
employé prénom_e p2 e2 r2
nom_e p2 e3 r1

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 150


Modèle Entités - Relations
Exercices
Donner des exemples de relations de type (1), (2) et (3)

A r B
r A A r B
C
(1) (2)
(3)

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 151


Modèle Entités - Relations
Type des relations binaires
Soit r une relation binaire
Le type de r est lié au nombre d’occurrences d’une entité qui peuvent être associées
avec une occurrence de l'autre entité

E1 r E2

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 152


Modèle Entités - Relations
Relations de type m-n
Dans une relation "plusieurs à plusieurs" ("many-many", m-n), une entité de chaque ensemble
peut être connectée à plusieurs entités de l'autre ensemble

n°e nom_e n°p titre

employés participe projets

(n-m)

employés projets

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 153


Modèle Entités - Relations
Relations de type 1-n
Dans une relation "un à plusieurs" ("one-many", 1-n),
• une entité d'un ensemble peut être connectée à au ùoins une entité du second ensemble
• mais une entité du second ensemble peut ne pas être connecté à aucune entité du premier
ensemble, ou être connectée à une ou plusieurs entité de cet ensemble

n°f nom_f n°série type

fabriquants produit voitures

(1-n) fabriquants voitures

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 154


Modèle Entités - Relations
Dans une relation "un à un" ("one-one", 1-1),
une entité de chaque ensemble peut être connectée à au plus une entité de l'autre ensemble
Exemple: une BD pour l'administration d'un pays
une personne possède au plus un passeport
et un passeport a un seul titulaire

n°p nom_p n°pass date_emission

personnes possède passeport

(1-1)
personnes passeports

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 155


Modèle Entités - Relations
Synthèse sur les types des relations

A B A B A B

1-n n-m 1-1

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 156


Modèle Entités - Relations
Trouver des exemples de relations de type 1-n, n-m, 1-1. Pour chaque
exemple, spécifier les entités A et B, en indiquant leurs attributs et clés,
ainsi que la relation r.

A r B

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 157


Modèle Entités - Relations
Les BD sont conçues dans l'hypothèse du "monde fermé"
Les ensembles d'entités sont FINIS !!

Cardinalités
Couples (min, max) associés à chaque ensemble d'entité relié par une relation r
◦ Si r est binaire, entre E1 et E2:
◦ le min (resp. max) associé à Ei (i=1,2) représente le nombre minimum (resp. max) d'entités de Ej (j=2,1)
associées à un élément quelconque de Ei.
◦ Si r est n-aire:
◦ le nombre d’occurrences possibles d’entités associées dans cette relation quand les autres (n-1) valeurs
sont fixées

Min Max
0 1
1 n

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 158


Modèle Entités - Relations

n°f nom_f type n°série


1,n 1,1
fabriquant produit voitures

(1-n)

n°e nom_e titre n°p


0,n 1,n
employé participe projet

(n-m)

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 159


Modèle Entités - Relations
nom_p n°pass date_emission
n°p
0,1 1,1
personne possède passeport

(1-1)

est composée de
n°pièce
0,n
quantité
nom_p pièce
0,n

compose

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 160


Modèle Entités - Relations
Exemple

n°p nom_p

projet
1,n n°r descr_r
0,n rôle
participe

n°e 0,n
employé prénom_e
nom_e

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 161


Modèle Entités - Relations

n°p nom_p
nom_p
n°p projet projet
1,n n°r descr_r 1,n descr_r
n°r
0,n rôle rôle
participe participe
a 0,n
n°e 0,n n°e 0,n
1,n
employé prénom_e employé prénom_e
nom_e A nom_e B

projet
n°p 1,n
Comparer les modèles nom_p
nécessite
A, B et C participe
0,n rôle
descr_r
n°e 0,n
0,n
employé prénom_e n°r
nom_e Gabriella
ENSEIGNANT Salzano
: CHRISTIAN ARTHUR -ONDAPHE
UMLV 162
C 162
Modèle Entités - Relations
Question
A partir des cardinalités d'une relation binaire, on peut déduire le type de
la relation. Comment ?

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 163


Modèle Entités - Relations
Passage du modèle E/A au modèle relationnel
Chaque type-entité donne naissance à un schéma de relation. Chaque attribut de ce type-entité devient un attribut du schéma de relation.
L’identifiant est conservé en tant que clé du schéma de relation. Il faut faire attention aux éventuels type entités spécifiques qui traduisent
l’apparition d’au moins une clé étrangère. Cette étape est illustrée dans cette figure :
TYPE-ENTITE

identifiant
attribut1
attribut2

TYPE-ENTITE(identifiant, attribut1, attribut2)

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 164


Modèle Entités - Relations
Passage du modèle E/A au modèle relationnel
Chaque type-association maillé (chacune des pattes à pour cardinalité maximale n) donne naissance à un schéma de relation. Chaque attribut de
ce type association devient un attribut du schéma de relation. L’identifiant est formé par l’ensemble des identifiants des types-entités qui
interviennent dans le type association. Chacun de ces identifiants devient une clé étrangère faisant référence au schéma de relation
correspondant au type-entité dont l’identifiant provient. Cette étape est illustrée ci-dessous.

TE1
Parti TE2
Parti
0,n TypeAssociation 0,n
idTE1 attribut1 idTE2
attribut2

TE1(idTE1, …) TE2 (idTE2,…)


TA(idTE1, idTE2, attribut1, attribut2)

Clé étrangère Clé étrangère

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 165


Modèle Entités - Relations
Passage du modèle E/A au modèle relationnel
Un type-association dont une patte a une cardinalité maximale égale à 1 (il ne doit donc pas posséder d’attribut) ne devient pas un schéma de
relation. Il décrit en effet une dépendance fonctionnelle. Le schéma de relation correspondant au type-entité dont la patte vers le type-association
a une cardinalité maximale valant 1, se voit ajouter comme attribut (et donc comme clé étrangère) l’identifiant de l’autre type-entité. Attention, si
la patte correspond à un lien identifiant, l’attribut ajouté doit être incorporé à la clé du schéma de relation.

ainsi, un type-association fonctionnel ne devient pas un schéma de relation mais se traduit simplement par une clé étrangère.

TE1
Parti
Parti
TE2
idTE1 1,1 TypeAssociation 0,n
attribut1 idTE2
attribut2

TE1(idTE1, idTE2, attribut1, …) TE2 (idTE2,…)

Clé étrangère

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 166


Modèle Entités - Relations
Passage du modèle E/A au modèle relationnel
◦ Cas particulier d’un type-association 1 vers 1
PERSONNE
arti
LIVRET
Parti -A
idPersonne 0,1 Posséder 1,1
nom idLivretA
personne solde
adresse

LIVRET
-A(idLivretA
, solde, idPropriétaire)
PERSONNE(
idPersonne
, nom, prénom, adresse
)

Clé étrangère

Le type-association Posséder étant du type 1 vers 1, il est entièrement matérialisé dans le schéma de relation LIVRET-A par la clé étrangère
idPersonne. Il est donc inutile de la matérialiser à nouveau dans le schéma de relation PERSONNE (ou inversement). Il faut donc choisir de
supprimer idLivretA de PERSONNE ou idPersonne de LIVRET-A. La cardinalité 0,1 nous indique le bon choix.

- PERSONNE(idPersonne, nom, prénom, adresse)

- LIVRET-A(idLivretA, solde, idPropriétaire) où idPropriétaire , nouveau nom de idPersonne, est une clé étrangère qui fait référence au schéma de
relation PERSONNE.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 167


Modèle Entités - Relations
Choix des entités et des relations
Une base de données est valable dans un contexte d'application
Le choix des entités et relations représentées dans un modèle de données dépend
de la "perspective" du modèle et de ses objectifs
des entités peuvent être reliées par plusieurs relations, non redondantes entre
elles.

n°s 1,1 0,n


arrive x
segments
orientés points
1,1 0,n y
part

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 168


Modèle Entités - Relations
Héritage
Relation entre une entité (classe) et une sous-classe qui nécessite d’être représentée dans un modèle de
données
Par rapport à l'ensemble d'entités plus général, la sous-classe
◦ contient moins d'éléments
◦ ses éléments ont des propriétés supplémentaires ou participent de relations supplémentaires

employés
véhicules
motos avions
pilotes
voitures
camions

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 169


Modèle Entités - Relations
Relations is-a Relation Is-a ou Est-un: relation binaire
Induit une relation d'ordre entre les entités
◦ Généralisation / Spécialisation

Représentations graphiques
◦ A généralisation de B et C ; B et C spécialisations de A

A Multiplicité ? A
Cardinalités ?
is a is a
is a is a

B C B C

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 170


Modèle Entités - Relations
Exemple
domaine d'activité

industriel raison_sociale
n°c
client

particulier nom
adresse
prénom
profession

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 171


Modèle Entités - Relations

Participation
Totale ou Partielle
détermine si toutes ou seulement quelques occurrences d’un ensemble
d'entités participent à une relation

A partir des cardinalités:


◦ min = 0  participation partielle
◦ min > 0  participation totale

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 172


Modèle Entités - Relations
Participation
Tous les éléments du modèle (entités, relations, cardinalités, …) reflètent des choix pour
représenter le contexte applicatifs.
En particulier, les cardinalités dépendent des "domaines" des ensembles d'entités.

est
Homme 0,1 0,1
marié Femme
à

Homme 1,1 est Femme


marié
1,1
marié à mariée

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 173


Modèle Entités - Relations
Exercice
Trouver des exemples d’entités et de relations correspondant au modèle (5).
Modifier le modèle, afin de rendre les participations "totales".

0,n 0,n
A r B

(5)

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 174


Modèle Entités - Relations
n°d sigle budget

1,1 département
Modifier le modèle ci-contre
pour générer des dirige 1,n
participations totales nom
0,1 appartient
grâce à des relations n°e
d’héritage
1,1
employé
0,1
0,1
travaille
1,n
est
responsable n°p
1,n projet
libellé

budget

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 175


Modèle Entités - Relations

Synthèse
Un modèle Entité-Relation contient les éléments suivants:
◦ Entités
◦ Propriétés (ou attributs)
◦ Clés primaires
◦ Relations
◦ Éventuellement munies de propriétés (ou attributs)
◦ Cardinalités

Ces éléments sont TOUS OBLIGATOIRES

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 176


Modèle Entités - Relations
Exercice
Compléter le modèle ci-dessous

n°c date_c nom_p


n°p
commande concerne produit

quantité

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 177


Modèle Entités - Relations
Exercice nom
n°e prénom n°m adresse
0,n 1,1
employé appartient magasin
1,0
n°m
is a
1,1 Analyser ce modèle et
type-salarié le corriger, si
nécessaire

salaire coût taux taux heures


mensuel journalier heures supplémentaires
de bas e

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 178


Modèle Entités - Relations
nom-c n°p
nom-v nom_p
Compagnie Pilote
Ville

Aéroport Vol Pas sager


n°a
nom-a date nom
heure prénom
n°de vol adresse

- Ci-dessus des entités d'un modèle ER pour un système de transport


aérien. Le compléter, en introduisant les relations, les identifiants, les
cardinalités.
- Modifier ensuite le modèle pour prendre en compte le n° de siège
occupé par un passager sur un vol bien précis.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 179


Du modèle entité-association vers le modèle relationnel:
Etapes de transformation
Soit le modèle entité-association suivant:

0... n né 1...1 0...n chante 1 ... n


endroit
heure Artiste Chanson
salle

ID
Adresse Nom ID
ID

Prénom Titre

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 180


Du modèle entité-association vers le modèle relationnel:
Etapes de transformation
ETAPE 1
Toute entité est transformée en une relation. La clé primaire de la relation est l’identificateur de l’entité.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 181


Du modèle entité-association vers le modèle relationnel:
Etapes de transformation
ETAPE 2
Toute association ayant des cardinalités 0...n ou 1...n des deux côtés est transformée en une relation. La clé
primaire de la relation est constituée des clés primaires des entités qui y participent (et peut contenir
d’autres attributs de l’association).

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 182


Du modèle entité-association vers le modèle relationnel:
Etapes de transformation
ETAPE 3
Les attributs d’une association qui a une cardinalité 0...1 ou 1...1 sont ajoutés à l’entité à laquelle elle est
reliée avec cette cardinalité. La clé primaire de l’autre entité qui participe devient clé étrangère dans la
première entité.

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 183


Du modèle entité-association vers le modèle relationnel:
Etapes de transformation
Schéma relationnel

Artiste(ID, Nom, Prénom, IdEndroit, Heure)


IdEndroit est clé étrangère
Chanson(ID, Titre)
Endroit(ID, Adresse)
Chante(IdArtiste, IdChanson, Salle)
IdArtiste, IdChanson sont des clés étrangères

ENSEIGNANT : CHRISTIAN ARTHUR ONDAPHE 184

Vous aimerez peut-être aussi