La Ferme du Web était présente pour le Forum PHP 2009 organisé par l’AFUP les 12 et 13 novembre dernier. Ce fut deux journées intenses, avec des conférences très intéressantes, autour de PHP et MySQL. Voici un résumé condensé des deux jours de conférences…

Comme je l’avais publié il y’a quelque jour, le programme était chargé, et plusieurs conférences se déroulaient en même temps, nous avons donc du faire de difficiles choix.
Après un retard de plus de 30 min de notre TGV (merci la SNCF …), nous sommes arrivés sur place à 10h30 et avons donc loupé la première session de conférences:
Après avoir pioché dans le buffet petit déjeuner, nous attaquons la deuxième session de conférences.

Nous avons choisi d’assister à la conf sur le web ouvert avec PHP et je ne regrette pas ce choix.
Eric Daspet commence fort en posant la problématique: Quelle est la différence entre un site web et un site Internet ?
Et oui, d’après lui, il y’a une différence :
Il faut rendre son site plus ouvert sur le web !
Pour rendre votre site plus ouvert, accessible et interactif avec les autres, des moyens simples à mettre en place existent: Publier un flux d'actu rss et atom pour que le visiteur n'rai pas a venir voir tous les jours s'il y'a du nouveau
Publier un calendrier ICS pour les événements -> faciliter la vie du web et de l'utilisateur
RDF(a)
µformats: Marquer les pages pour spécifier le type de contenu. Bien pour google et Yahoo. D‘après lui, cela prend 2 semaines à mettre en place et cela permet d‘être un bon candidat pour le web: bonnes valeurs ajoutées pour le client. Il y’a ensuite d’autres outils un peu plus avancés que l’on peut mettre en place, toujours dans l’optique de réutiliser les services web existant, faciliter la vie de l’utilisateur:
L’authentification
Pour faciliter la création de compte ou l’identification des utilisateurs sur votre site, il est conseillé d’utiliser OpenID ou Oauth … ou encore mieux plusieurs systèmes d’identification.
Protocoles validés par Yahoo, Google ..
Créer une API autour de son site
Pour aller plus loin, développer sa propre API
SOAP / XMLRPC Webservices
REST : Faire du HTTP correct: GET et POST Sans avoir d'API a utiliser, directement interrogé par POST OU GET
Permettre de faire interagir son site avec les autres, proposer les infos users via api, rest etc.
Exports
Proposer des exports de ses données, messages etc. pour que l’utilisateur n’ai pas peur de s’engager dans votre service.
RDF+ SPARQL
YQL / BOSS
Le RDF est compliqué, le SQL est du lieu commun:
-> SQL sur le web
Exemple:
SELECT * FROM flickr.photos.search WHERE text='poule' LIMIT 3
SELECT * FROM rss WHERE url='urldurss' AND title LIKE "%Poule%"
Les données ne fuient pas quand on les partage, on les garde, mais en retour, il y'aura forcément des bénéfices: L’avenir d’après lui. Les freins des utilisateurs: Frein d'authentification + Frein de pouvoir partir facilement. Rendre son site ouvert au Web

(Crédits photo Adrien Mogenet)
Après cette conférence très intéressante, nous avons choisi d’assister à « Services Web RESTful »; Assis dans une salle pleine à craquer, voici ce que j’ai retenu des services web RESTful: Consiste notamment à utiliser les propriétés HTTP: GET, PUT, POST, DELETE et les codes retour HTTP. Bénéfices:
Inconvénients:
Dommage que la démonstration live ai planté en pleine présentation ce qui n’a pas permi à Raphaël Rougeron de terminer sur la partie plus technique.
Pour notre 3ème sessions de Conférences, nous avons été attirés par le « Cloud », mais nous n’avions pas assez lu la description … notamment qu’elle était en fait une présentation de Microsoft.

A noter tout de même que Microsoft avait alloué une cellule dédié au monde de l’open-source, l‘OSTC, dont le but est de:
Ainsi, nous avons appris que Microsoft travaillait sur l’optimisation du support de PHP sur ses plateforme et serveur IIS. Ils travaillent aussi sur un driver PHP permettant d’interagir avec les BDD SQLServer.
Je trouve que Pierre Couzy a eu le courage de faire cette conférence, en proclamant honnêtement que Microsoft et l’open source n’était pas une grande histoire d’amour, il nous a plutôt convaincu sur les nouveaux horizons du géant de l’informatique. Je regrette toutefois de ne pas avoir eu une conférence plus orientée « Cloud computing » et peut être trop « Microsoft ».
Et pour conclure sur cette première journée intense, le père de MySQL en personne est venu animé une conférence sur le fork MySQL qu’il conduit: MariaDB

(Crédits photo Adrien Mogenet)
Il commence son discours en taclant Oracle et Sun, MariaDB a été conçu pour sauver MySQL: "Save the people, Save the product". L’objectif est qu’il reste une version de MySQL gratuite. La première beta de MariaDB est sortie en Mai 2009, et la première release sera disponible en Décembre 2009. D’après Monty, sa nouvelle BDD sera plus complète et stable que MySQL. Au programme on retrouve :
La migration de MySQL vers MariaDB se fait en un « claquement de doigts ». Une conférence en anglais très chaleureuse, et intéressante. Il va falloir mettre en pratique et faire des tests !
Nous avons encore une fois été gâté, plusieurs stickers Symfony Rocks, Forum PHP, et un beau MUG !

J’ai aussi ramené la mascotte éléPHPant pour orner mon bureau.
Pour la deuxième journée, nous commençons très fort avec « Jouons avec PHP 5.3 » par Fabien Potencier .

(Crédits photo Adrien Mogenet)
Le gros changement de PHP 5.3 est sans doute la forte optimisation de la mémoire:
Voici le power point que Fabien a diffusé:
Du PHP de haut niveau ... dès le bon matin !
Un peu moins technique, mais très intéressant, Anna Filina nous a donné ses secrets pour motiver nos développeurs.
Fait ses preuves
Ne pose pas de questions: Vérifier souvent son progrès et qu'il ne soit pas bloqué.
Ouvrir un dialogue, même si il a des questions simples. Lui expliquer concrètement comment ca marche, lui expliquer tous les outils comme SVN etc. Ecrit du code
N'est pas architecte, il faut lui donner des tâches qu'il est capable d''accomplir.
L'aider à prendre des décisions.
Idéal = Le jumeler à un expert. L'expert va guider le projet, le débutant va écrire le code. Besoin d'une liste de tâches à faire
Il faut lui donner l'ordre, les priorités car il n'a pas la vision globale du projet. Besoin de validation
Il a besoin de contrôle réguliers pour l'informer s'il prend de mauvaises directions etc
Fait avancer le projet
Lui laisser une grande autonomie car il sait comment mener à bien le projet.
L'expert doit pouvoir communiquer avec d'autres personnes non techniques.
Si possible mettre un débutant à la charge de l'expert. Éteint les feux
Il peut résoudre les problèmes, mais ne pas trop en abuser. A besoin d'outils
Logiciel, matériel (2 écrans...), il faut que le bureau soit bien équipé
Système de contrôle de révisions
Bugtracker ...
Prendre du temps pour les tests unitaires: Éviter les bugs en prod. Micro-gestion
Laisser au développeur une grande flexibilité de gestion de son temps
Il faut lui faire confiance
Lui laisser le choix des frameworks etc
Rapports et réunions au minimum: Faire court
Objectifs pas clair
Un dev est a l'aise quand ses objectifs sont clairs, quand il doit le terminer ... Changement de spécifications
Les éviter le plus possible Délais irréalisables
Toujours consulter le développeur avant de définir une deadline: Chef d'équipe par exemple Temps/Heures supplémentaires
Éviter de lui faire faire des heures supplémentaires, car provoque souvent le depart du développeur. Activités en fin de semaine
Bien pour la cohésion entre l'équipe.
Mais à éviter en fin de semaine car on a souvent prévu des choses etc. Le faire pendant les heures de travail: Car cela permet d'augmenter la productivité Très bon Retour sur Investissement.
Les gadgets permettent d'ajouter du fun pour moindre coût.
-> Permet la cohésion d'equipe / babyfoot
Pour la troisième conférence de la journée, j'ai assisté à celle de Patrick Allaert et Davide Mendolia.
Une conférence très intéressante dans laquelle j'ai pu découvrir deux très bons outils de monitoring du PHP.
APM (Alternative PHP Monitor): Un module PHP qui permet de loguer toutes les erreurs PHP, ainsi que les requêtes lentes. Je ferais sans doute un billet à son propos prochainement.

APM permet de palier le manque d'application open source dans le domaine du monitoring PHP.
Pinba (PHP Is Not a Bottleneck Anymore): Permet de monitorer son serv de production sans avoir rien a changer: Ni son code ni son PHP

Une conférence très intéressante que je vais mettre en application sans attendre pour monitorer mon serveur de développement PHP.
Nous enchaînons avec une conférence d'Alexandre Morgaut, sur la réalisation d'applications Desktop avec PHP.

J'ai été légèrement déçu par cette conférence qui était trop "publi-conférentielle" à mon goût, et trop orienté dans la vente du produit 4D.
J'ai tout de même appris les différents moyens de créer une application desktop avec du PHP:
Mais je n'ai pas été convaincu par ces différentes solutions, il n'y'a malheureusement toujours pas une technologie PHP permettant de faire de belles applications desktop. Le must reste pour moi les applications Flex / AIR.
La conférence suivante était animée par Julien Pauli, orientée sur Apache et PHP.
Ce dernier nous a expliqué les différents moyens de mettre en place PHP + Apache et quelques astuces pour les rendre plus stables.
Nous avons vu aussi les différentes variables d'environnement côté PHP pour apache et côté apache pour PHP.
Il est recommandé d'utiliser PHPIniDir pour définir le fichier de configuration de PHP qu'il faut utiliser.
D'après Julien, il n'y'a pas vraiment de moyen pour sécuriser l'execution de PHP en module apache.
PHP en FastCGI s'annonce plutôt bien.
Il est possible d'activer le PUT sur apache avec la ligne suivante: Script PUT /put.php
Le script put.php va alors traiter toutes les requêtes PUT envoyées.
Les fichiers .htaccess ralentissent Apache, il faut donc faire attention avec les AllowOverride, notamment sur la racine.
Il est intéressant de tester les performances d'apache avec strace:
strace $(pidof apache2 |sed 's/([0-9]*)/-p 1/g')
Et nous avons terminé sur quelques modules apache intéressants:
Et pour terminer la journée, nous avons eu la chance d'écouter la présentation de Johannes Schlüter de chez Sun Microsystems.
Ce dernier nous a présenté les nouveautés de MySQL et du native driver PHP.
Ce sont surtout les requêtes asynchrones qui m'ont plu.
En effet il sera possible de faire une requête MySQL et le temps que cette dernière soit traitée, il est possible de continuer l'execution du script PHP puis de revenir sur les données dès qu'elles sont prêtes.
Intéressant !
Un évènement très bien organisé qui a rassemblé des centaines de développeurs web, chefs de projets et curieux du web.

(Crédits photo Adrien Mogenet)
Vous avez sans doute pu suivre l'évènement sur Twitter, avec le hash tag #afup, dont les tweets étaient diffusés en live sur les écrans du salon.
A refaire dès l'année prochaine, surtout que ce sera l'occasion de célébrer les 10 ans de l'AFUP et les 15 ans de PHP !
Merci à l'AFUP et ALX Communication de nous avoir invité à l'évènement.
Vous pourrez retrouver prochainement les présentations des différentes conférences et les photos officielles.
A l'année prochaine !
A voir aussi sur le même sujet:
Pour poster un commentaire, vous devez être identifié. Vous pouvez choisir parmi ces trois méthodes d'identification:
Compte la Ferme du WebIdentifiez-vousInscrivez-vous |
Compte Facebook
|
Compte Twitter
|