Anaïs Sparesotto
Architecture · ModélisationDébutant≈ 2h15 · 7 chapitres

UML-Merise : comprendre et modéliser

Modéliser un système ou une base de données avant de coder. Une heure de schéma économise une journée de refactor.

À la fin du cours, tu sais

  • Savoir quand utiliser Merise et quand utiliser UML
  • Lire et écrire un MCD propre
  • Passer du MCD au MLD puis au SQL
  • Construire un diagramme de classes UML
  • Documenter une interaction avec un diagramme de séquence
  • Versionner ses schémas avec Mermaid ou PlantUML

Prérequis

  • Notions de base SQL (idéalement avoir suivi le cours Intro SQL)
  • Avoir un projet à modéliser, même fictif
Chapitre 11 / 10

Étape 1 sur 10 : Pourquoi modéliser avant de coder

Chapitre 1

Pourquoi modéliser avant de coder

Un schéma t'évite trois jours de refacto. Plus le projet grandit, plus l'absence de modèle coûte cher.

Modéliser, c'est réfléchir avant de coder. C'est l'étape qui transforme une idée encore floue en un système clair et structuré : tu poses les objets de ton métier, les liens qui les unissent et les règles qui les gouvernent avant d'écrire la moindre ligne. Quand on débute, on a envie de foncer sur le clavier, et modéliser ressemble alors à du temps perdu. C'est l'inverse : chaque quart d'heure passé à schématiser t'économise des heures de débogage et de refactoring une fois que le projet a grossi.

Un modèle sert quatre objectifs très concrets. Comprendre le besoin d'abord : clarifier ce que le projet doit réellement faire, au lieu de découvrir en cours de route qu'on a codé dans la mauvaise direction. Organiser les idées ensuite : un schéma donne une vue d'ensemble et rend gérable une complexité qui, dans la tête, reste confuse. Éviter les erreurs surtout : corriger un oubli en phase de conception coûte une fraction de ce qu'il coûtera une fois en production, avec des données réelles et des utilisateur·ices en face. Communiquer enfin : un diagramme crée un langage commun entre les personnes qui développent, le client et le métier. Tout le monde regarde le même dessin et parle enfin de la même chose.

Une autre manière de le dire : modéliser, c'est visualiser le système dans sa globalité, expliquer clairement ta solution à quelqu'un d'autre, et corriger les incohérences très tôt, quand elles ne coûtent presque rien. Ce n'est ni une case administrative à cocher ni une perte de temps : c'est un investissement qui se rembourse dès la première semaine de développement.

Cet angle compte particulièrement si tu prépares un titre RNCP. Devant un jury, on ne te demande pas seulement que ton application fonctionne : on attend que tu justifies tes choix techniques, que tu structures tes données proprement et que tu démontres une démarche réfléchie. Savoir présenter un modèle et expliquer pourquoi tu as posé telle entité ou telle relation, c'est ce qui fait la différence entre « ça marche » et « je maîtrise ».

Un dernier repère, pour ne pas tomber dans l'excès inverse : modéliser ne veut pas dire tout dessiner dans le moindre détail pendant trois semaines avant de coder. Plus une erreur est détectée tard, plus elle coûte cher — un attribut oublié repéré sur un schéma se rajoute en dix secondes, alors que le même oubli découvert une fois la base créée et l'application codée, c'est une migration, du code à reprendre et des tests à réécrire. Tu modélises donc juste assez et en continu : un croquis rapide avant une feature, un modèle de données soigné avant une nouvelle table.

Prends un exemple concret. Sans modèle, tu codes une table utilisateur, puis une table commande, et trois semaines plus tard le client précise qu'une commande peut être réglée en plusieurs fois. Tu découvres qu'il te manque toute une notion de « paiement » que ton schéma n'avait jamais anticipée : il faut créer une table, migrer les données existantes, reprendre le code qui calculait les totaux et réécrire les tests. Avec un modèle posé en amont, cette règle serait apparue dès la première discussion, sous la forme d'une entité Paiement reliée à Commande. Le coût de l'oubli passe alors de plusieurs jours à quelques minutes de gomme.

La « règle du quart d'heure » se pratique en trois temps. D'abord tu listes les objets dont ton système doit se souvenir — ce seront tes futures entités ou classes. Ensuite tu traces les liens entre eux et, pour chaque lien, tu te poses la seule question qui compte : « combien au minimum, combien au maximum ? ». C'est là que naissent les cardinalités. Enfin tu confrontes ton croquis aux cas limites : et si un client n'a aucune commande ? et si un produit change de prix après avoir été commandé ? et si deux personnes réservent le même créneau ? Ces questions en apparence bêtes, posées avant de coder, sont exactement celles qui te sauteraient au visage en production.

Un modèle n'est pas qu'un outil de conception, c'est aussi de la documentation vivante. Quand une nouvelle personne rejoint le projet, un bon schéma de données lui fait gagner des jours de lecture de code. Et « la nouvelle personne », dans six mois, ce sera peut-être toi : tu auras oublié pourquoi telle table existe ou pourquoi telle relation est optionnelle. Un diagramme à jour répond à ces questions sans que tu aies à relire trois mille lignes. C'est aussi pour ça qu'on préfère un schéma un peu imparfait mais présent à un schéma parfait qui n'existe que dans la tête d'une seule personne.

Enfin, modéliser n'est pas réservé à un profil « architecte » lointain. En équipe, on modélise à plusieurs, au tableau, parce que la discussion autour du schéma fait émerger les désaccords sur le métier avant qu'ils ne deviennent des bugs coûteux. Seul·e, tu le fais en continu, à petite dose. L'important n'est jamais la beauté du diagramme : c'est la réflexion qu'il déclenche et les mauvaises surprises qu'il t'évite.

  • Clarifier le besoin métier avant d'écrire la moindre ligne
  • Détecter les incohérences et les trous fonctionnels tôt
  • Aligner dev, PO et client sur un vocabulaire commun
  • Anticiper la scalabilité de ta base et de tes services
  • Documenter pour les futurs devs (et pour toi dans 6 mois)

La règle du quart d'heure

Avant d'attaquer une feature un peu complexe, prends 15 minutes pour la croquer (papier, Excalidraw, Mermaid). Souvent, tu vois des problèmes invisibles autrement et tu repars sur de meilleures bases.

Tu veux ce cours pour ton équipe ?

Je peux adapter et animer ce cours pour tes formateur·ices ou tes apprenant·es, en présentiel ou en distanciel. Parlons-en pendant l'audit gratuit.

Réserver un audit gratuit →