Le Design Pattern 'Chain of Responsibility'

Design Pattern Conception - 13 May 2017

Le Design Pattern 'Chain of Responsibility'

“Quelqu’un pourrait me passer le sel, s’il vous plaît ?” (Martin Fowler, sept. 2015) Aujourd’hui, nous allons nous amuser à enfiler des objets comme des perles grâce au Design Pattern Chain of Responsibility. Classification Selon la classification établie par le GoF (Gang of Four), la chaîne de responsabilité appartient aux Design patterns comportementaux (behavior). Définition Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request.

Lire la suite ...

Design Pattern Conception - 04 May 2017

Le Design Pattern 'Decorator'

Le Gang of Four a classé les design patterns dans trois catégories : les DP de création, les DP structurels et les DP comportementaux (behavior). Au début de cette série, nous avons abordé deux design patterns de création : la Factory Method et le pattern Abstract Factory. Je vous propose aujourd’hui de nous pencher sur notre premier design pattern structurel : le Decorator. Il y sera notamment question de modération, de sexe et de grossièretés.

Lire la suite ...
Le Design Pattern 'Decorator'
Améliorez la pertinence de vos résultats ElasticSearch grâce au score

moteur de recherche recherche elasticsearch pertinence score ES elastica - 27 Apr 2017

Améliorez la pertinence de vos résultats ElasticSearch grâce au score

ElasticSearch ElasticSearch est un moteur de recherche très puissant mais relativement simple à mettre en place et à intégrer grâce à son API RESTful. Des bibliothèques telles que le client PHP Elastica et le bundle Symfony FOSElasticaBundle facilitent encore plus son intégration. Néanmoins la configuration fine du moteur de recherche reste assez complexe et peut faire peur au premier abord. Je ne vais pas parler de la configuration serveur et infrastructure d’ElasticSearch qui touche plus aux performances et à la sécurité de l’outil mais plutôt m’attarder sur la configuration du moteur de recherche en lui-même, de ce qui impactera la pertinence de vos résultats.

Lire la suite ...

agile scrum kanban gestion de projet github - 26 Apr 2017

Gérer un projet AGILE avec GitHub

Nombreux sont les outils de gestion de projets auxquels un développeur peut se frotter durant sa carrière. J’ai moi même eu affaire à plusieurs d’entre eux : des solutions de ticketing (Mantis, BugZilla, Redmine, …), des boards Kanban (Trello, Taiga), des solutions tout-en-un complexes (Jira), des forges (GitHub, GitLab) et même des solutions manuelles (carnet de note, post-it, noeud à mon mouchoir). Certaines solutions étant trop simples pour adresser tous mes besoins (Trello par exemple) ou trop complexes pour être agréables à utiliser (Jira), je me retrouve souvent à jongler entre plusieurs outils qui ne sont en plus pas toujours les mêmes d’un projet à l’autre.

Lire la suite ...
Gérer un projet AGILE avec GitHub
DotScale Paris 2017

DevOps SysAdmin Infrastructure Conférence Scalabilité - 24 Apr 2017

DotScale Paris 2017

Le 24 Avril 2017 avait lieu à Paris le DotScale 2017 avec différentes têtes d’affiches plutôt alléchantes. On citera parmi elles Mitchell Hashimoto (HashiCorp) et James Cammarata (Ansible). Rapide retour sur cette édition 2017 et les différentes conférences proposées.Dotscale c’est quoi ? Les conférences Dot sont toutes différentes (en termes de sujet) mais partagent le même concept fortement inspiré des conférences TED, qui prévoit des conférences de 18 minutes menées tambour battant via un «mono track» autour d’un sujet et/ou d’une solution technique.

Lire la suite ...

Vagrant Virtualisation - 23 Apr 2017

Introduction à Vagrant

Vagrant est un outil qui simplifie la création et la gestion d’environnements virtualisés. Si par le passé on avait recours à des plateformes comme LAMP/MAMP/XAMP pour gérer son environnement de développement, cela posait souvent problème car les versions des dépendances logicielles pouvaient varier une fois l’application déployée sur un environnement externe, notamment en production. On se retrouvait alors à perdre un temps considérable pour corriger des bugs en production qui n’étaient pas reproductibles en développement, et inversement.

Lire la suite ...
Introduction à Vagrant
Le Design Pattern 'Abstract Factory'

Design Pattern Conception - 11 Apr 2017

Le Design Pattern 'Abstract Factory'

Deuxième article d’une série consacrée aux Design Patterns. Aujourd’hui, le pattern AbstractFactory où il sera question de produits, de familles et de fabriques (factories, au pluriel s’il vous plaît). Une gentille famille américaine Une gentille famille américaine Le livre Head First Design Patterns (dont j'ai déjà vanté les mérites) regroupe les deux patterns Factory Method et AbstractFactory dans un même chapitre consultable en ligne et intitulé The Factory Pattern: Baking with OO Goodness.

Lire la suite ...

Design Pattern Conception - 10 Apr 2017

Le Design Pattern 'Factory Method'

Plan de l’article : Repères bibliographiques Ceci n’est pas une pipe Le Design Pattern ‘Factory Method’ Quelques repères bibliographiques en guise de préambule Avant d’entrer dans le vif du sujet en abordant notre premier Design Pattern, permettez-moi de citer deux ouvrages incontournables lorsque l’on évoque ce sujet. Design Patterns: Elements of Reusable Object-Oriented Software En effet, difficile d’entamer une série d’articles consacrés aux Design Patterns sans faire référence à la bible en la matière : Design Patterns: Elements of Reusable Object-Oriented Software.

Lire la suite ...
Le Design Pattern 'Factory Method'
Provisionner simplement une stack de monitoring Telegraf + InfluxDB + Grafana avec Manala

provisoning manala ansible influxdb grafana telegraf monitoring - 25 Jan 2017

Provisionner simplement une stack de monitoring Telegraf + InfluxDB + Grafana avec Manala

Manala Manala est la boîte à outils pour Ansible créée par Elao. Elle se compose d’une multitude de rôles Ansible pensés autour de la même philosophie : une installation et une configuration simple d’un environnement serveur. Si vous n’êtes pas famillier avec Ansible, je vous encourage à découvrir ce magnifique outil. Pourquoi monitorer Le monitoring consiste à surveiller et logger une série de métriques dans le temps et de les représenter sous forme de graphiques.

Lire la suite ...