Traefik - A modern reverse proxy

J’aime l’informatique ! De fait, je commence à accumuler quelques appareils chez moi : un NAS Synology, un Intel NUC (qui fait office de serveur), parfois quelques Raspberry Pi… En plus de ça, j’adore bidouiller et tester des services que je peux self-hosted (via Docker le plus souvent). Jusqu’à maintenant, ces derniers étaient cantonnés à mon réseau local. Mais j’ai souvent rencontré le besoin d’y avoir accès depuis l’extérieur de mon domicile.

Continuer

Ciao Google Analytics !

Google Analytics est un outil proposé par le géant du web permettant de mesurer la fréquentation d’un site web. Dans le domaine, c’est le leader et il est utilisé par de très nombreux sites dont ce blog ;) En 2021, les différents outils Google (Google Analytics, Google Universal Analytics et Google Global Site Tag) représentent plus de 80% des parts de marché. Mais depuis quelques mois, un vent de changement commence à souffler et semble vouloir fragiliser l’hégémonie de Google sur ce marché…

Continuer

CQRS : Command Query Responsability Segregation

Dans mon article sur la scalabilité et la haute disponibilité, j’avais rapidement abordé le sujet du pattern CQRS. Aujourd’hui, nous allons voir un peu plus en détail les concepts et le fonctionnement de ce pattern. CQRS, qu’est-ce que c’est ? CQRS, pour Command Query Responsibility Segregation, est un pattern reposant sur le principe de la séparation des opérations de lecture (Query) et d’écriture (Command) Ce pattern est né du constat que les besoins, fonctionnels ou techniques, d’une application sont souvent très différents selon que l’on cherche à lire ou à modifier une donnée.

Continuer

Polly

Dans la continuité de l’article sur les architectures microservices, j’aimerais aujourd’hui vous parler d’une bibliothèque .NET permettant d’aider au développement d’une application résiliente. J’ai nommé… Polly ! Il existe déjà des patterns pour résoudre certains problèmes “classiques”, comme le pattern retry ou encore le pattern disjoncteur. Le souci est qu’ils sont souvent assez complexes à implémenter et à intégrer dans un code neuf ou existant. C’est là qu’intervient Polly, en fournissant un ensemble de stratégie prêt à l’usage et ne nécessitant que quelques lignes de code pour être opérationnelles.

Continuer

L'architecture micro-services

Dans mon précédent article sur la scalabilité et la haute disponibilité, j’avais abordé le concept d’architecture microservices. Je vais aujourd’hui détailler un peu plus ce type d’architecture qui répond à de nombreuses problématiques rencontrées par les entreprises. Dans son article Who Needs an Architect?, Martin Fowler développe sa propre définition de l’architecture : À première vue, l’architecture d’une application se résume en la décomposition de la totalité du système applicatif considéré en éléments constitutifs plus simples, aux rôles, responsabilités et limites bien identifiés.

Continuer

The darkness has come... !

Si vous êtes allez sur mon blog récemment, vous avez surement du remarquer quelques modifications esthétiques ? Non ? Vraiment… ? :( Bon ok, je vous aide : un thème sombre ! Pourquoi ? Cela fait quelque temps que ce sujet était dans mes cartons, et ce, pour plusieurs raisons. La première était de prendre un peu plus la main sur le thème que j’avais forké au moment de la création du blog (Tranquilpeak par Thibaud Lepretre).

Continuer

Mermaid

Ces derniers mois ont été assez compliqués en termes de planning, et je n’ai pas eu autant de temps que je l’aurais souhaité pour publier sur le blog. Pour reprendre le rythme, voici un petit billet rapide pour vous faire découvrir un formidable outil Javascript : Mermaid ! Celui-ci permet de générer des diagrammes (séquence, état, Gantt…) à partir d’un syntaxe textuelle proche du Markdown. Le moteur de blog que j’utilise, Hugo, inclut un shortcode pour intégrer des diagrammes Mermaid directement dans un article.

Continuer

Le refactoring

Vaste sujet ! Dans cet article, nous allons parler clean code, dette technique, refactoring et anti-patterns. Il fait suite à la série sur les designs patterns que vous pouvez retrouver ici : Les design patterns et les principes SOLID en développement logiciel Les patterns creationals Les patterns structurals Les patterns behaviorals Tout logiciel est constitué de code, et c’est la qualité de ce code qui va faire d’une application une application de qualité.

Continuer

Migration de mon blog Wordpress vers Hugo sur Gitlab

Je suis (enfin !) de retour sur le blog après plusieurs mois d’inactivité. Dernièrement, le temps d’écrire m’a pas mal manqué (!) et la migration de mon blog vers une nouvelle plateforme m’a aussi beaucoup occupé. C’est justement ce dernier point que je vais aborder aujourd’hui. Vous avez dû remarquer (j’espère…) que le style du blog a bien changé et que les performances sont bien meilleures qu’avant (j’espère aussi… !). On va faire ensemble le tour de toutes les nouveautés, et je vais essayer de vous expliquer au fur et à mesure les raisons qui m’ont poussé à changer.

Continuer

Les design patterns - Behavioral (4/4)

Troisième et dernière catégorie de pattern que je vais aborder, les behavioral patterns ou patrons de comportement. Il en existe 11 et ils permettent de définir comment organiser nos objets pour que ceux-ci collaborent. Si jamais vous les avez ratés, je vous invite à (re)lire les parties précédentes : L’introduction sur les design patterns Les patterns creationals Les patterns structurals Chain of responsibility Ce pattern permet de séparer les objets émetteurs de requêtes et les objets chargés de recevoir et traiter les requêtes.

Continuer

Photo de l'auteur

Matthieu Anceret

Blog d’un développeur Tourangeau passionné

Software Architect @C2SBouygues

France, Tours