Introduction aux Systèmes d'Information (SI)

Objectifs pédagogiques
  • 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

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 à :

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 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
Imaginons une agence qui gère ses relevés de mesures dans un fichier Excel partagé par email :

  • 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.

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

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 : on envoie une requête HTTP, on reçoit les données en JSON ou CSV, prêtes à être importées dans une base de données.

C'est précisément ce principe que vous utiliserez dans votre projet : récupérer des données réelles, les stocker dans votre base, puis les analyser via des requêtes SQL.

Organisation des projets SI : WBS et OBS

Tout projet SI, aussi petit soit-il, nécessite une organisation claire : que faut-il produire ? Qui fait quoi ? Ces deux questions sont répondues par deux outils complémentaires : 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 de WBS – Projet base de données
  • Niveau 1 : Projet base de données ClearData
    • 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 : Soutenance

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
SoutenanceRRR

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
À 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 on va manipuler. 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
Bonnes pratiques pour le dictionnaire de données
  • Utilisez des noms explicites et en minuscules, sans accents ni espaces (ex : date_embauche plutôt que DateE).
  • Documentez toujours les contraintes métier (une concentration ne peut pas être négative, un code postal a 5 chiffres...).
  • Identifiez clairement les clés primaires (PK) : ce sont les colonnes qui identifient de manière unique chaque ligne.
  • Mettez à 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

Cette distinction est importante pour la conception de la base : les données de référence seront dans des tables séparées, partagées par toutes les autres tables 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 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

Comment identifier une dépendance fonctionnelle ?

La méthode est simple : posez-vous la question en deux temps.

Méthode en 3 étapes
Exemple : Est-ce que id_station → nom_ville ?

  1. Formulation : "Est-ce que connaître l'identifiant d'une station me permet de savoir dans quelle ville elle se trouve ?"
  2. Vérification : Oui, chaque station est physiquement installée à un seul endroit.
  3. Conclusion : La dépendance id_station → nom_ville est valide ✅

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 pas déterminée uniquement par la station, ni uniquement par la date - mais par les deux ensemble :

(id_station, date_mesure) → concentration_ppm

Cela signifie : "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.
À retenir
Pour vérifier une dépendance fonctionnelle A → B, posez-vous 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.

Les dépendances fonctionnelles sont fondamentales pour :
  • Choisir les clés primaires des tables
  • Éviter les redondances (stocker la même info à plusieurs endroits)
  • Préparer la normalisation de la base (1NF, 2NF, 3NF - abordées au chapitre suivant)

Ressources complémentaires