14
NOV

Forum PHP 2009 - Résumé des deux jours de conférences

Publié le 14/11/09 à 11h29 par DJo

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…

 

Retours sur le forum PHP 2009 de l'AFUP & Le MUG

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.

 

1er Jour: Jeudi 12 novembre

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:

  • L’avenir de LAMP
  • Retour d’expérience MySQL chez Orange
  • Comment améliorer PHP ? Avec un préprocesseur !

Après avoir pioché dans le buffet petit déjeuner, nous attaquons la deuxième session de conférences.

  • Un web ouvert avec PHP
  • MySQL native driver for PHP
  • VIM puissance PHP = VI Improved !

 

Un web ouvert avec PHP

Un Web ouvert avec PHP - Forum PHP 2009

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 :

  • Un site Internet: Est un site qui est fait pour vivre seul
  • Un site web: Utilise la puissance du web et partage et utilise des données extérieures: API, Webservices, RSS …

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%"

 

A retenir:

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

 

Services web RESTful en PHP

undefined

(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:

  • Extensibilité: pas de stockage de sessions etc
  • Mise en cache possible
  • URL bookmarkables
  • Logiciel client bien moins compliqué
  • Meilleures perf des serveurs
  • Meilleure compatibilité et extensibilité à long terme

Inconvénients:

  • Manque la compatibilité avec IE pour les PUT et DELETE
  • Authentification
  • Pas de gestion de sessions: Obligé de repasser le login + pass dans la requête

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.

 

Meilleur support, Cloud, et Open source: Le point sur PHP et Microsoft

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.

Meilleur support, Cloud, et Open source: Le point sur PHP et Microsoft - Forum PHP 2009

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:

  • S'impliquer dans les communautés
  • Garantir le bon fonctionnement des projets sur les OS Windows

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 ».

 

MariaDB: The future of MySQL

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

MariaDB: The future of MySQL

(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 :

  • Des champs dynamiques
  • Un nouveau système de stockage
  • Intégration de sphinx
  • Etc

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 !

 

Fin de la première journée

Nous avons encore une fois été gâté, plusieurs stickers Symfony Rocks, Forum PHP, et un beau MUG !

Goodies - Forum PHP 2009

J’ai aussi ramené la mascotte éléPHPant pour orner mon bureau.

 

2ème jour: Vendredi 13 novembre

 

Jouons avec PHP 5.3

Pour la deuxième journée, nous commençons très fort avec « Jouons avec PHP 5.3 » par Fabien Potencier .

Fabien Potencier - Jouons avec PHP 5.3

(Crédits photo Adrien Mogenet)

Le gros changement de PHP 5.3 est sans doute la forte optimisation de la mémoire:

  • PHP 5.3 est plus rapide
  • PHP 5.3 consomme moins de mémoire

 

Voici le power point que Fabien a diffusé:

Du PHP de haut niveau ... dès le bon matin !

 

Motiver ses développeurs

Un peu moins technique, mais très intéressant, Anna Filina nous a donné ses secrets pour motiver nos développeurs.

Le problème

  • Attirer un développeur dans une entreprise = Difficile
  • Manque de coopération
  • Avance trop lentement
  • Quitte l'entreprise sans donner de raison

 

Trousse de survie

  • Bon salaire
  • Outils adaptés: Permettre le choix de l'outil
  • Prendre un verre: Mais que ce soit les employés qui prennent l'initiative
  • Formations et conférences payées

 

Comprendre le dev débutant

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

Comprendre le développeur expert

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

Phobies des développeurs

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.

Gadgets

  • Insigne magnétique
  • Nerf Gun
  • Jeux vidéo sur grand écran

Les gadgets permettent d'ajouter du fun pour moindre coût.

-> Permet la cohésion d'equipe / babyfoot

 

 

Monitoring d'applications/environnements PHP: APM et Pinba

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

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

Pinba (PHP Is Not a Bottleneck Anymore)

Une conférence très intéressante que je vais mettre en application sans attendre pour monitorer mon serveur de développement PHP.

 

 

Réalisation d'applications Desktop avec PHP

Nous enchaînons avec une conférence d'Alexandre Morgaut, sur la réalisation d'applications Desktop avec PHP.

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:

  • PHP GTK
  • PHP QT
  • Flex / AIR
  • Java
  • 4D ...

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.

 

 

Apache pour le développeur

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:

  • mod_deflate : compresse a la volée : economie de BP / tps de transfert
  • mod_bw: Limiter la BP
  • mod_jsmin: Minifiez vos js ou css a la volée
  • mod_tidy; Nettoyer le html a la volée
  • Etc.

 

PHP and MySQL - A good match

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 !

 

 

Conclusion

Un évènement très bien organisé qui a rassemblé des centaines de développeurs web, chefs de projets et curieux du web.

Twitter en live au ForumPHP

(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 !

Baraguiné par le 14/11/09 à 19h00
Très bon résumé, merci.
Baraguiné par le 14/11/09 à 22h49
La partie sur "Comprendre le dev débutant" c'est exactement ce que je recherche pour un stage en entreprise. Mais trop peu souvent respecté comme ceci.
Baraguiné par le 15/11/09 à 00h11
Hello, super ton compte rendu. Oui forcement, j'ai parlé de 4D dans ma présentations mais bon, j'ai travaillé à l'intégration de PHP dedans, donc normal que mon enthousiasme s'en ressente ;-)
d'un autre côté, j'aurrais pourrais me consacrer a une presentation uniquement centrée sur 4d comme Adobe l'a fait pour Flex/AIR, mais j'ai trouvé plus intéréssant de parlé des différentes technos que j'avais étudié avec leurs avantages et/ou leurs inconvénients.
Comme je l'ai dit dés le départ, la meilleur manière de faire une appli Desktop avec PHP dépend du niveau d'intégration voulu avec le système, et des compétence déjà existantes dans l'équipe en termes d'outils et d'expèrience. Le plus dur étant souvent de faire l'abstraction besoins / envies ;-)
Baraguiné par Fraisouille63 le 15/11/09 à 08h50
Fraisouille63 sur La Ferme du Web
Rah sniouf j'espère que l'année prochaine je pourrais venir ! il y avait pleins de sujets super interressants !
Baraguiné par le 15/11/09 à 09h47
Bon compte rendu ! Merci pour les Crédits Photos. C'est vrai qu'on a eu de belles confs avec de beaux projets !

Ajouter un Commentaire

Pour poster un commentaire, vous devez être identifié. Vous pouvez choisir parmi ces trois méthodes d'identification:

Compte la Ferme du Web

Identifiez-vous
Inscrivez-vous

Compte Facebook

Connexion avec Facebook

Compte Twitter

Connexion avec votre compte twitter
Rechercher sur la Ferme du web