Présentation Git sur Lyon

EDIT : Les inscriptions sont fermées.

Nous organisons une présentation de Git avec comme intervenant Sébastien Douche, le 20 février 2012 à 14h, jusqu’au soir 21h.

Cette présentation, gratuite, est ouverte au public. Le nombre de places est limité (environs 30 personnes), les premiers inscrits seront les premiers servis.

La présentation aura lieu dans les locaux de ma société, situé au 25 cours Albert Thomas (la salle en elle même est située au 33 cours Albert Thomas), Lyon 3 (2 minutes du métro sans soucis).

La présentation sera suivie d’un atelier (ordinateur portable à prévoir).

L’inscription peut simplement se faire par mention twitter (@geraldcroes), ou retour de mail.

Le Design Pattern Annuaire de services (Service Locator) en PHP

Le motif de conception Service Locator fait parti des patterns qui promulguent le principe d’inversion de contrôle, aussi connu sous le nom du « principe d’Hollywood » (Ne nous appelez pas, on vous rappellera).

Le Service Locator est un composant (souvent réalisé sous la forme d’un Registre) configuré pour distribuer des services aux autres objets.

Ce que l’on cherche à éviter est qu’un objet A ait besoin d’instancier lui même un objet B pour remplir son contrat en tant qu’objet A.

J’avoue n’avoir jamais rencontré de traduction française pour ce modèle de conception, je prendrais donc la liberté de le dénommer « Annuaire de services » qui me semble à propos.

Pour notre exemple, nous allons réaliser une classe de Log sans et avec ce principe.

Continuer la lecture

Le Design Pattern Monteur (Builder) en PHP

Le monteur (builder) est un modèle de conception souvent mal compris, confondu avec d’autres patterns de type construction.

L’objectif du monteur est de séparer le processus de construction de l’objet de sa représentation finale. En d’autres termes, cela signifie que le processus de construction est identique mais que le produit finit peut varier.

Continuer la lecture

Git, un modèle de branches efficace (2/2)

La gestion des branches dans Subversion ou CVS n’est pas suffisamment simple et rapide pour encourager les développeurs à s’y frotter, voire les en dissuade :

« Quoi ? Une branche ? Non, trop compliqué de gérer les conflits… on reste dans le trunk »

Partant de ce constat, tous les développeurs restent dans « le trunk », avec tous les inconvénients que cela peut avoir :

  • Mr X commit en deux parties son code, rendant l’espace de quelques instants l’intégralité du projet instable
  • Mr X commit une fonctionnalité en cours de développement, rendant le projet impossible à livrer tant qu’il n’aura pas terminé sa fonctionnalité
  • Mr Y commit lui aussi une fonctionnalité en cours de développement, rendant le projet encore moins possible à livrer tant qu’il n’aura pas terminé sa fonctionnalité.

Et nous nous retrouvons avec un trunk complètement instable ou un « hotfix » devient impossible à réaliser.

C’est là que Git intervient en proposant une gestion des branches simple et rapide.

Continuer la lecture

Introduction à GIT (1/2)

Migrer de Subversion (ou CVS) vers Git ne se suffit pas en soi pour profiter de ce qui fait de Git… Git.

Git connait un succès grandissant pour de nombreuses raisons, dont :

  • La possibilité de travailler hors ligne
  • La possibilité de définir plusieurs dépôts distants
  • Github
  • L’extrême facilité et rapidité avec laquelle il est possible de gérer des branches
  • L’extrême facilité et rapidité avec laquelle il est possible de gérer des branches
  • Les deux derniers points
  • Surtout les trois derniers points

Après quelques rappels indispensables, nous allons nous concentrer sur le système de branches et proposer un modèle « prêt à l’emploi », largement inspiré de A successul Git branch model.

Continuer la lecture