Vendredÿ: un peu de LSF, le kilo-girl et PHP est très vieux

Disclaimer: j’ai emprunté ce terme de Vendredÿ chez Alsacreations.

Pour moi, il s’agit d’une veille des choses qui m’ont faite rire, étonnée et interpellée. Je l’envoie par e-mail chaque semaine à mes collègues, et je me suis dit « Pourquoi ne pas en faire profiter tout le monde ? »

Publicité

Compte-rendu du PHP Tour lyonnais [23-24 juin 2014]

On l’avait bien attendu, ce PHP Tour, puisque je me souviens être allée à Paris seule défendre le dossier, il y a 3 ans. A l’époque, le dossier n’était pas celui attendu et nous avions dû revoir notre copie.
Depuis, j’ai relâché mes responsabilités au sein de l’AFUP pour me concentrer sur d’autres activités (comme la Game Dev Party, par exemple).
Pour ce PHP Tour, ce qui était amusant pour moi, a été de retrouver tous les « copains » de l’AFUP. Après avoir longtemps été du côté de l’organisation, j’avoue que j’ai savouré ma participation en tant que conférencière.

Banniere PHP Tour 2014 j'y serai, sponsor argent eZ Publish

La veille du PHP Tour avait lieu le repas pour les conférenciers, et par un micmac dans ma mémoire défaillante (c’est pourquoi je note tout tout tout), j’ai pensé que ce repas était le soir du premier jour. Heureusement qu’un tweet de Benoît Lévèque m’a remémoré la date…au dernier moment.

J’ai donc cessé ce que j’étais en train de faire, et suis partie dîner avec les autres conférenciers. Ce soir là, la pression atmosphérique était énorme et la chaleur écrasante. Je suis partie tellement à la hâte que j’ai gardé ma « robe du dimanche », et je ne le regrette pas car elle était bien aérée !

Le dîner fût excellent et la compagnie fort agréable. J’ignore si c’était la chaleur ou le vin, mais j’ai eu l’impression que les conférenciers étaient assez excités d’être à Lyon pour le PHP Tour.

Le lendemain, je revêtais ma tenue « corporate », et, parée de mon joli polo orange eZ Systems, je regagnai la Manufacture des Tabacs. Sur place, j’étais la première parmi mes collègues…qui m’avaient demandé de venir en avance pour leur donner un coup de main ! Après avoir attendu un moment mes collègues farceurs, j’ai visité les lieux. J’ai profité d’un peu de café et de viennoiseries, avant de consulter nonchalamment le programme. C’est alors que je me suis rendue compte que j’avais décalé le repas conférencier dans mon esprit mais également le reste du PHP Tour ! Je pensais faire ma conférence le second jour, et en fait c’était le premier.

Du coup, j’ai passé la journée en étant assez stressée et en tâchant, toutefois, de faire bon accueil aux visiteurs de notre stand. Et malgré mon passif en présentation orale, j’avais énormément d’appréhension avant mon passage. A tel point que je n’ai pas eu le coeur à aller écouter mes pairs, incapable de me concentrer sur ce qu’ils racontaient. J’ai assisté à la Keynote de Rasmus Lerdorf, qui a insisté sur le Faire, et agire pour changer. Sa keynote complétait parfaitement le Mix IT.

Le midi, nous avons pu emprunter le superbe stand Microsoft Azure pour présenter la nouvelle interface Admin.

L’après-midi s’est écoulé entre répétitions et chronométrage de ma conférence, réponses aux questions sur le stand, discussions plus ou moins « business » avec les ex-collègues présents.

Ensuite, vint le moment de ma présentation « Pourquoi la documentation compte ? ». J’étais dans une des petites salles, en fin de journée, avec ma conférence sur la Documentation. Nous étions peu dans ce sauna mais les auditeurs étaient attentifs et valeureux.

Assez tendue au départ, une fois lancée, j’étais concentrée sur les messages et notions que je voulais faire passer, entre retour d’expérience et conseils pour avoir une meilleure documentation. J’avais gardé sous le coude quelques sujets que je n’avais pas abordé dans ma conférence, et au final, les questions ont permis de finir en beauté.
Je décerne la palme  de la question à :

« Va-t-on faire du DDD ? Documentation Driven Development ? »

Ma réponse a été que parfois, si le Product Owner est très très détaillé dans ses Stories, on peut arriver à de la DDD. J’ai par exemple eu la chance de travailler avec @samuel_v2 qui fait partie de ces PO qui décrivent le comportement attendu et écrivent quasiment une documentation par Story pour obtenir ce qu’il pense être le mieux pour le logiciel.

IMG_9595_MD

La soirée sur la péniche au Red House s’est déroulée sans moi, obligations familiales oblige. Et le lendemain matin, un peu moins fraîche que la veille, je regagnai notre stand à la moquette orange pour accueillir les visiteurs, après un shoot de carburant, tout de même.

Cette seconde journée a été plus agréable pour moi, le stress étant retombé. Je me suis offert des tee-shirts « Last Night PHP Saved My Life ». J’ai pu aller écouter quelques conférences sur le Monitoring et la Dette Technique. J’y ai découvert des outils, et des idées. Puis j’ai été attentive aux Lightning Talks, qui sont toujours un exercice amusant à regarder. Le périmètre doit être extrêmement limité de manière à ce que l’auditoire profite des 5 minutes allouées.

Mes collègues, Bertrand Dunogier et André Romcke ont fait un Lightning Talk sur le cache d’eZ Publish Platform. Le sujet est passionnant, riche et le format LT ne permet pas forcément de faire comprendre à un public débutant en eZ Publish les subtilités et les forces du cache.

Cependant, j’espère que vous aurez l’occasion d’en savoir plus sur le sujet lors d’un prochain événement. En attendant, il y a la doc !

Compte-rendu : Apéro PHP Python, Lyon

Je voulais relater ce qui s’était passé à l’apéro PHP-Python, à Lyon, car c’était vraiment intéressant. (Oui, je parle d’un événement qui a eu lieu le 26 septembre, mais tant que l’apéroPHP d’octobre n’a pas eu lieu, c’est le dernier en date.)

Tous les 29 du mois, l’AFUP Lyon organise un apéro PHP, sauf si cela tombe le week-end. Pour cette session, nous avions la volonté de nous rapprocher de pairs, qui font du dév, côté serveur, et les Pythonnistes étaient tout désignés. Pour pimenter les trolls, nous avions demandé à chaque communauté de préparer une mini-conférence présentant le langage.

ring avec 2 chefs gaulois et la foule qui les encourage (image tirée d'Asterix)

Case du « Combat des chefs », album d’Astérix

C’est Pascal Martin qui s’est acquitté de la tâche, pour la partie PHP et Arthur Vuillard qui a présenté Python. Le principe même de ces mini-conférences m’a fait penser à l’album d’Astérix, Le combat des chefs avec chaque clan qui envoie son champion.

Ce qui m’a vraiment intéressée dans cette soirée a été les réactions du public. Les orateurs d’un soir étaient forcément dans la présentation de ce qu’ils imaginaient comme différences positives entre les langages. Je connais mieux mes pairs PHPiens, et je les ai trouvé plus au fait et plus ouvert de ce qui existait en Python que l’inverse.
Les dév PHP étaient intéressés par les possibilités de threading de Python, par ce qu’ils ne pouvaient pas faire en PHP. J’ai personnellement été intéressée par les tuples, listes, piles, files et que sais-je encore que Python gère comme « plusieurs éléments en rapport » tandis qu’en PHP, les tableaux font la loi.
Les dév Python étaient plutôt silencieux au départ, sauf l’un d’entre eux, qui avait fait du PHP4, et qui du coup, découvrait les avancées depuis ce temps là. Les questions n’ont pas fusé autant que pour la première présentation (de Python) mais il était tard, et il faisait chaud, les participants avaient faim.

AFUP Lyon

Des petits rappels sur la branche lyonnaise :

  • Pas obligé d’être membre de l’AFUP pour être sur la mailing-liste AFUP Lyon
  • Tous les 29 du mois, apéroPHP à Lyon (et on se permet de décaler quand ça tombe le week-end, les lyonnais n’aimant pas boire le week-end)
  • Refonte du site apéroPHP en cours, et mise en ligne, ben…je ne gère pas ce paramètre

Pour le reste, on organise des mini-conférences, la première sera le 25 mai 2012, sur la Performance PHP.

N’oubliez pas le forum PHP 2012, et si vous comptez y aller, vous pouvez utiliser les bannières prévues à cet effet

Vous devriez trouver bientôt ici…

Prochainement à lire ici

A Lyon, en mars

En attendant, les prochaines dates lyonnaises sont (et je n’ai pas cité :

Première journée de Coding Party AFUP Lyon : un semi-échec

Il y a quelques semaines, nous avons fait une Coding Party Apéro PHP à Lyon. L’AFUP Lyon organisait cet événement. Quand je parle de l’AFUP Lyon, je parle de 2 personnes motivées pour faire bouger les troupes, Mikael Randy et moi-même.

Eric D. nous a gentiment prêté les locaux de sa société, nous assurant le confort nécessaire pour la journée. Les développeurs ont répondu présents ; et la Coding Party était lancée.

Le but de de la journée était de faire une V1 d’une nouvelle version du site Apéro PHP, l’actuel étant un peu ancien et manquant de fonctionnalités. Par choix des personnes investies dans le projet, nous avions convenu de repartir de zéro et de monter le site avec le micro-framework Silex. Les développeurs PHP lyonnais, soit aimant coder sur leur temps libre, soit aimant les apéros, ou peut-être les deux, ont été enthousiastes.

Malheureusement, les deux organisateurs (dont je fais partie) n’ont pas su être présents dès le début de la journée (12h au lieu de 10h) pour des raisons familiales. Nous savions que la moitié du temps serait consacré à la configuration et à l’installation des outils. Pour ma part, je suis passée 2h dans la journée, avec mon fils qui courait partout. Et j’ai juste ajouté le bootstrap Twitter dans le projet, en tentant de tuner la homepage du site web. J’ai entendu les personnes autour de moi galérer à mettre le repo Git en distant, à fetcher, à installer Silex et ses dépendances, puis ne pas trop savoir par quel morceau attaquer.

La publicité autour de l’événement aurait pu être plus importante, de manière  à recruter plus de développeurs encore, ce qui nous aurait permis de répartir les tâches encore plus et de faire 2-3 binômes sur les fonctionnalités à implémenter.

De plus, personne ne s’est imposé en leader ou en benevolent dictator pour décider des choix et priorités sur le projet.

J’espère de tout coeur que nous pourrons refaire une ou deux Coding Party, de manière à monter de chouettes sites web et à apprendre à se connaître en tant que développeurs.

Si vous avez des conseils pour la prochaine, ou envie de participer, faites le savoir en commentaire. Merci.

Le résultat de la journée : https://github.com/afup/aperophp

Mais il se passe quoi à Lyon pour les techos ?

Souvent, on a l’impression qu’il ne se passe rien autour de chez nous, alors qu’il y a plein d’événements sympas à Lyon et alentours.

Vous n’avez plus d’excuse pour dire « je m’ennuie à Lyon ». Et si jamais j’ai oublié des événements récurrents, ou ponctuels, merci de me le signaler.

edit : ajouts de

Debrief sur le PHP Tour Lille 2011

Je reviens du PHPTour (dont vous trouverez les slides sur la page Résumé).

Arrivée la veille à Lille, je me lève à 6h30, (décollage prévu à 7h de l’Hôtel en compagnie de l’équipe d’orga). La plupart des conférenciers sont au même hôtel. En arrivant à la salle de petit-déjeuner, après avoir dévisagé toutes les personnes présentes, je m’installe à une table libre : en allant chercher mon thé, je me rends compte que je connais au moins une personne à chaque table…le matin, c’est pas facile. Toutes mes excuses à Steven Van Poeck, qui m’a salué et que j’ai mis au moins 10 minutes à reconnaître.

Démarrage par le vestiaire, où j’essaie de ranger logiquement les affaires qu’on nous confie. Comme habituellement, je croise un monde fou : les cow-boys de la Ferme du Web, Loïc Frering, mais également Eric Colinet (le présentateur de PHPTV), mon ex-collègue Julien Pauli, Hello qui gère les éléPHPants ; Christian Durel qui aimerait savoir pourquoi il y a si peu de femmes dans le PHP. Des gens qui ne twittent pas comme Stéphane Jeanneau, des gens qui twittent comme Frederic Hardy [@mageekguy] (ex-collègue aussi).

Ensuite, je trouve la source du café et des croissants, et par la même occasion, les salles de conférence. Du coup, j’en profite pour aller voir quelques conférences. Et si je rate les nouveautés de PHP 5.4, j’ai quand même pu apprécier :

hello $mongo

Une introduction à MongoDB pour les développeurs PHP, par deux gars d’Alptis, des voisins puisque lyonnais. Gérald Croes nous explique les principes de MongoDB : facilité de prise en main et performance, plutôt que sûreté et redondance. Il nous initie au vocabulaire Mongo-iste, et nous donne des exemples en CLI et en PHP de création de DB et d’enregistrements dans cette base de données. Cédric Derue s’attarde, quant à lui, sur l’ODM (Object Document Mapper) Doctrine, qui permet d’accéder à ses données depuis son code PHP, en se basant sur les classes de son modèle.

Je retiens que MongoDB est souple et permet de spécifier/modifier la structure dès que le besoin s’en fait ressentir. Cela me paraît ultra-intéressant pour les POC et nouveaux projets. Il est également possible de stocker des fichiers binaires, de faire des références (styles clefs étrangères) et d’imbriquer les objets les uns dans les autres.La persistance des données est aujourd’hui souvent assurée par les bases de données de type relationnel. Pour dialoguer avec ces bases de données, nous employons des ORM en charge de transformer le modèle objet en modèle relationnel et vice versa apportant ainsi une solution au paradigme Impedance Mismatch. Les bases NoSQL (Not Only SQL) proposent des approches différentes au modèle relationnel en offrant des solutions alternatives : orientées clés / valeurs, orientées colonnes, orientées documents ou encore orientées graphes. MongoDB est une base de données orientée documents populaire et accessible depuis la pluspart des langages web dont PHP, mais aussi Java, C#.NET, Python et Ruby. A travers l’exemple de MongoDB, le but de la présentation est de prouver que 80% des applications web pourraient tirer profit des bases de données NoSQL et de présenter à quel point une telle approche permet aux développeurs de se concentrer sur l’essentiel : le modèle objet de l’application et sa manipulation, ainsi que les performances.

Services asynchrones ZeroMQ et Mongrel 2

La conférence était plutôt intéressante et très pédagogique. Loïc d’Anterroches est venu nous expliquer pourquoi il avait imaginé utilisé cette solution à base de ZéroMQ et Mongrel2 pour une application donnant les informations d’une molécule chimique que l’utilisateur dessine.

Je retiens qu’on peut s’appuyer sur PHP, et car PHP sait aussi faire ce que font « les nouvelles sirènes »comme RoR, NodeJS, etc. Au niveau de la plate-forme proposée en combinant ZeroMQ qui gère donc le push/pull de messages et Mongrel2 comme serveur, elle équivaut à un Heroku.
Il faut garder en tête que cette solution repose sur des librairies en évolution permanente, ne pas prévoir de les utiliser en prod pour le moment, mais plutôt intéressantes pour un POC ou un projet interne.

Hoa, un ensemble de bibliothèques

Ivan Enderlin nous a présenté son travail de quelques années : l’ensemble de bibliothèques Hoa. Après une courte introduction sur les raisons de création de Hoa, nous avons pu apprécier les différentes possibilités offertes par cet ensemble de librairies. Hoa se veut un pont entre le monde de la recherche et le monde de l’entreprise. Et surtout, en plus d’être un ensemble de lib, Hoa est un environnement pour développer des libs.

J’ai découvert XYL (XML Yielding Language) qui est un langage ambitieux puisque il se propose de décrire des interfaces multi-sorties et multi-plate-formes. J’ai trouvé Ivan convaincant sur, notamment son environnement de libs et les choix techniques effectués. La durée ne permettait pas d’avoir des exemples de type retour d’expérience, et c’est dommage.

Le second jour a été très dur (et pas que pour moi, apparemment), et j’ai eu la chance de voir la conférence de Patrick Allaert. C’est un belge survolté, très pointu et très gentil, qui nous a parlé des outils pour les développeurs.

Les outils avancés du développeur PHP

Les outils présentés ne sont pas nouveaux, mais vraiment utiles au quotidien, et tous opensource. J’ai (re) découvert Wireshark, dont Patrick nous a vanté les mérites pour analyser, tous les paquets transitant par HTTP, que ce soit les requêtes HTTP, ou les requêtes MySQL. Comme autre outil, HipHop for PHP, qui n’est peut-être pas utilisé en prod par tant de monde, hors Facebook, mais qui permet de transformer du PHP en C++. L’intérêt est de passer sur un langage fortement typé qui a un compilateur strict. Le compilateur ne laissera pas passer les « erreurs » de type, d’arguments manquants que pourraient laisser passer la souplesse de PHP.

Encore d’autres outils comme OpenGrok (recherche et parcours du code source) ou GNU Global pour trouver un symbole dans le code. Patrick a également expliqué l’usage de git bisect, et de sa commande run, couplée à un script de test. Puis il a fait un point sur des modules PECL importants pour les développeurs (comme inclued ou scream).

J’ai apprécié l’approche d’outils opensource, d’outils élaborés, au final, par des développeurs pour des développeurs. Et d’outils qui ne font qu’une seule chose et le font bien.

Ce PHPTour a été pour moi l’occassion de renouer avec la communauté PHP, d’apprécier la passion et le professionnalisme des bénévoles de l’AFUP. Je suis maintenant motivée pour participer à la mise en place d’une candidature de Lyon pour un prochain PHPTour. Et je vous rappelle que tous les 29 du mois, la branche lyonnaise de l’AFUP lance un ApéroPHP, libre d’accès !

Je vais au PHPTour le mois prochain : youhou !

Le PHP Tour 2011 est dans un mois ! Serez-vous à Lille les 24 et 25 novembre ? Moi j’irais !

24 et 25 novembre 2011

J’y serais en tant que bénévole, et j’avais déjà cité les conférences que j’avais repérées dans un billet précédent 🙂 alors que j’en verrais sûrement une seule par jour.

Allez jetez un oeil au programme complet et dites moi ce qui vous tente. Ensuite, pour s’inscrire : http://afup.org/pages/phptourlille2011/inscription.php

 

Sur le groupe PHP Lyon

Puisque mon article précédent a déchaîné les passions, voilà ce que je peux dire sur le groupe PHP Lyon :

  • c’est Geoffrey Bachelet notre chef (son twitter : @ubermuda)
  • le but de ce groupe PHP Lyon est de faire des choses…à Lyon (et je ne parle pas d’apéros uniquement) et si vous avez des idées ou des envies, parlez en à Geoffrey
  • on est parti pour faire un groupe local de l’AFUP : pour devenir membre du groupe lyonnais PHP, il vous suffira de devenir membre de l’AFUP

edit : en fait, ça y est, c’est officiel nous sommes l’antenne locale AFUP Lyon

On peut donc dévoiler les projets :

  • s’occuper sérieusement du site aperoPHP.net, qui date, mais surtout qui manque de fonctionnalités, et pour cela, on va se le faire en coding party.
    Si vous êtes de la partie graphique et que vous voulez vous la péter grave, n’hésitez pas à proposer une CSS pour le site !
  • faire des apéros aussi pour le côté échange et ambiance
  • il se prépare un RendezVous AFUP, mais vous en saurez plus quand il sera prêt sur le site de l’AFUP

[PHPTour] Serez-vous à Lille en novembre ?

Le PHP Tour 2011 a dévoilé le programme et ouvert ses inscriptions : alors ? Serez-vous à Lille les 24 et 25 novembre ?

Pour s’inscrire : http://afup.org/pages/phptourlille2011/inscription.php

24 et 25 novembre 2011

J’espère que je pourrais m’y rendre, et en ce cas, voilà les conférences qui me font saliver par avance :

  • Pourquoi on a abandonné Magento au profit d’un dévéloppement spécifique
    parce qu’on aime toujours voir les logiciels clef en main descendues de leur piédestal, et voir le code des autres et les solutions qu’ils ont trouvées à leur problème
  • Optimiser la performance business de votre site avec l’A/B Testing
    c’est toujours intéressant de comprendre comment on vend notre travail, non ?
  • Services asynchrones et multilangages avec Mongrel2 et ZeroMQ
    qui est en même temps que la pré-citée et depuis le temps que je lis Loïc de xhtml.net, j’ai bien envie de le voir en chair et en os
  • Hoa, un ensemble de bibliothèques
    parce que depuis le temps que Ivan nous tanne avec son framework sur PHPFrance.com, j’ai bien envie d’une vraie présentation
  • Mock, Stubs et Tests
    par un dév de chez Sensio, je sais que ce sera rigolo, geek et technique – enfin, c’est mon secret espoir

Et le second jour

  • Êtes-vous prêts pour le succès ?
    ce que Géoportail aurait dû écouter, et aussi le site lyonnais de la Fête de la Musique
  • Ma première extension PHP
    parce que seule, je ne m’y mettrais jamais, mais j’ai bien envie de savoir comment on fait
  • Introduction à Zend Framework 2
    parce que j’ai beau faire du symfony au quotidien, c’est toujours bien d’aller lorgner chez les voisins
  • Concevoir de puissantes applications VoIP grâce à PHP
    parce que je ne le fais pas du tout et que je suis curieuse de savoir quelles sont les contraintes
  • Les outils avancés du développeur PHP
    parce que c’est une occasion pour s’outiller et s’équiper au mieux et voir comment d’autres bossent
  • « You want me to test this !?!? » – Lessons learned from testing legacy code
    parce que c’est un réel problème, que je rencontre dans mon boulot et que j’aimerais avoir des clefs pour aller plus vite – et puis ça fait toujours plaisir de se sentir moins seul

Oui oui, ça fait beaucoup, et si j’y vais, il y a une forte chance pour que j’aide l’orga et que je ne vois qu’une seule conférence par jour

Un groupe PHP Lyon

Depuis un moment, on se disait qu’on monterait bien un User Group lyonnais de développeurs PHP.
Hier soir, à l’occasion de l’apéro PHP pour fêter les 2 ans de PHP5.3, avec quelques développeurs PHP lyonnais, on a entériné cette décision.

Les détails restent à spécifier, mais on va le faire !

Ne crois pas que tu t’es trompé de route quand tu n’es pas allé assez loin

Parfois, je cherche, parfois je trouve. Souvent j’oublie. Alors, pour me souvenir qu’on peut aussi bien se marrer avec symfony + Propel, je me suis notée que pour un superbe criteria de ce style, mis dans une méthode selectAvailableTruc :
$criteria->add(self::IS_PUBLISHED, true);
$criterion = $criteria->getNewCriterion(self::BEGIN_DATE, date('Y-m-d h:i:s'), Criteria::LESS_EQUAL);
$criterion->addAnd($criteria->getNewCriterion(self::END_DATE, date('Y-m-d h:i:s'), Criteria::GREATER_EQUAL));
$criteria->add($criterion);
return self::doSelectOne($criteria);

vous pouvez simplement utiliser une route de type :
super_chemin:
url: /mestrucs/:id
class: sfPropelRoute
options: { model: Truc, type: object, method_for_criteria: selectAvailableTruc }
params: { module: truc, action: show }
requirements:
sf_method: [GET, POST]

Le titre est une citation de Claude Aveline


Pour être plus précise, le besoin était de n’avoir pas accès à l’objet, si jamais il n’était plus valable (hors dates) ou pas publié (brouillon, par exemple), tout en conservant le lien avec l’id. Bref, le même lien pouvait devenir valide ou invalide selon que l’objet est considéré comme disponible ou non.

PHP Tour Lille 2010 : une semaine restante pour soumettre vos conférences

Voilà que j’ai complètement oublié de prévenir que le site web du PHP Tour Lille 2011 était sorti dans son design final. Un nouveau type d’événement justifiait un nouveau design de site web.
24 et 25 novembre 2011
Son look est plus coloré que le site de l’association AFUP que vous avez l’habitude de fréquenter (n’est-ce pas ?) et je suis certaine que cela ne vous empêchera pas de proposer une conférence pour cet événement, avant le 31 mai.

Comme le rappelle notre préz Jean-Marc Fontaine :

Pour cette édition lilloise, plusieurs thématiques sont à l’honneur :

  • Le commerce en ligne : e-commerce, m-commerce, internet des objets…
  • L’intégration d’applications hétérogènes au sein des systèmes d’informations
  • L’échelle du web : outils, techniques et astuces pour résister aux montées en charge

Rappel : le PHP Tour Lille 2011 se tiendra les 24 et 25 novembre 2011…à Lille.