Ouverture Forum

Amphi 12/11/2009 09:30-10:00 - Niveau : N/A - Français

L'avenir de LAMP

Amphi 12/11/2009 10:00-11:00 - Niveau : N/A - Français

L'innovation est à l'ordre du jour dans la pile LAMP : du coté de PHP, de nouvelles briques architecturales de répartition des tâches permettent d'étendre largement les capacités de production au dela d'un seul serveur.

Et du coté des bases, de nouvelles familles apparaissent, avec les bases sans schéma, ou les entrepôts de clé-valeurs. Avec le cloud computing, ils permettent de dépasser les limites classiques des modèles métiers, et des architectures simples, mais au prix d'un nouveau paradigme de conception.

Nous passerons en revue ces nouveaux outils, leurs approches et leurs difficultés de prises en main.

LeMug : Retour d'expérience MySQL Chez Orange Business Services

Salle 1 12/11/2009 10:00-11:00 - Niveau : N/A - Français

Retour d'expérience sur l'utilisation de MySQL Chez Orange Business Services.

Comment améliorer PHP ? avec un préprocesseur !

Salle 4 12/11/2009 10:00-11:00 - Niveau : N/A - Français

Dans cette conférence nous proposons de présenter les avantages significatifs qu'un préprocesseur de code intercalé au sein de la fonction __autoload() nous a apporté, pour :

Améliorer PHP en tant que langage de programmation :

  • ajouter une nouvelle dimension d'organisation du code, proche de ce que permet la programmation orientée aspect, sous la forme d'un nouveau concept que nous avons nommé superposition de classes,
  • ajouter des constructeurs et destructeurs statiques au langage,
  • générer du code spécialisé en fonction du contexte d'exécution : supprimer le code mort, résoudre les constantes ou des portions de code de façon statique,
  • ou de façon plus anecdotique, libérer le constructeur PHP4 sans casser le code PHP4 ou 5 existant.



Améliorer PHP en tant qu'environnement d'exécution :

  • vérifier l'encodage des sources, supprimer les BOM parasites, pour un code 100% UTF-8,
  • analyser le code pour anticiper certaines erreurs (divergence des tables de traduction) ou pré-remplir certains caches (tables de traduction),
  • substituer des fonctions par d'autres, pour enrichir/corriger/intercepter leur comportement, et par exemple : charger une implémentation PHP de certaines extensions lorsque leur version native est nécessaire mais non présente (mbstring, iconv, etc.) ou détecter les problèmes potentiels liés à la casse des noms de fichiers sous Windows,
  • booster le mécanisme d'autoload par insertion/substitution de marqueurs à la volée.



Certains de ces sujets ont déjà été discutés dans la communauté (constructeur statique), d'autres sont possibles grâce à des extensions (runkit pour la substitution de fonctions) et d'autres encore sont à notre connaissance évoqués pour la première fois (superposition de classe, marqueurs pour autoload).

Nous baserons notre conférence sur l'implémentation 100% PHP que nous avons faite d'un tel préprocesseur dans notre framework de démonstration, Patchwork.

Un web ouvert avec PHP

Amphi 12/11/2009 11:30-12:30 - Niveau : N/A - Français

Au delà de la technique, que peut-on faire avec PHP ? et si nous faisions un web ouvert ?

En parlant autant fonctionnel que technique nous parlerons des dernières technologies qui permettent de s'ouvrir sur le Web avec PHP. Diverses briques permettent désormais en effet de partager certaines parties de vos applications web tout en utilisant ce que les autres ont partagé en public.

Nous parlerons du pourquoi et du comment des authentifications partagées avec OpenId et OAuth, et d'un web de données publiques avec YQL, SPARQL et BOSS.

Ce sont ces technologies qui vont révolutionner le web de demain, et nous verrons comment PHP est armé pour cela.

LeMug : MySQL native driver for PHP : Les améliorations de la stack

Salle 1 12/11/2009 11:30-12:30 - Niveau : N/A - Français

Ce driver natif disponible à partir de PHP 5.3 permet de se connecter à MySQL Server 4.1 ou plus récent.

C'est un remplacement de libmysql sous les même termes que la licence PHP. Ce driver présente de nombreux avantages.

VIM puissance PHP = VI Improved !

Salle 4 12/11/2009 11:30-12:30 - Niveau : N/A - Français

Vous utilisez un IDE complexe ?

Saviez vous qu'on ré-indenter son code d'une commande ? Enregistrer des macros dans VIM ? Lancer un grep ?

Venez découvrir la puissance d'un outil simple et évolutif à travers une présentation en direct du fonctionnement et des fonctionnalités del'éditeur de texte VIM dans le cadre d'un développement. La simplicité est dans votre clavier !

Optimisation des performances Magento avec Zend Server

Amphi 12/11/2009 14:00-15:00 - Niveau : N/A - Français

Magento a très rapidement pénétré le marché des solutions e-commerce dans le monde et en France. Les projets accueillis sur la plateforme Magento gagnent de plus en plus en importance et les besoins en terme de performance et de montée en charge sont au centre des préoccupations des acteurs e-commerce.

NBS Systems a réalisé des benchmarks de performance des différentes versions de Magento (1.2 et 1.3, avec et sans FlatCatalogue), sur différentes configurations PHP (avec et sans Zend Server).

Zend et NBS System viendront vous présenter l'étude et les résultats, afin de vous aider à comprendre comment optimiser au mieux un déploiement Magento, en détaillant les différents niveaux de cache de Zend Server Community Edition et de Zend Server.

LeMug : Au secours, ma base de données fait ramer mon application !

Salle 1 12/11/2009 14:00-15:00 - Niveau : N/A - Français

L'application avait été livrée en temps et en heure, fonctionnelle, rapide : bref, un beau succès !

Six mois ont passé et notre belle application a perdu de sa splendeur. Elle répond toujours au besoin fonctionnel, mais elle est devenue d'une lenteur catastrophique... tellement catastrophique que personne ne veut plus l'utiliser. Que faut-il faire pour la sauver ?

Cet atelier montrera dans un premier temps comment trouver l'origine du problème de performance. Le coupable sera vite identifié : il s'agit de la base de données !

Le plus difficile restera à faire : trouver une solution efficace pour redonner un coup de jeune à cette application.

La discussion sera alors ouverte entre le présentateur et l'auditoire pour explorer des pistes telles que la réécriture des requêtes, le changement des paramètres du serveur ou encore l'optimisation de la structure des tables, et montrer que la volumétrie de la base de données est un élément à prendre en compte dès la conception de l'application.

Services web RESTful en PHP

Salle 4 12/11/2009 14:00-15:00 - Niveau : N/A - Français

Pourquoi utiliser des protocoles complexes comme SOAP alors que HTTP n'est toujours pas utilisé à son plein potentiel ? Cette session mettra l'accent sur les capacités de HTTP et des URIs et introduira le concept de l'architecture orientée ressources.

Nous découvrirons les bonnes pratiques de conception de services web à travers des exemples concrets tels que le service S3 d'Amazon ou le protocole Atom et la création de notre propre service web.

Enfin, nous verrons comment implémenter ces services web à l'aide des outils PHP existants, notamment le Zend Framework.

Meilleur support, Cloud, et Open Source : le point sur PHP et Microsoft.

Amphi 12/11/2009 15:00-16:00 - Niveau : N/A - Français

PHP sur Windows existe depuis plus de 10 ans, mais ce n’est que récemment que Windows est devenu une réelle plateforme d’exécution d’applications PHP.

Microsoft travaille désormais avec la communauté pour améliorer le support de PHP sur Windows. Coté évolution de la plateforme, PHP occupe une place de choix dans la nouvelle stratégie Cloud de Microsoft.

Cette session fera le point sur ce que Microsoft entreprend concrètement, que ce soit sur PHP 5.3, sur sa compatibilité et ses performances tant dans IIS qu’avec SQL Server, et nous verrons également ce qui est dans les cartons coté Cloud avec le support de PHP dans Windows Azure et les outils associés.

LeMug : working with a virtual organisation

Salle 1 12/11/2009 15:00-16:00 - Niveau : N/A - Français

Les débits et les outils permettent d'améliorer sans cesse le télétravail et la collaboration.

A travers cette présentation nous vous proposons de partager notre expérience acquise auprès de la communauté MySQL sur les sociétés virtuelles.

Migration de technologie J2EE vers PHP chez M6Web

Salle 4 12/11/2009 15:00-16:00 - Niveau : N/A - Français

Pour obtenir plus de flexibilité afin de répondre aux demandes des équipes webmarketing, la mise en place d'applications alliant PHP et MySQL en remplacement de J2EE a permis de répondre à ces besoins. Cela a également permis une baisse des coûts (infrastructure d'exploitation, équipes de développements, ...)

LeMug : MariaDB, the future of MySQL

Amphi 12/11/2009 16:30-17:30 - Niveau : N/A - Français

Après le rachat de Sun par Oracle, on pouvait craindre la disparition de MySQL en tant que base de données open source. Monty a proposé une version alternative, sous licence GPL, et 100% compatible avec MySQL : MariaDB.

MariaDB se base sur le code source de MySQL 5.1, elle se nommera MariaDB 5.1 et est disponible depuis Août 2009. La prochaine version, MariaDB 5.4 sera 100 % compatible : commandes, API, SDK, etc.

Jouons avec PHP 5.3

Amphi 13/11/2009 09:00-10:00 - Niveau : N/A - Français

PHP 5.3 a introduit de nombreuses nouveautés, plus intéressantes les unes que les autres.

Dans cette session, plutôt que de vous dresser un catalogue théorique de celles-ci, je vais vous montrer comment les mettre à profit pour écrire du code plus élégant, et pour résoudre des problématiques concrètes qui était jusqu'alors difficiles ou longues à implémenter (par exemple, un container d'injection de dépendances ou un parseur de ligne de commande universel en moins de 20 lignes de code).

Motiver ses développeurs

Amphi 13/11/2009 10:00-11:00 - Niveau : N/A - Français

La tâche d'un développeur n'est pas facile, les délais sont court et on leur demande toujours plus.

La direction ne comprend pas pourquoi il n'est pas motivé ou coopératif ni pourquoi un développeur à quitté l'entreprise.

Je tenterais de répondre à ces questions en expliquant le comportement d'un développeur face à des situations courantes dans l'entreprise.

Authentification forte

Salle 1 13/11/2009 10:00-11:00 - Niveau : N/A - Français

Le mot de passe est actuellement le système le plus couramment utilisé pour identifier un utilisateur. Il n’offre cependant pas le niveau de sécurité requis pour assurer la protection d'informations sensibles.

L'ajout de nouveaux facteurs d'identification permet de régler ce problème. Dans cette présentation nous verrons les concepts de l'authentification forte, la présentation d'alternatives gratuites ou à faible coût.

Une vie sans JOIN

Salle 4 13/11/2009 10:00-11:00 - Niveau : N/A - Français

Sous la bannière NOSQL (Not Only SQL), plusieurs projets Open Source se sont donnés comme objectif de répondre à LA contrainte du web : la croissance exponentielle (ou au moins sinusoïdale). Faisant suite aux BigTable (Google), PNUTS (Yahoo) et autres Dynamo (Amazon), ils bousculent certaines contraintes : intégrité, relationnel pour gagner en rapidité et en fiabilité.

Dans cette session, nous explorerons des cas où les RDBMS peuvent avoir des limites et surtout quelles réponses et quels concepts apportent ces outils émergents, avec CouchDB et Redis en tête de gondole.

Monitoring d'applications/environnements PHP : APM et Pinba

Amphi 13/11/2009 11:30-12:30 - Niveau : N/A - Français

PHP s'est industrialisé, aujourd'hui, un besoin de monitoring existe au niveau des applications écrites en PHP et de la plateforme sur laquelle elles reposent.

En parallèle, le besoin de montée en charge et de tolérance de faute est grandissant, en particulier avec le cloud computing, il devient donc crucial d'avoir la possibilité de surveiller l'ensemble de son infrastructure, à cette fin, cette session présentera une solution entièrement bâtie sur du logiciel libre.

Alternative PHP Monitor (APM) : extension PHP non-intrusive permettant la capture de divers évènements, tels que les erreurs et lenteurs d'exécution.

Pinba : extension PHP permettant la collecte en base de données d'informations relatives à l'exploitation de vos applications en production. De multiples rapports peuvent ensuite être élaborés pour fournir des statistiques, notamment de temps d'exécution sur des parties de codes.

Réplication MySQL : retours d'expérience

Salle 1 13/11/2009 11:30-12:30 - Niveau : N/A - Français

La réplication est utile pour gérer la montée en charge d'un site LAMP, mais elle impose un certain nombre de contraintes de synchronisation à prendre en compte au niveau applicatif.

Cette session présente un retour d'expérience sur la mise en place de la réplication sur wat.tv : réplication maitre-esclave d'abord, puis réplication maitre-maitre, et on évoquera les techniques de sharding.

Optimiser son code pour le référencement

Salle 4 13/11/2009 11:30-12:30 - Niveau : N/A - Français

Sur internet bon nombre d'agences web se disent experts en référencement et proposent à leurs clients toute une série d'applications non optimisées, avec un code source bloquant pour le référencement. 

Utiliser des techniques poussées, avec l'utilisation conjointe de jQuery, pour donner une structure dynamique et d'Ajax, avec de nombreux effets, permettent d'obtenir une application construite pour le référencement

Je pense démontrer par de nombreuses recherches que l'on peu construire une application puissante tout en étant visible sur internet

Étant expert dans la construction d'applications avec PHP et jQuery, je donnerai une explication complète sur "comment utiliser jQuery et PHP de manière optimale" avec des astuces pour le référencement et surtout le respect des standards du web.

Oui ! PHP est industriel !

Amphi 13/11/2009 14:00-15:00 - Niveau : N/A - Français

Si PHP a séduit l'entreprise grâce à sa souplesse et ses performances, il traine encore une réputation sulfureuse de lacunes d'outils.

Or, des spécifications jusqu'aux tests fonctionnels exécutables, en passant par l'environnement de développement, les méthodes d'entreprises sont arrivées jusqu'à PHP.

Durant cette présentation, nous présenterons les composants (tour d'horizon) d'une usine de développement PHP complète, et comment "l'utiliser" pour industrialiser efficacement vos développements et garantir la qualité et la robustesse de vos applications.

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Salle 1 13/11/2009 14:00-15:00 - Niveau : N/A - Français

Lorsqu'on commence à maîtriser un langage puissant tel que PHP, on est tenté de l'utiliser pour tout type de programmation, par enthousiasme, mais aussi par souci d'efficacité.

Cependant, alors que nous savons tous comment utiliser PHP au travers d’un serveur Web ou en ligne de commande, nous avons beaucoup moins de pratique pour créer une application Desktop, monoposte ou client-serveur, qui plus est, en exploitant l’interface native du système.

En effet, comment fournir un logiciel clé en main avec son installateur ou directement un « .exe » pour Windows ou un « .app » pour Mac OS ? Comment éviter d’avoir à installer successivement Apache, PHP et MySQL, ou du moins ne pas entrer en conflit avec des instances potentiellement déjà présentes ?

Nous évoquerons les différentes réponses existantes, de la plus « Geek » à la plus « RAD » en passant par Flex, Java, GTK2 et d’autres solutions surprenantes.

Ultimedia & JukeBo 2.0

Salle 4 13/11/2009 14:00-15:00 - Niveau : N/A - Français

Digiteka est éditeur du portail JukeBo et de la solution de distribution de videos ultimedia.com dont la charge totale moyenne est de 60 000 visites jours avec des pointes à 80 000 visites / jour.

Pour la nouvelle version du site, nous avons récemment migré avec succès sur Zend Framework, un choix important qui touche au coeur de notre activité.

Nous vous proposons un témoignage sur les points stratégiques de notre décision : son choix, la migration, l'organisation du travail en équipe, l'évolutivité de la solution, les risques et les réserves suite à cette expérience et enfin l'optimisation des performances.

La première version a été développée sous PHP 5 en 18 mois par 4 personnes, la version 2.0 par 5 personnes en 4 mois.

Grâce à cette refonte, le site a pu doubler le trafic naturel. Nous avons également sensiblement réduit le temps de mise en place d'opérations marketing, et ce grâce à la nouvelle architecture objet de l'application. Nous avons également pu déployer nos webservices à l'international en un temps record.


Enfin, Julien ZAMOR, architecte technique et spécialiste sécurité a apporté son savoir faire à la fois sur l'architecture de l'application, les développements PHP et Zend, les optimisations à apporter pour gérer de très grands volumes de données (plus d'un millions de ligne en base) et des pointes de traffic à 10 000 accès simultanés sur le site. Julien a également conçu et réalisé les processus de sécurisation des webservices de distribution de contenus vidéos.

Flex et PHP

Amphi 13/11/2009 15:00-16:00 - Niveau : N/A - Français

Les RIA proposent un nouveau modèle d'architecture pour les applications web qui séduisent de plus en plus d'entreprises. Adobe se positionne en leader avec Flex, framework open source de développement d'applications Flash.

L'objectif de cette présentation est de découvrir l'usage de Flex en entreprise et de comprendre comment une application Flex communique avec un back-end PHP.

Nous reviendrons aussi sur le partenariat signé avec Zend et l'intégration du format AMF au sein de ce framework.

Apache pour le développeur PHP

Salle 1 13/11/2009 15:00-16:00 - Niveau : N/A - Français

Apache est le serveur Web le plus utilisé sur la planète. Né en 1995, Apache HTTPD est aujourd'hui massivement utilisé pour supporter des applications PHP.

Cependant, peu de développeurs connaissent vraiment cette machine aussi complexe que robuste qui supporte leur langage fétiche : PHP.

Il n'est pas rare de voir des codes PHP exécutant des actions qu'Apache sait gérer en une seule ligne, de manière beaucoup plus efficace.

Nous parlerons donc généralités, HTTP, Cache, Proxing et nous passerons en revue les différentes manière de coupler Apache à PHP (mod_php, CGI et FCGI, mais aussi mpm_peruser, mpm_itk, suexec, suphp).

Bonnes pratiques de développement en PHP

Salle 4 13/11/2009 15:00-16:00 - Niveau : N/A - Français

Du haut de ses 14 ans, PHP est devenu une technologie utilisée pour de gros projets ; ce qui signifie besoins importants en termes de qualité, de robustesse, et d'outils de développement fiables.

Contrôle de sources, normes de codage, utilisation de Frameworks, documentation, tests unitaires / fonctionnels automatisés, intégration continue, déploiement, ...

Cette présentation a pour but d'introduire quelques bonnes pratiques de développement, ainsi que des outils permettant de les mettre en place sur des projets PHP.

PHP and MySQL - A good match

Amphi 13/11/2009 16:30-17:30 - Niveau : N/A - Français

PHP and MySQL form the foundation of many Web applications. In this talk Johannes Schlüter, who is working for Sun Microsystem's Connectors and Client Connectivity team on the interoperability of PHP and MySQL, is giving an update on PHP and MySQL. The talk will discuss the available APIs (the classic "mysql" extension, mysqli and PDO_mysql) as well as the mysql native driver, a PHP-specific drop-in replacement for the MySQL Client Library (libmysql).

Johannes will show the new possibilities they provide, like asynchronous queries, and will look into the future and show features currently in development by the Sun and php.net teams.