Quotidien Shaarli
September 12, 2025
Laravel Eloquent utilise le modèle Active Record, qui permet de manipuler les lignes d’une base de données comme des objets PHP natifs, intégrant directement les opérations CRUD (Create, Read, Update, Delete). Chaque modèle (comme Post
) correspond à une table et encapsule à la fois les données et la logique de persistance, simplifiant ainsi les interactions avec la base. Ce pattern offre une productivité rapide, une syntaxe lisible et une convention claire, mais peut aussi entraîner un couplage fort avec la base, des modèles surchargés et des tests plus complexes. Pour atténuer ces inconvénients, il est conseillé de garder les modèles légers, d’encapsuler les requêtes complexes et de privilégier les tests d’intégration. L’article illustre ces concepts avec une implémentation minimaliste en PHP pur, démontrant comment Eloquent gère la correspondance table-objet, le suivi des modifications et la persistance des données, ce qui rend son "magie" plus accessible et compréhensible.
En TypeScript, interface
et type
servent tous deux à définir des formes de données, mais avec des cas d’usage distincts. Les interfaces brillent pour déclarer des objets et des APIs extensibles (grâce à la fusion de déclarations et à l’héritage), ce qui les rend parfaites pour les contrats publics ou les bibliothèques. À l’inverse, les types (via type
) sont plus polyvalents : ils gèrent les unions, les tuples, les types mappés et les structures complexes, mais ne peuvent pas être réouverts. Privilégiez les interfaces pour modéliser des objets et favoriser l’extensibilité (ex : classes, APIs), et optez pour les types pour des besoins avancés comme les unions, les utilitaires ou les alias de types complexes. En pratique, utilisez les interfaces par défaut pour les formes d’objets, et les types pour tout le reste, surtout quand la flexibilité syntaxique est requise.
Dans ce billet, l’auteur rappelle l’importance cruciale de la mesure dans l’amélioration continue, citant Lord Kelvin : « On ne peut pas améliorer ce que l’on ne mesure pas. » Il souligne que beaucoup d’équipes travaillent en « mode tunnel », se concentrant uniquement sur la réalisation des tâches sans évaluer leur impact réel. Inspiré par le Lean Startup, il insiste sur la boucle « Build - Measure - Learn » : construire, mesurer les résultats, puis apprendre pour ajuster la trajectoire. Sans données, on navigue à l’aveugle, en supposant que le travail apporte la valeur attendue, sans pouvoir capitaliser sur les erreurs ni progresser de manière quantifiable. L’intégration d’outils de mesure dès la conception et la définition d’indicateurs clairs permettent de remplacer l’intuition par des données concrètes, essentielles pour une amélioration continue efficace.
Un rappel utile pour tous ceux qui veulent transformer leur action en progrès mesurable !