Injection et inversion de dépendance
Lorsque l’on construit des applications complexes composées de nombreux services ou modules, certains composants dépendent nécessairement d’autres composants. Il est alors important de définir clairement ces dépendances afin d’éviter qu’un changement dans l’un des composants impact le reste du système. C’est ici qu’interviennent (entre autres) l’inversion et l’injection de dépendances. Ces deux concepts sont étroitement liés et par conséquent souvent confondus lorsqu’ils sont abordés lors de conversations et de débats qui tournent autour de l’architecture logicielle. Nous allons donc voir ici à quoi correspond chacun de ces concepts et pourquoi ils sont très importants pour construire des applications maintenables et flexibles. ...

Un cluster Kubernetes à la maison
En voulant héberger une n-ième application web, j’ai dans un premier temps pensé à utiliser (comme à chaque fois) une solution tout-en-un pour packager et déployer simplement mon application. Il existe d’innombrables solutions de ce genre : Heroku, Vercel, Fly.io etc… Le souci avec ces solutions c’est qu’elles sont un peu magiques. C’est bien quand on ne veut pas s’embêter, mais c’est moins bien quand on veut comprendre comment les choses fonctionnent. J’ai donc décidé de construire mon propre cloud service provider fait maison pour déployer mes applications. ...