Migration du site

Ce pauvre blog a été laissé à l’abandon depuis quelques (nombreuses) années.

Cet abandon est probablement du fait que mon quotidien s’est éloigné de son sujet principal qui était à l’époque PHP, mais paradoxalement, malgré le manque d’activité (et les nombreuses pannes techniques de mon ancien serveur), sa fréquentation est toujours constante.

J’ai profité du besoin de publier les slides sur notre retour d’expérience sur les Microservices (disponible sur Youtube) pour rafraichir le tout et passer sur une nouvelle plateforme.

J’espère que cette migration permettra à tous les visiteurs de consulter agréablement le contenu.

Ce n’est pas encore une promesse, mais il n’est pas impossible que j’ajoute quelques articles autours de mes expériences récentes (autours des architectures Microservices, REST, DDD, …).

Les codes (statuts) HTTP à connaître

En tant que développeurs web, nous fournissons des services au travers du web, et la plus part du temps au travers du protocole HTTP.

Dans les meilleurs des cas nous retournons un statut « 200 OK », indiquant que tout s’est bien passé, accompagné d’une page Web à l’attention de l’internaute. Malheureusement, il n’est pas toujours possible de répondre aussi favorablement à l’utilisateur et nous lui affichons alors des retours d’erreur… mais sans code HTTP pertinent correspondant.

Cet article à pour but de lister les codes HTTP indispensables (et non une liste exhaustive) que tout développeur web (PHP ou pas) devrait connaître… et encore plus lors du développement de services REST !

Continuer la lecture

De l’usage des méthodes statiques

Suite à ma précédente introduction à Domain Driven Design, une critique négative sur l’usage des services statiques (en PHP ou non)a fait réagir un lecteur. Ce dernier soulève une question légitime : « en quoi l’usage des classes de services statiques est à éviter ? »

Un service statique ?

Tout d’abord, rappelons d’un point de vue technique ce que sont les méthodes statiques :

<?php
class ClassDeServiceStatique
{
    public static function unServiceStatique () 
    { 
        //L'usage de $this est prohibé
        //calculs ne nécessitant pas de contexte
        return "resultat";
    }
}

Une classe de service statique est une classe qui regroupe ses règles métiers dans une collection de méthodes exclusivement statiques (utilisant le mot clef static), donc qui n’utilise ni ne s’appuie sur une quelconque information de contexte (un état).

Continuer la lecture

Domain Driven Design, DDD pour les intimes

Préface d’une Lightning Talk en demi teinte.

Dernièrement j’ai accepté un défi fou : celui de parler de Domain Driven Design lors d’une conférence (PHP Tour 2012 organisé par l’AFUP) de…. 5 minutes. Vraiment fou, et pas une franche réussite. A trop vouloir insister sur l’importance des concepts sous-jacents, j’ai épuisé mon temps avant d’avoir pu faire passer tous les messages que je voulais. Pour me faire pardonner, voici tout ce que je souhaitais dire en 5 minutes.

Vous avez donc dit DDD ?

A la lecture du titre, vous pouvez penser « encore un acronyme à la signification abstraite ».

Pourtant, passé cette première réaction, il s’avère que DDD porte de nombreuses valeurs, sauf celle de se compliquer le quotidien. Je vais essayer de détailler rapidement l’essence du « Domain Driven Design », en utilisant un brin de mon expérience sur le sujet.

Continuer la lecture

Programmation Orientée Aspect & PHP

L’AOP (Programmation Orientée Aspect) est un concept relativement répandu dans le monde Java ou deux acteurs majeurs proposent leur vision :

En PHP, jusqu’à ce jour, aucun projet n’a réellement vu le jour pour permettre aux développeurs de profiter de ce paradigme, si ce n’est peut être Flow 3 qui le propose à ses utilisateurs (mais cela implique l’utilisation de l’ensemble du framework), ou Symfony via un plugin dédié, qui présente les mêmes inconvénients.

Mais ça, c’était avant

Continuer la lecture