3. Code, données et règles : les trois choses à distinguer
Comprendre cette différence aide à mieux parler avec une équipe technique.
Le code indique quoi faire
Une fonction est un morceau de code qui reçoit une information et produit un résultat. Par exemple : calculer une remise à partir d'un panier, vérifier qu'un mot de passe respecte une règle, ou préparer un courriel. Les fonctions sont assemblées pour former des parcours plus grands.
Une règle métier est ce qui doit être vrai pour l'activité : « une remise ne s'applique pas aux produits déjà soldés », « une facture validée ne change plus de numéro ». Le code est une manière d'exprimer cette règle ; il ne doit pas la cacher. Lorsqu'une règle est ambiguë, un programme peut être parfaitement écrit et produire pourtant le mauvais résultat.
Les données racontent ce qui s'est passé
Les données sont les informations enregistrées : clients, commandes, droits, montants, états et dates. Elles ont souvent une durée de vie plus longue que le code qui les traite. C'est pourquoi les modifier demande de la prudence : une donnée erronée peut rester silencieuse longtemps, se recopier ailleurs et devenir difficile à réparer.
Une base de données est le système qui conserve et organise ces informations. Une migration modifie sa structure ou transforme des données existantes. Une migration sérieuse prévoit ce qui se passe si elle est interrompue, comment vérifier le résultat et comment traiter les cas anciens ou anormaux.
Une API est une promesse entre systèmes
Une API est une interface qui permet à deux logiciels de se parler. Elle précise les informations demandées et les réponses possibles. Changer une API sans prévenir peut casser l'autre logiciel même si le premier fonctionne encore. C'est pourquoi une équipe ajoute souvent un nouveau champ avant d'en retirer un ancien, et laisse du temps aux personnes qui l'utilisent pour s'adapter.
Lorsqu'une règle ou une donnée doit changer : « Quelles décisions passées ou quels autres systèmes dépendent déjà de cette information ? »
Pour aller plus loin : données comme produit, contrats évolutifs et temps et concurrence.