CHAPITRE 2 : Codification et Contrôle des Informations
A. Codification
L’information a besoin d’être structurée pour être traitée par ordinateur. Pour la structurer on
associe des codes (abréviations) aux différentes informations manipulées par le SI.
Exemple : SI système d’information
DNS date de naissance
SMS : Short message service
1. Définition de la codification :
La codification consiste à remplacer une information sous sa forme « naturelle » par une forme
simplifiée qui facilitera sa manipulation, sa compréhension
2. Définition d’un code :
Un code est une représentation abrégée de l’information. Il associe à chaque donnée un
ensemble de caractères permettant de le distinguer des autres données.
3. Caractéristique d’un code :
Un code est caractérisé par :
Sa longueur : Nombre N positions formant le code.
Son alphabet : L’ensemble des symboles utilisés pour représenter les différentes
positions composant le code. Chaque position peut avoir son propre alphabet.
Sa capacité : C’est le nombre maximum d’éléments à codifier. Cette capacité est
obtenue en faisant le produit C1, C2…Cn (ces derniers étant les nombres de symboles
formants les alphabets utilisés pour chacune des positions du code.
Donner un exemple pour expliquer les points ci-dessus.
4. Principaux objectifs d’un code :
Stable (Durable) : Un code ne doit pas changer de valeur dans le temps imparti à ce
code.
Exemple : prendre comme code l’âge d’une personne ou bien l’adresse ou N°
téléphone.
Nom Ambigu : Associé un code et un seul à chaque information à codifier.
1
Expliquer avec l’exemple du diplôme étudiant comme code
Possibilité d’extension : Permettre à de nouveaux objets (ou éléments) d’être codifiés
et pris en compte.
Possibilité d’insertion : Permettre à un nouveau code (objet, ou élément) d’être introduit
entre deux codes déjà existants.
Permettre des gains de temps et de place : Le code devrait être le plus court possible
permettant ainsi un gain de temps (en Lecture/Ecriture) et de place sur le support.
5. Différents types de codification :
1) Codification séquentielle
Consiste à attribuer à chaque information à codifier un nombre pris dans la suite des entiers
consécutifs.
Exemple : Codifier les étudiants inscrits dans un établissement avec des N° allant de 1 àN.
(01 au 25eme étudiant).
Avantages du Code séquentiel :
Simple à mettre en œuvre
Non ambigu du fait que deux données différentes sont toujours associées à 2
codes différents
Possibilité d’extension (l’ensemble des nombres est infinis)
Inconvénients du code séquentiel :
Non significatif (les codes attribués n’apportent aucun renseignement sur les
données codifiées)
Insertion impossible (On ne peut attribuer une nouvelle valeur de code entre 2
anciennes).
2) Codification séquentielle par tranches
Consiste à attribuer des suites d’entiers consécutifs pour l’identification de tranches (groupes)
de données possédants une propriété commune. Les données sont codifiées
séquentiellement à l’intérieur de chaque tranche.
Exemple : Codifier les étudiants pour divers départements de l’université expliquer ….
Avantages du Code séquentiel par tranches:
Non Ambigu du fait qu’une donnée ne peut appartenir à plusieurs tranches.
Possibilité d’insertion (dans l’intervalle des codes prévus pour chaque tranche).
Possibilité d’extension : Ajout d’une nouvelle tranche.
Inconvénients du Code séquentiel par tranches :
2
Signification limitée (uniquement la connaissance des tranches).
Difficulté de définir la dimension des tranches (Si on ne connait pas la répartition
future des tranches).
3) Codification articulée ou juxtaposée
Elle consiste à attribuer un code découpé en zones. Chaque zone est appelée descripteur.
Chaque zone à une signification particulière relative à l’objet codifié.
Exemple : L’immatriculation d’un véhicule.
Avantages du code Articulé
Possibilité d’insertion et d’extension exemples : insertion d’un étudiant dans un
Codification très utilisée (du fait que certaines zones possèdent une signification).
Possibilités de contrôle sur certaines zones ou descripteurs. Exemple code wilaya
compris entre 1et 48.
Inconvénients du Code Articulé
Risque de choisir des descripteurs qui amène le code à changer et donc à devenir
non stable.
Peut être lourd à manipuler, nécessitant souvent un nombre élevé de caractères.
4) Codification à niveau ou hiérarchisée
C’est un cas particulier de la codification articulée. Cette codification laisse apparaitre des
relations d’inclusion entre les différents descripteurs ou zones.
La population à coder peut être structurée en une hiérarchie ou un arbre. Les nœuds et les
feuilles d’un même niveau sont codés en séquentiel pur.
Code filière :
Racine : Filière
Niveau 1 : 1 : Sciences Exactes ; 2 : Technologie ; 3 : Sciences Naturelles ; …
Niveau 2 : 1 : Maths ; 2 : Physique ; 3 : Chimie ; …. (Nœuds fils de Sciences Exactes)
Niveau 3 : 1 : Algèbre ; 2 : Analyse (Nœuds fis de Maths)
Exemples : Code Maths : 11
Code Analyse : 112
5) Codes Contrôlables ou code par clé
C’est un code auquel on associe une suite de symboles appelé clé afin d’assurer sa validité.
a) Principe du contrôle d’un code par clé
3
La valeur de la clé de contrôle est calculée à partir du code. Ce calcul de clé est vérifié à
chaque utilisation pour assurer sa validité.
b) Méthodes utilisées
- Clé à 2 chiffres numériques
Méthode géométrique Modulo 97
Chaque chiffre du code est multiplié par les puissances successives de 2 (droite
à gauche), on additionne les produits partiels. La somme obtenue est divisé par
97 le reste de la division est utilisé comme nombre clé.
Exemple : 4329 la clé obtenue est : 41
- Clé à 1 chiffre numérique :
Méthode arithmétique Modulo 7
Chaque chiffre du code est multiplié de droite à gauche alternativement par 1
ou 2, on fait la somme des produits partiels puis on retranche de la dizaine
immédiatement supérieure pour obtenir le chiffre clé correspondant.
Exemple : 3275 la clé obtenue est : 6
Clé à 1 lettre alphabétique
Méthode de la lettre de contrôle Modulo 23
Consiste à diviser le code par 23. Le reste de la division correspond à l’ordre
de la lettre dans l’alphabet (les lettres I O S sont écartées).
6. Choix d’une codification :
Pour définir un code qui répond aux attentes des utilisateurs il faudra principalement tenir
compte :
Du nombre d’information à codifier.
De l’évolution des informations à codifier (c'est-à-dire durée de vie du code).
Du degré de signification attendu du code.
4
B. Contrôle
1. Les objectifs des contrôles
Le but du système d’information est de fournir aux utilisateurs des informations corrects et
fiables, et en assurer la correction via les contrôles nécessaires
Le contrôle d’une information consiste vérifier que ses caractéristiques sont conformes à sa
description et son sens
2. Principaux types de contrôles
On distingue deux classes de contrôles
2.1 Les contrôles directs : ce sont des contrôles qui se rapportent à l’information elle-
même et ses valeurs indépendamment de toute autre information.
1) Contrôle de présence
Il consiste à vérifier que l’information est présente sur le support dans la zone
d’enregistrement.
Exemple : Dans le fichier Etudiant : Le champs ‘Nom’ doit exister sinon il y a erreur.
2) Contrôle de type
Il consiste à vérifier le type numérique ou alphabétique d’une information en fonction
de son sens.
Exemple : Le champ ‘Moyenne’ doit être numérique sinon il y a erreur
Le champ ‘Nom’ doit être alphabétique sinon il y a erreur
3) Contrôle de cadrage
Il consiste à vérifier la position d’une information dans sa zone de saisie. Par convention :
le cadrage d’une information numérique est à droite et celui d’une information
alphabétique est à gauche.
Remarque : ce contrôle est généralement assuré de manière automatique.
4) Contrôle de vraisemblance
Il consiste à s’assurer que la valeur de l’information est vraisemblable (possible et
réalisable) conformément à son sens.
Exemple : La valeur du champ ‘Date de naissance’ 31/13/2009 est invraisemblable car
le mois est compris entre 01 et 12
5
2.2 Les contrôles indirects : ce sont des contrôles qui consistent à s’assurer de la
justesse d’une information par comparaison à d’autres informations.
1) Contrôle de cohérence interne
Il consiste à vérifier l’exactitude de la valeur d’une partie d’une donnée par rapport
aux autres parties de la même donnée.
Exemple : Codification contrôlée par clé (Codes auto-détecteurs d’erreurs).
2) Contrôle de cohérence externe
Il consiste à vérifier la justesse de la valeur d’une donnée par rapport à d’autres
données.
Exemple : La valeur du champ ‘Date de décès doit être supérieure à celle du champ
‘Date de naissance’