Aller au contenu principal

Introduction aux systèmes d'information

Ce que ce chapitre apporte 6 points
  • Nommer les cinq fonctions d'un système d'information, et dire qui assure chacune
  • Expliquer pourquoi un fichier partagé par courriel finit en versions qui se contredisent
  • Dire ce qu'une licence opendata permet, et ce qu'elle exige en retour
  • Distinguer un livrable d'une activité dans un WBS, et vérifier qu'une matrice RACI n'a qu'un A par ligne
  • Rédiger un dictionnaire de données, et classer chaque donnée en référence, transactionnelle ou méta-donnée
  • Réfuter une dépendance fonctionnelle sur des lignes, et choisir une clé d'après ce que représente une ligne

Une base de données ne vit jamais seule : elle est un morceau d'un système d'information, c'est-à-dire de la façon dont une organisation fait circuler ce qu'elle sait. Le parcours d'administration système part du même constat et en tire l'autre conséquence : cartographier ce qu'on administre avant de prétendre l'administrer. Ce chapitre prend de la hauteur avant de redescendre dans la technique : à quoi sert un SI, pourquoi le tableur finit toujours par craquer, et comment on organise les données pour qu'elles restent exploitables.

Pourquoi un Système d'Information ?

Toute organisation (une entreprise, un hôpital, une mairie, une école) manipule en permanence de l'information : des noms, des dates, des stocks, des résultats, des transactions. À petite échelle, un tableau Excel ou un classeur papier peut suffire. Mais dès que les volumes augmentent, que plusieurs personnes travaillent simultanément ou que des décisions stratégiques doivent s'appuyer sur des données fiables, il faut un système structuré : le Système d'Information.

Ce chapitre pose les bases conceptuelles qui justifient l'existence des bases de données : pourquoi on en a besoin, comment on les organise, et comment on structure les données qu'elles contiennent.

Définition d'un Système d'Information

Définition : Un Système d'Information (SI) est un ensemble structuré de moyens humains, matériels et logiciels permettant de collecter, stocker, traiter et diffuser l'information nécessaire au fonctionnement et au pilotage d'une organisation.

Le mot-clé ici est structuré : un SI n'est pas un simple tas de données, c'est un ensemble cohérent où chaque information a une place, un format et un rôle défini.

Le SI vise à :

  • Assurer la bonne circulation de l'information entre les acteurs.
  • Garantir la fiabilité, la sécurité, la disponibilité et la pertinence des données.
  • Servir d'outil d'aide à la décision stratégique.

Ces trois objectifs se voient mieux sur un cas. Dans une PME de distribution, une commande saisie par un commercial décrémente le stock de l'entrepôt. Elle déclenche aussi une facture en comptabilité et apparaît le soir même dans le tableau de bord du directeur. C'est cela, le SI. Supprimer le SI ne supprime aucun de ces trois besoins : cela oblige seulement trois personnes à se transmettre la même information à la main, trois fois.

Analogie : le SI comme système nerveux

On peut comparer le SI d'une entreprise à son système nerveux : il transmet les informations entre les différentes parties (services, employés, outils), coordonne les actions, et permet à la direction de prendre des décisions éclairées. Sans SI, l'organisation « perd ses repères », comme un corps sans système nerveux.

Les cinq fonctions du SI

Un système d'information repose sur cinq fonctions principales, qui forment un cycle de vie de la donnée :

  • Collecte des données : saisie manuelle, capteurs, formulaires, API...
  • Stockage : bases relationnelles, entrepôts de données, lacs de données.
  • Traitement : calculs, tris, automatisations, croisement de données.
  • Diffusion : interfaces utilisateur, tableaux de bord, exports.
  • Protection : sécurité, confidentialité, sauvegardes, conformité RGPD.

Ces cinq fonctions sont interdépendantes : une donnée collectée mais mal stockée sera inutilisable ; une donnée bien stockée mais mal diffusée ne servira à personne ; une donnée non protégée peut compromettre toute l'organisation.

Exemple

Exemple concret : une station de mesure du CO₂ atmosphérique

  1. Collecte : un analyseur mesure la concentration en CO₂ toutes les heures.
  2. Stockage : la valeur est enregistrée dans une base de données avec l'horodatage et l'identifiant de la station.
  3. Traitement : on calcule la moyenne journalière et on détecte les pics anormaux.
  4. Diffusion : un tableau de bord affiche une alerte quand la moyenne journalière dépasse de plus de 40 ppm le niveau de fond de l'atmosphère, voisin de 425 ppm en 2025.
  5. Protection : les données sont sauvegardées chaque nuit et l'accès est réservé aux agents habilités.
Vérification rapideon peut se reprendre

1.Qu'est-ce qui distingue un système d'information d'un simple ensemble de fichiers ?

2.Les cinq fonctions du SI sont collecte, stockage, traitement, diffusion et protection. Que se passe-t-il si l'une est négligée ?

Limites des moyens traditionnels

Avant les SI modernes, les données étaient souvent gérées par des fichiers plats (.csv, .txt), des tableurs (Excel) ou des documents papier. Ces moyens ont les mêmes défauts, qui reviennent à chaque fois :

  • Données redondantes et incohérentes
  • Risque d'erreurs élevé lors des saisies manuelles
  • Accès difficile ou non partagé entre collaborateurs
  • Analyse manuelle, lente et limitée
  • Sécurité peu fiable, absence de contrôle des accès
Un scénario classique : le tableur partagé par courriel

Une agence gère ses relevés de mesures dans un fichier Excel partagé par courriel :

  • L'agent A envoie mesures_v1.xlsx à l'agent B.
  • L'agent B modifie et renvoie mesures_v2_modif_final.xlsx.
  • L'agent A a, entre-temps, continué à remplir sa propre version.
  • Résultat : deux fichiers incompatibles, des données perdues, aucune traçabilité.

Une base de données évite ce problème : il n'y a qu'une seule source de vérité, que tous les acteurs autorisés consultent et modifient en même temps, chacun avec ses droits. Elle ne garde pas pour autant la mémoire de ce qui a changé : une modification remplace l'ancienne valeur. Savoir qui a changé quoi demande une trace construite exprès, par exemple une table d'historique remplie à chaque modification.

Vérification rapideon peut se reprendre

Deux agents s'échangent par courriel un fichier de relevés et le modifient chacun de leur côté. Quel est le problème de fond ?

L'opendata : des données ouvertes

Définition : L'opendata désigne la mise à disposition de données accessibles à tous, dans des formats ouverts, gratuitement, et réutilisables par chacun pour tout usage, y compris commercial. Les seules conditions admises protègent la provenance et l'ouverture : citer la source, et parfois repartager sous la même licence.

Ouvert ne signifie pas prêt à l'emploi. Ce que la définition garantit, c'est le droit de réutiliser, pas le travail de préparation : un jeu opendata arrive avec ses trous, ses formats de date variables et ses libellés à uniformiser.

L'opendata est produit principalement par des acteurs publics (collectivités, ministères, agences nationales). En France, la loi pour une République numérique (7 octobre 2016) oblige les administrations à publier par défaut leurs principales bases de données. Les plus petites en sont dispensées (moins de 50 agents, et pour les collectivités moins de 3 500 habitants), et les données personnelles comme les secrets protégés restent exclus. Des entreprises ou associations publient aussi en opendata, volontairement.

Intérêts de l'opendata

  • Transparence des institutions publiques
  • Innovation : permet à des développeurs et chercheurs de créer de nouveaux services
  • Développement de services numériques à partir de données réelles
  • Participation citoyenne et contrôle démocratique
Exemples

Exemples de jeux de données disponibles en France

  • Mesures des polluants atmosphériques réglementés (dioxyde d'azote, particules, ozone), publiées heure par heure sur data.gouv.fr
  • Statistiques de population par commune
  • Horaires et tracés des transports en commun
  • Résultats électoraux, données météorologiques, dépenses publiques...

Interroger l'opendata depuis un programme

La plupart des plateformes opendata proposent des API (interfaces de programmation), qui permettent d'interroger les données directement depuis un programme. data.gouv.fr décrit chaque jeu de données par une API, et son API tabulaire rend directement en JSON les lignes des fichiers CSV publiés, prêtes à être importées dans une base.

C'est précisément le principe d'une base alimentée par l'extérieur : récupérer des données réelles, les stocker, puis les analyser par des requêtes SQL.

Réutiliser un jeu de données, c'est accepter sa licence. La Licence Ouverte, celle de data.gouv.fr, demande de citer la source et la date de dernière mise à jour ; l'ODbL, autre licence courante, demande en plus de publier sous la même licence une base qui en dérive, si on la diffuse.

Vérification rapideon peut se reprendre

L'opendata désigne :

Organisation des projets SI : WBS et OBS

Tout projet SI, aussi petit soit-il, demande une organisation claire. Que faut-il produire ? Qui fait quoi ? Deux outils complémentaires répondent à ces deux questions : le WBS et l'OBS.

WBS (Work Breakdown Structure)

Définition : Le WBS (structure de décomposition du travail) découpe hiérarchiquement tout ce que le travail doit produire, en livrables de plus en plus fins. Il facilite la planification, l'estimation des charges et l'affectation des ressources.

Le WBS répond à la question : « Qu'est-ce qui doit être produit ? » Il ne liste pas des actions, mais des livrables : des éléments concrets et mesurables, dont on peut constater qu'ils sont terminés.

Exemple

Exemple de WBS, base de suivi de la qualité de l'air

  • Niveau 1 : Base de suivi de la qualité de l'air
    • Niveau 2 : Modèle de données
      • Niveau 3 : Dictionnaire de données
      • Niveau 3 : MCD (Modèle Conceptuel de Données)
      • Niveau 3 : MLD (Modèle Logique de Données)
    • Niveau 2 : Base de données installée
      • Niveau 3 : Script SQL de création
      • Niveau 3 : Base peuplée des relevés
    • Niveau 2 : Requêtes SQL
    • Niveau 2 : Guide d'utilisation

Regarder ce que contient chaque ligne plutôt que la profondeur de l'arbre : aucune ne décrit une action. « Dictionnaire de données » est un livrable, « rédiger le dictionnaire » serait une activité. C'est cette différence qui rend un WBS utilisable : un livrable se constate terminé, une activité s'étire sans qu'on sache jamais où elle en est.

Le premier mot ne suffit pas toujours à trancher. « Insertion des données » ne commence pas par un verbe et décrit pourtant une action. Le test qui tranche est celui du constat : peut-on dire, à une date donnée, que c'est fini ? « Base peuplée des relevés » se constate, « insertion des données » non.

OBS (Organizational Breakdown Structure)

Définition : L'OBS (structure de décomposition organisationnelle) représente les rôles et responsabilités dans un projet, sous forme hiérarchique. Elle permet d'identifier les acteurs et d'établir des matrices de responsabilité (ex : matrice RACI).

L'OBS répond à la question : « Qui est impliqué et à quel titre ? » Elle ne liste pas des personnes par leur nom, mais par leur rôle dans le projet.

Exemple de matrice RACI
LivrableChef de projetModélisateurDéveloppeur SQL
MCDARC
Script SQLAIR
Guide d'utilisationRRR

Légende :

  • R (Responsible) : la personne qui réalise la tâche
  • A (Accountable) : la personne qui valide et porte la responsabilité finale
  • C (Consulted) : la personne qui est consultée pour son expertise
  • I (Informed) : la personne qui est simplement informée de l'avancement

Lire cette matrice ligne par ligne, et non colonne par colonne. Sur la ligne MCD, le modélisateur réalise et le chef de projet valide : ce sont deux rôles distincts, et c'est ce découplage qui permet de refuser un livrable sans refaire le travail. La ligne Guide d'utilisation porte en revanche trois R et aucun A : elle signale une tâche que tout le monde réalise et que personne ne valide. La règle d'or ci-dessous dit pourquoi c'est un défaut, et comment le réparer : désigner un seul A.

À retenir. Le WBS décompose ce qui doit être produit (les livrables).
L'OBS définit qui fait quoi (les rôles et responsabilités).
Croisés, ils permettent d'affecter précisément chaque livrable à chaque membre de l'équipe.

Règle d'or de la RACI : chaque tâche doit avoir exactement un seul Accountable. S'il y en a plusieurs, personne n'est vraiment responsable ; s'il n'y en a aucun, personne ne peut déclarer la tâche finie. Plusieurs R sur une même ligne, en revanche, ne posent aucun problème.

Vérification rapideon peut se reprendre

Le WBS répond à quelle question ?

Organisation et classification des données

Le dictionnaire de données

Définition : Un dictionnaire de données centralise la description de toutes les données du système : nom, type, taille, signification et contraintes éventuelles. Il garantit une compréhension partagée et une gestion rigoureuse des informations entre tous les membres du projet.

Le dictionnaire de données est le document de référence du projet : avant d'écrire la moindre ligne de SQL, il faut savoir exactement quelles données seront manipulées. C'est aussi un outil de communication entre les différents acteurs (développeurs, métier, direction).

Exemple de dictionnaire de données
NomSignificationTypeTailleContraintes
id_agentIdentifiant unique de l'agentEntier-PK, NOT NULL, AUTO_INCREMENT
nomNom de famille de l'agentTexte50 car.NOT NULL
prenomPrénom de l'agentTexte50 car.NOT NULL
date_embaucheDate d'entrée dans l'agenceDate-NOT NULL
concentration_ppmConcentration du gaz mesuréeDécimal10,4CHECK ≥ 0
date_mesureDate de la mesureDate-NOT NULL

Lire la colonne Contraintes en premier : c'est elle qui porte les règles du métier, les autres ne décrivant que du stockage. Le CHECK ≥ 0 de concentration_ppm dit qu'une concentration négative n'a aucun sens physique, et cette case deviendra telle quelle une contrainte SQL. Une case Contraintes vide est presque toujours un oubli, rarement une absence de règle.

Bonnes pratiques

Bonnes pratiques pour le dictionnaire de données

  • Utiliser des noms explicites, sans accents ni espaces (ex : date_embauche plutôt que DateE). Deux conventions coexistent : les mots séparés par un tiret bas (date_embauche) ou collés avec une majuscule (dateNaissance, que le parcours emploie aussi). L'essentiel est d'en choisir une et de s'y tenir dans toute la base.
  • Documenter toujours les contraintes métier (une concentration ne peut pas être négative, un code postal a 5 chiffres...).
  • Identifier clairement les clés primaires (PK) : ce sont les colonnes qui identifient de manière unique chaque ligne.
  • Mettre à jour le dictionnaire au fur et à mesure du projet : un dictionnaire obsolète est pire qu'aucun dictionnaire.

Catégorisation des données

Toutes les données ne jouent pas le même rôle dans un SI. On distingue trois grandes catégories :

Type de donnéesDescriptionExemple
Données de référenceStables, peu modifiées. Servent de référentiel commun.Liste des régions, types de gaz, codes INSEE
Données transactionnellesRésultent d'actions métier, volumineuses et dynamiques.Mesures de pollution, commandes, rapports produits
Méta-donnéesDécrivent d'autres données (contexte, provenance, format).Auteur d'un rapport, date de création, source du jeu de données

Dans la PME de distribution évoquée plus haut, la liste des fournisseurs est une donnée de référence, chaque bon de livraison une donnée transactionnelle, et la date d'import du catalogue fournisseur une méta-donnée. Les trois ne se mettent pas à jour au même rythme, ne se sauvegardent pas de la même façon, et ne se suppriment pas dans les mêmes conditions.

Cette distinction commande la conception de la base : les données de référence iront dans des tables séparées, partagées par toutes les autres via des clés étrangères.

Ce que coûte une donnée de référence recopiée se chiffre avant d'avoir à le payer, et le volume des données transactionnelles se prévoit de la même façon.

Ce que coûte une donnée de référence recopiée

  • 1.

    Une régie des eaux relève ses 12 000 compteurs une fois par mois. Combien de lignes sa table des relevés compte-t-elle au bout de dix ans ?

  • 2.

    Chaque relevé recopie le nom de la commune du compteur. Une commune de 400 compteurs change de nom : combien de lignes de relevés faut-il réécrire, pour dix ans d'historique ?

  • 3.

    Combien de lignes changent si le nom n'est écrit qu'une fois, dans une table des communes que les autres tables désignent par une clé étrangère ?

  • 4.

    La régie passe au relevé à distance, une mesure par compteur et par heure. Combien de lignes la table des relevés reçoit-elle désormais en une année de 365 jours ?

Dépendances fonctionnelles

Les dépendances fonctionnelles sont la notion la plus abstraite de ce chapitre, mais aussi l'une des plus fondamentales : elles sont à la base de toute modélisation relationnelle correcte.

Définition : Une dépendance fonctionnelle relie deux attributs, ou deux groupes d'attributs : A détermine B si à chaque valeur de A correspond une et une seule valeur de B. Notation : A → B (« A détermine B »)

Autrement dit : connaître la valeur de A suffit à en déduire celle de B, de façon certaine et unique.

Exemples

Exemples de dépendances fonctionnelles

ExpressionInterprétationValide ?
NumEtudiant → NomChaque numéro d'étudiant correspond à un nom unique✅ Oui
codeInsee → communeLe code officiel de l'INSEE désigne une seule commune✅ Oui
CodePostal → VilleUn même code postal dessert souvent plusieurs communes (01400 en couvre dix, dans l'Ain)❌ Non
Ville → CodePostalUne ville peut avoir plusieurs codes postaux❌ Non
id_mesure → concentration_ppmChaque mesure a une seule valeur de concentration✅ Oui
Nom → NumEtudiantDeux étudiants peuvent avoir le même nom❌ Non

Ce tableau se lit vite, et c'est son défaut : il demande de croire sur parole. Une dépendance fonctionnelle ne se décrète pas, et des lignes ne suffisent pas à la prouver : elles peuvent seulement la réfuter. Le geste qui la met à l'épreuve tient pourtant en un mouvement : regrouper les lignes par la partie gauche, puis regarder si la partie droite reste constante dans chaque groupe.

Cliquer sur une dépendance pour regrouper le tableau par sa partie gauche.

Vérifiée sur les 4 lignes : chaque valeur de la partie gauche ne s'y rencontre qu'avec une seule valeur de la partie droite.

idClientnomvillecodeInsee
11DurandSaint-Denis93066
22LeroyLyon69123
33MoreauSaint-Denis97411
44FontaineBordeaux33063

Les lignes sont regroupées par codeInsee (4 groupes). Dans chacun, ville garde la même valeur : la dépendance tient.

Les deux sens de la même paire d'attributs : un seul tient sur ces lignes.
À manipuler
La figure s'ouvre sur codeInsee → ville : quatre groupes d'une seule ligne, et la dépendance est déclarée vérifiée. Cliquer sur ville → codeInsee : le tableau se range en trois groupes, et celui de Saint-Denis, lignes 1 et 3, se teinte en rouge, avec deux codes différents, 93066 et 97411. Revenir ensuite au premier bouton. Un groupe d'une seule ligne ne peut rien contredire : quand chaque valeur de la partie gauche n'apparaît qu'une fois, la dépendance tient sur le tableau sans que les données en disent quoi que ce soit.

Les deux boutons portent la même paire d'attributs, dans les deux sens, et un seul tient. ville → codeInsee est réfutée, et ce ne sont pas des mots : Saint-Denis est une commune de Seine-Saint-Denis et une commune de La Réunion. Une seule contradiction suffit. codeInsee → ville tient sur ces lignes, mais ce ne sont pas elles qui la rendent vraie : c'est la règle de l'INSEE, qui donne un code à chaque commune, et à une seule.

Le code postal, qui ressemble tant au code INSEE, ne détermine pas la commune : 33650 dessert La Brède, Martillac et cinq autres communes. Quatre lignes où il semblerait tenir n'auraient rien prouvé.

Une dépendance a un sens

A → B et B → A sont deux affirmations distinctes, et l'une peut être vraie sans l'autre. C'est l'erreur la plus fréquente sur cette notion, et elle a des conséquences directes : c'est la partie gauche d'une dépendance qui est candidate à devenir une clé (de cette table, ou d'une table qu'on en extrait), jamais la droite.

Comment identifier une dépendance fonctionnelle ?

Le test tient en trois temps : formuler la question, la confronter au métier, conclure.

Exemple

Est-ce que id_station → nom_ville ?

  1. Formulation : « Connaître l'identifiant d'une station permet-il de savoir dans quelle ville elle se trouve ? »
  2. Vérification : oui, une station est physiquement installée à un seul endroit, et elle n'en change pas.
  3. Conclusion : la dépendance id_station → nom_ville est valide.

La deuxième étape est la seule qui décide, et elle ne se tranche pas sur les données : elle se tranche avec le métier. Si l'agence déplaçait ses stations d'une ville à l'autre, la même dépendance deviendrait fausse sans qu'aucune ligne du tableau n'ait changé.

Dépendances fonctionnelles composées

Parfois, une seule colonne ne suffit pas à déterminer une autre. Il faut alors une combinaison de colonnes :

Exemple de dépendance composée

Dans un relevé journalier d'un seul gaz, la concentration n'est déterminée ni par la seule station, ni par la seule date, mais par les deux ensemble :

(id_station, date_mesure) → concentration_ppm

Ce qui se lit : « pour une station donnée à une date donnée, la concentration est unique ». C'est ce couple qui forme la clé primaire de la table des mesures.

Avec une mesure par heure et plusieurs gaz, la clé deviendrait (id_station, horodatage, id_gaz) : la clé suit ce que représente une ligne, et c'est la première question à se poser.

La figure suivante le montre sur des relevés. Trois dépendances sont déclarées : deux fausses, une vraie.

Cliquer sur une dépendance pour regrouper le tableau par sa partie gauche.

Réfutée. Les lignes 1 et 2 partagent la même partie gauche mais donnent 436 et 461 pour concentration_ppm. Une seule contradiction suffit à faire tomber une dépendance.

id_stationdate_mesurenom_villeconcentration_ppm
1S12025-03-01Montpellier436
2S12025-03-02Montpellier461
3S22025-03-01Nimes429
4S22025-03-02Nimes433

Les lignes sont regroupées par id_station (2 groupes). Le groupe teinté en rouge contient deux valeurs différentes à droite : la dépendance ne tient pas.

Ligne d'essai : la remplir pour mettre les dépendances à l'épreuve. Une seule ligne suffit à en faire tomber une.

Ni la station seule, ni la date seule ne déterminent la concentration : les données les réfutent. Le couple, lui, tient, et c'est la règle du relevé qui en fait la clé.
À manipuler
La figure s'ouvre sur id_station → concentration_ppm : deux groupes de deux lignes, tous deux teintés en rouge, et le verdict cite la première contradiction, 436 et 461 pour S1. Passer à date_mesure → concentration_ppm : les groupes changent, le 1er mars réunit S1 et S2, et la contradiction aussi, 436 et 429. Le couple, enfin, donne quatre groupes d'une seule ligne : il tient, comme codeInsee plus haut, parce que rien ne peut le contredire sur quatre lignes. Remplir alors la ligne d'essai avec S1, 2025-03-01, Montpellier, 440 : un second relevé de S1 le même jour, et le couple tombe à son tour, lignes 1 et 5, 436 et 440.

La station seule ne suffit pas, la date seule non plus. Le couple, lui, n'est contredit par aucune ligne, mais sur quatre lignes il ne pouvait guère l'être : chaque couple n'y apparaît qu'une fois. Ce qui en fait la clé primaire, c'est la règle du relevé, une seule mesure par station et par jour.

Noter au passage la troisième colonne, nom_ville. Elle dépend bien du couple, mais une partie du couple suffit : la station seule la détermine. Cette dépendance à une partie de la clé annonce la deuxième forme normale du chapitre sur la normalisation.

À retenir. Pour vérifier une dépendance fonctionnelle A → B, se poser la question :
« Est-ce que connaître A permet de déterminer B de façon unique et certaine ? »
C'est le métier qui répond. Les données, elles, ne peuvent que réfuter : une seule ligne contraire suffit, et aucun nombre de lignes conformes ne prouve rien.

La clé suit ce que représente une ligne, et c'est quand ce sens change que l'erreur se glisse.

Une clé qui tenait sur un relevé par jour

Une seule étape est fausse. Désigner laquelle.

Une agence relevait la concentration de CO₂ une fois par jour dans chacune de ses stations, et la clé de sa table de mesures était le couple (id_station, date_mesure). Elle passe à mm relevés par jour et par station, toujours pour un seul gaz, et ajoute une colonne heure_mesure. Elle revoit sa clé.

Vérification rapideon peut se reprendre

1.codeInsee → commune est une dépendance fonctionnelle, mais pas commune → codeInsee. Pourquoi ?

2.Sur un échantillon de quatre adresses, codePostal → ville tient. Qu'en conclure ?

3.Dans un relevé journalier, quelle écriture dit que la concentration est déterminée par la station et la date prises ensemble ?

Ressources complémentaires

Chapitre révisé en octobre 2026 · Une erreur dans ce chapitre ?

Mettre en pratique