Prenons une flotte de véhicules.
Chacun a une date de sortie d’usine et de dernier passage au contrôle technique.
Vous cherchez ceux qui doivent passer le controle technique le mois prochain.
La règle dit: après 4 ans d’âge le contrôle technique est obligatoire chaque année.
Si vous prenez une approche classique, genre Excel, vous allez faire ceci (cette solution est de ChatGPT, la vôtre sans doute une variation sur le même thème).
1️⃣ Quelques données de base:
A : Plaque d’immatriculation
B : Date de sortie d’usine
C : Dernier contrôle technique
2️⃣ Puis tirer quelques formules sur deux colonnes supplémentaires *
D : Date de prochain contrôle = IF(...)
E : Mois prochain (VRAI ou FAUX) = IF(...)
Bref, vous allez exprimer la règle sur une base individuelle : calculer des données supplémentaires pour répondre à la question puis filtrer sur VRAI 😅
Pourtant, il existe une approche qui répond à la question de manière bien plus simple.
Les véhicules qui nous intéressent répondent aux deux critères suivants :
# Sortis d’usine il y a plus de 4 ans
B < TODAY - 4 YEARS
# Dernier contrôle il y a plus de 11 mois
C < TODAY - 11 MONTHS
L’approche est légèrement plus abstraite que les longues formules alambiquées.
Elle est surtout :
- plus simple
- plus correcte
- plus rapide
- moins bruitée par des calculs intermédiaires
- plus facile à maintenir
- un ordre de grandeur moins chère
Le drame c’est que peu d’outils supportent cette technique "algébrique", et comme elle n'est pas mainstream, l'IA ne vous la suggèrera pas 🤷♂️
Vous l’aurez compris, c’est précisément ce que Klaro Cards offre. En avril, on a encore largement amélioré l’experience utilisateur, qui sublime d’autant plus cette approche algébrique qu’elle la rend accessible le plus souvent sans formule (vidéo et lien playground en commentaires).
Je terminerai sur ma petite litanie habituelle, qui dépasse largement Klaro Cards pour s’appliquer à toute la digitalisation, de votre feuille Excel à votre customisation Odoo, en passant par les développements dédiés :
Si vous souhaitez beaucoup moins de bugs pour beaucoup moins cher :
- favorisez l’algèbre au calcul
- favorisez les informaticiens qui favorisent l’algèbre au calcul **
P.S. Si vous voulez voir en vidéo ou jouer avec la solution dans le Playground de Klaro Cards, je vous ai mis les liens en commentaires.
#KlaroCards #Digitalisation #FunctionalProgramming #SQL
- ChatGPT m'a proposé les formules suivantes, je doute qu'il n'y ait pas plus simple quand même dans Excel 😅
D = SI(DATEDIF(B2;AUJOURDHUI();"y")<4;"";SI(C2="";DATE(ANNEE(B2)+4;MOIS(B2);JOUR(B2));DATE(ANNEE(C2)+1;MOIS(C2);JOUR(C2))))
E = ET(D2<>"";MOIS(D2)=MOIS(AUJOURDHUI())+1;ANNEE(D2)=ANNEE(AUJOURDHUI())+(MOIS(AUJOURDHUI())=12))
** Si la différence entre algèbre et calcul ne vous est pas familière, c'est tout à fait normal. Bref, je suis votre homme.
Liens
-
Vidéo : https://youtu.be/5Bytrj0RTrw
-
La solution dans le Playground Klaro Cards: https://playground.klaro.cards/x/de02-controle-technique/all-cards