Aller au contenu principal

Introduction aux SI

Ce que ce chapitre apporte

  • Comprendre ce qu'est un Système d'Information
  • Identifier les cœurs de métier du SI
  • Connaître les limites des moyens traditionnels de gestion de données
  • Comprendre l'intérêt et les enjeux de l'opendata
  • Comprendre les notions de WBS et d'OBS dans un projet SI
  • Savoir définir, organiser et classer les données d'un système
  • Identifier les dépendances fonctionnelles

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. 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 cœurs de métier du SI

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

Les cinq fonctions du SI

  • Collecte des données : saisie manuelle, capteurs, formulaires, APIs...
  • Stockage : bases relationnelles, entrepôts de données, data lakes.
  • 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 de qualité de l'air

  1. Collecte : un capteur 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 si le seuil dépasse 400 ppm.
  5. Protection : les données sont sauvegardées chaque nuit et l'accès est réservé aux agents habilités.

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.

Limites de ces approches

  • 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 de chaos Excel

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

  • Agent A envoie mesures_v1.xlsx à Agent B.
  • Agent B modifie et renvoie mesures_v2_modif_final.xlsx.
  • 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é, accessible simultanément par tous les acteurs autorisés, avec un historique complet des modifications.

L'opendata : des données ouvertes

Définition : L'opendata désigne la mise à disposition de données accessibles à tous, dans des formats ouverts et réutilisables, gratuitement et sans restriction d'usage.

Ouvert ne signifie pas prêt à l'emploi. Ce que la définition écarte, c'est la restriction d'usage, 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) qui ont l'obligation légale de rendre leurs données accessibles aux citoyens. Des entreprises ou associations peuvent également publier leurs données en opendata.

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

  • Données de qualité de l'air par région (contexte du projet)
  • Statistiques de population par commune
  • Horaires et tracés des transports en commun
  • Résultats électoraux, données météorologiques, dépenses publiques...

Utiliser l'opendata dans un projet informatique

La plupart des plateformes opendata proposent des APIs (interfaces de programmation) permettant d'interroger les données directement depuis un programme. Par exemple, data.gouv.fr fournit une API REST. Une requête HTTP rend les données en JSON ou en CSV, 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.

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) est une décomposition hiérarchique du projet en livrables et sous-activités. 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 qui seront livrés à la fin de chaque tâche.

Exemple

Exemple de WBS, Projet base de données

  • Niveau 1 : Projet base de données qualité de l'air
    • Niveau 2 : Modélisation
      • 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 : Implémentation
      • Niveau 3 : Script SQL de création
      • Niveau 3 : Insertion des données
    • Niveau 2 : Requêtes SQL
    • Niveau 2 : Présentation au client

Regarder ce que contient chaque ligne plutôt que la profondeur de l'arbre : aucune ne commence par un verbe. « 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.

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
TâcheChef de projetModélisateurDéveloppeur SQL
MCDARC
Script SQLCIR
Présentation au clientRRR

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 Présentation au client porte en revanche trois R et aucun A : elle signale une tâche que tout le monde réalise et que personne ne valide.

À retenir

Le WBS décompose ce qui doit être fait (les livrables et tâches).
L'OBS définit qui fait quoi (les rôles et responsabilités).
Croisés ensemble, ils permettent d'affecter précisément chaque tâche à 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.

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 et en minuscules, sans accents ni espaces (ex : date_embauche plutôt que DateE).
  • 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.

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 : un attribut A détermine un attribut B si à chaque valeur de A correspond une et une seule valeur de B. Notation : A → B (« A détermine B »)

Autrement dit : si je connais la valeur de A, je peux en déduire la valeur 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
CodePostal → VilleUn code postal correspond à une seule ville✅ Oui
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 pourtant pas, elle se vérifie, et la vérification tient en un geste. 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 : la gauche contient un attribut non-clé, ce qui viole la 3NF.

idClientnomvillecodePostal
11DurandParis75001
22LeroyLyon69001
33MoreauParis75011
44FontaineBordeaux33000

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

Les deux sens de la même paire d'attributs. Cliquer sur l'un puis sur l'autre : le tableau se regroupe, et la différence saute aux yeux.

Les deux boutons portent la même paire d'attributs, dans les deux sens, et un seul tient. codePostal → ville est vérifiée : chaque code postal ne se rencontre qu'avec une seule ville. ville → codePostal est réfutée, et ce ne sont pas des mots : les lignes 1 et 3 partagent la ville Paris et donnent deux codes différents. Une seule contradiction suffit.

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 devient une clé, 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é de mesures, la concentration d'un gaz 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.

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 412 et 438 pour concentration_ppm. Une seule contradiction suffit à faire tomber une dépendance.

id_stationdate_mesurenom_villeconcentration_ppm
1S12025-03-01Montpellier412
2S12025-03-02Montpellier438
3S22025-03-01Nimes401
4S22025-03-02Nimes395

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.

Ni la station seule, ni la date seule ne déterminent la concentration. Leur couple, si. C'est pourquoi la clé primaire est composée.

La station seule ne suffit pas : S1 relève 412 puis 438. La date seule ne suffit pas non plus : le 1er mars, S1 relève 412 et S2 relève 401. Le couple, lui, tient sur les quatre lignes, et c'est exactement ce qui en fait une clé primaire.

Noter au passage la troisième colonne, nom_ville. Elle ne dépend pas du couple mais de la seule station, ce qui annonce la deuxième forme normale du chapitre sur les modèles relationnels.

À 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 ? »
Si oui, la dépendance est valide.

La méthode

Cadrer les données d'un projet SI, de l'énoncé du besoin jusqu'aux identifiants.

  1. Écrire en une phrase la décision que le SI doit soutenir, avant toute liste de données. Un SI se conçoit pour une décision à prendre, pas pour un stock à constituer.
  2. Parcourir les cinq fonctions (collecte, stockage, traitement, diffusion, protection) et noter, pour chacune, qui l'assure aujourd'hui. Une fonction sans titulaire est un risque, pas un détail d'organisation.
  3. Découper le travail en livrables dans un WBS. Relire chaque ligne : si elle commence par un verbe, c'est une activité, à reformuler en livrable.
  4. Affecter les rôles dans un OBS, puis croiser rôles et livrables dans une matrice RACI. Vérifier qu'aucune ligne n'a zéro A ni deux.
  5. Recenser chaque donnée dans le dictionnaire : nom en minuscules sans accent ni espace, signification, type, taille, contraintes. Remplir la colonne des contraintes en même temps que les autres, jamais après.
  6. Classer chaque donnée en référence, transactionnelle ou méta-donnée. Les données de référence partiront dans leurs propres tables.
  7. Écrire les dépendances fonctionnelles sous la forme A → B, un seul sens à la fois. Les vérifier sur des lignes réelles : regrouper par la partie gauche, puis contrôler que la partie droite reste constante dans chaque groupe.
  8. Retenir comme identifiants les parties gauches qui déterminent tout le reste. Ce sont elles qui deviendront les clés primaires.

Synthèse

  • Un système d'information n'est pas un stock de données mais un ensemble structuré de moyens humains, matériels et logiciels qui font circuler l'information d'une organisation.
  • Il assure cinq fonctions interdépendantes : collecter, stocker, traiter, diffuser, protéger. Négliger l'une dévalue les quatre autres.
  • Fichiers plats et tableurs partagés échouent sur le même point : plusieurs copies coexistent, donc plus aucune ne fait foi. Une base impose une source de vérité unique et garde la trace des modifications.
  • L'opendata est la mise à disposition de données réutilisables sans restriction d'usage. Elle ouvre l'accès, pas la qualité : les données restent à nettoyer et à documenter.
  • Les plateformes opendata exposent des API : une requête HTTP rend du JSON ou du CSV, directement importable dans une base.
  • Le WBS répond à « qu'est-ce qui doit être produit ? » et ne contient que des livrables, jamais des activités.
  • L'OBS répond à « qui est impliqué et à quel titre ? » et ne contient que des rôles. Croisé avec le WBS dans une matrice RACI, il donne un et un seul A par tâche.
  • Le dictionnaire de données est le document de référence du projet : nom, signification, type, taille et contraintes de chaque donnée, tenu à jour en continu.
  • Les données se classent en trois familles : référence (stables, partagées), transactionnelles (produites par l'activité), méta-données (qui décrivent les autres).
  • Une dépendance fonctionnelle A → B signifie qu'une valeur de A ne se rencontre jamais qu'avec une seule valeur de B. Elle a un sens, se réfute par un seul contre-exemple, et sa partie gauche est candidate à devenir une clé primaire.

Quiz

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 ?

3.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 ?

4.L'opendata désigne :

5.Le WBS répond à quelle question ?

6.CodePostal → Ville est une dépendance fonctionnelle valide, mais pas Ville → CodePostal. Pourquoi ?

7.Dans un relevé, la concentration mesurée dépend de la station et de la date. Comment l'écrit-on ?

Ressources complémentaires