Alter Way vient de publier le premier livre blanc en français sur l’industrialisation PHP.
Ecrit par deux membres importants de la communauté Française de PHP (Damien SEGUY et Jean-Marc FONTAINE), ce livre blanc dresse un état de l’art des outils et méthodes qui permettent aujourd’hui d’industrialiser ses développements PHP.
Le plan détaillé :
Introduction
2 Maîtriser le cycle de vie d’un projet PHP
3 Pratiques actuelles
3.1 Faire faire un audit par un expert
3.2 Formation des équipes
3.3 Employer une convention de programmation
3.4 Utiliser un dépôt de code
3.5 Utiliser un framework
3.6 Adopter un IDE de développement
4 Outils et méthodes avancées
4.1 Tests d’application Web
4.2 Intégration continue
4.3 Déploiement automatique
4.4 Analyse statique
4.5 Outils de conception
4.6 Méthodes de programmation
4.7 Maîtrise de la qualité du code
4.8 Implication des utilisateurs
5 Une nouvelle frontière
5.1 PHP n’a pas encore exprimé son identité
5.2 PHP n’exploite pas encore ses capacités de collaboration
5.3 Des idées à explorer
5.4 La communauté est un atout majeur
5.5 Les développeurs vont gagner en discipline
6 Bibliographie
Pour consulter ce livre blanc, suivez ce lien
Pour rappel, Alter Way fait partie des intégrateurs Open Source de référence en France et regroupe notamment les entités Anaska et Nexen Services, spécialistes reconnus du PHP.
Alter Way vient de publier le premier livre blanc en français sur l’industrialisation PHP.
Ecrit par deux membres importants de la communauté Française de PHP (Damien SEGUY et Jean-Marc FONTAINE), ce livre blanc dresse un état de l’art des outils et méthodes qui permettent aujourd’hui d’industrialiser ses développements PHP.
Le plan détaillé :
Introduction
2 Maîtriser le cycle de vie d’un projet PHP
3 Pratiques actuelles
3.1 Faire faire un audit par un expert
3.2 Formation des équipes
3.3 Employer une convention de programmation
3.4 Utiliser un dépôt de code
3.5 Utiliser un framework
3.6 Adopter un IDE de développement
4 Outils et méthodes avancées
4.1 Tests d’application Web
4.2 Intégration continue
4.3 Déploiement automatique
4.4 Analyse statique
4.5 Outils de conception
4.6 Méthodes de programmation
4.7 Maîtrise de la qualité du code
4.8 Implication des utilisateurs
5 Une nouvelle frontière
5.1 PHP n’a pas encore exprimé son identité
5.2 PHP n’exploite pas encore ses capacités de collaboration
5.3 Des idées à explorer
5.4 La communauté est un atout majeur
5.5 Les développeurs vont gagner en discipline
6 Bibliographie
Pour consulter ce livre blanc, suivez ce lien
Pour rappel, Alter Way fait partie des intégrateurs Open Source de référence en France et regroupe notamment les entités Anaska et Nexen Services, spécialistes reconnus du PHP.
Comme je l'écrivais il y a quelques jours, le backoffice de Magento est plutôt sympa mais un peu mou. En plus les options pour le développeur sont bien cachés au fin fond du menu System. Si je compte bien, à partir du tableau de bord il faut pas moins de 7 clics et 4 rafraîchissements de page pour activer ou désactiver l'option Template path hints (affichage des templates utilisés) et/ou l'affichage du nom des blocks pour un site... Bref c'est extrêmement pénible quand il s'agit juste de voir où se trouve une coquille dans un template ou de connaître le nom du block à surcharger.
J'ai donc un écrit un petit script (version avec coloration syntaxique) qui permet d'activer ou de désactiver ces options pour un site Magento en ligne de commande. Il permet également d'activer facilement ces options pour le backoffice sans manipuler directement la base de données (ce qui n'est certes pas très compliqué une fois qu'on connaît le nom de la bonne table).
Exemples d'utilisation :
cd /path/to/magento php /path/to/script/setdebug.php -s base # active template path hints pour le site dont le code est base php /path/to/script/setdebug.php -b -s base # active template path hints et l'affichage des blocks php /path/to/script/setdebug.php -d -s base # désactive template path hints et l'affichage des blocks
Et voila, le développement est terminé : NetBeans 6.8 intègrera le support du framework symfony. La beta de cette v6.8 sera très prochainement disponible, mais on trouve déjà une archive dispo sur le blog « NetBeans for PHP« .
Au menu, l’intégration des variables de base de symfony (sfWebRequest, sfUser, …) en autocomplétion mais aussi une navigation entre fichiers grandement améliorée : en un clic, vous accédez du code de votre action à sa vue dans le template, et inversement (le tout peut être configuré avec des raccourcis clavier). Parfait pour accèder + rapidement au code tout ça!
Captures d’écran et + d’infos ici : http://blogs.sun.com/netbeansphp/entry/symfony_support_finished
Pour tester tout ça, allez télécharger NetBeans ici : http://bertram.netbeans.org/hudson/job/PHP-build/lastSuccessfulBuild/
Peut-être une bonne raison de quitter ce bon vieil Eclipse… </troll> !
Graphicsmagick à la place de imageMagick ?
Voici un ensemble de benchmark qui donnent envie d'y regarder un coup.
Un article sur Nexen en parlait recement.
En citant : Manipulating Images with PHP and GraphicsMagick
PHPbenelux annonce
à Gent le 13 Octobre, 2009 dans les bureaux de Netlog.
Au programme:
le 30 Janvier à Anvers.
Les propositions des présentations sont attendues pour le 31 octobre.
PHPBenelux is a registered organization at the Dutch Chamber of Commerce with the following details.
PHPGG Postbus 18544, 2502 EM The Hague, Holland The Netherlands KvK-nr: 27276016
J'ai finalement pris mon courage à deux mains et j'ai migré pwet.fr de la version 4.0.1 à la version 4.2.0 d'eZ Publish sortie il y a quelques jours avec plein d'améliorations. Au niveau de la migration d'eZ Publish, rien de bien compliqué surtout que pour une fois, la documentation de mise à jour sort en même temps que le produit.
Mon principal soucis était au niveau de mon extension ezvideoflv incompatible avec la version 4.2 (et 4.1) en raison des modifications apportées dans la version 4.1 au niveau des binary file handlers. J'ai donc sorti la version 0.3 de eZVideoFLV compatible avec eZ Publish 4.1 et supérieur. Au passage, merci encore à Sébastien Morel pour son aide.
Avec l’annonce de la version 6.8 de NetBeans supportant symfony, je me suis décidé à télécharger leur version de test pour tester cet IDE.
Une fois mes projets créés (avec le paramétrage qui va bien pour mon application symfony), j’ai tout de suite pris en main ce nouvel outil.
La transition avec Eclipse n’est pas compliquée :
Petit inconvénient (vite résolu) : je n’ai pas trouvé de plugin compatible qui gère les mouvements de la souris (comme j’avais pu trouvé pour Eclipse).
Après l’installation d’une petite appli qui tourne en background sous windows (StrokeIt), ça a été très rapide de configurer quelques raccourcis-souris (onglet suivant/précédent, aller en haut/bas de page, …).
Une fois mon projet configuré pour tourner avec symfony, quelques manips deviennent tout de suite plus simples :
Alors je sais pas pour vous, mais alors chez moi, NetBeans 6.8 (au fait, c’est encore une version de dev!) s’ouvre beaucoup mais beaucoup plus rapidement qu’Eclipse (avec le même nombre de projets configurés tout ça tout ça).
Et c’est pas plus mal, parce que sur mon poste, c’était la galère, le démarrage d’Eclipse.
Côté auto complétion, Eclipse mettait parfois 5 bonnes secondes (montre en main!) pour m’afficher la liste des méthodes d’une classe. C’est quasi instantané avec NetBeans.
J’ai trouvé un jeu de couleurs pour NetBeans que j’appréciais (après quelques modifs tout de même) trouvé ici.
Côté plugins, rien pour le moment (mis à part ceux déjà installés par défaut).
Pour le moment, NetBeans me convient donc très bien (le confort sur la rapidité y est pour beaucoup!), l’intégration avec symfony est un vrai plus : si tout se passe bien, NetBeans devrait donc être adopté pour un bout de temps.
YAP signifie Yahoo! Application Platform dont Yahoo va organiser une petite présentation touchant ce sujet.
C'est un sujet très intéressante et sera présenté demain (mercredi 6 octobre 2009) à La Cantine, dont l'entrée est gratuite, il suffit juste de s'inscrire dont il ne faut pas rater.
Cependant une série d'articles a été commencée venant de ma part concernant toute cette plateforme YDN (Yahoo Developer Network) et PHP. Cette série est publiée dans le magazine PHP Solutions dont la première partie est déjà en kiosque.
Annonce : http://upcoming.yahoo.com/event/4420613/PARIS/Paris/Prsentation-de-Yahoo-Application-Platform/
I love tests, I just cannot program without them anymore, especially with Symfony. And as I write a lot of them on a daily basis, the full test suite can take a very long time to be executed ; running a symfony test:all command before every granular commit suppose you have to wait sometimes more than 5, 10 minutes or more for the whole tests to be ran: hardly acceptable. Post commit hooks can be a solution, but what if a lot of devs are working simultaneously on the same project? Added to the previously seen test execution duration, it can become a problem difficult to deal with.
Here comes continuous integration : regularly, eg. every hour, the symfony project will be built up and configured from scratch, then the full test suite will be executed and the resulting log will be aggregated. It’s a very convenient way to keep an eye on the overall code quality and integrity of the project.
There are several open source continuous integration software available on the market: Cruise Control (and phpUnderControl), Continuum, Integrity, the uncertain but awesomely looking Sismo which powers the Symfony continous integration server… But I recently had the opportunity to test Hudson, a java based one. It’s very simple to install, setup and configure, and has tons of plugins. So let’s see how it can be used to test a Symfony project.
That’s really not the hardest part, because you just need a working JRE 1.5 installation on your machine, and to retrieve the latest version of the program.
Then, you can launch it directly from a shell prompt:
$ java -jar /path/to/hudson.war
If you fear to break something or just want to give it a go without the hassle of firing a term, just launch the available Java Web Start version.
On debian/ubuntu, it’s just as easy as:
$ sudo echo deb http://hudson-ci.org/debian binary/ >> /etc/apt/sources.list $ sudo apt-get update $ sudo apt-get install hudson $ sudo /etc/init.d/hudson start
Once Hudson is installed an running, head up to http://localhost:8080/ and start playing with the web based user interface of Hudson. The navigation and configuration forms are quite obvious, and therefore efficient. Creating a project following the provided guidelines is easy and can be achieved within minutes:
First, create a new Job, choosing the Build a free-style software project option.
Then, configure the subversion repository[1] used by your project by entering its base URL in the Source Code Management field You can schedule builds, watch for SCM activity and even trigger builds from remote script using a neat XMLRPC interface[2].


Configuring the building process is as easy as writing down some commands, like the one you’d execute to setup your project on a new box:

As of Symfony 1.3, test result logs can be exported in a jUnit XML file, so Hudson will be able to parse them and provide some useful reports, metrics and charts:


Of course, you can configure failure notifications: email, atom feed, there’s even a twitter plugin!
As a conclusion, Hudson is a very simple but efficient continous integration tool which can easily be configured to monitor the quality of your Symfony projects… at least if you write tests 
[1] If you’re not using Subversion, lot of plugins are available for other SCM in the huge Hudson plugins repository
[2] Useful if you wish to use post-commit build hook
Ce billet intitulé Simple Continuous Integration of a Symfony Project using Hudson a été rédigé par Nicolas Perriault et publié sur le blog Prendre un Café sous licence Creative Commons BY-NC-SA.
Dans une tâche symfony (1.2.9), je souhaite utiliser une méthode déclarée dans une classe, incluse elle, grâce à mon include_path (défini dans mon virtual host de mon install wamp).
Comme les tâches symfony sont exécutées en ligne de commande, PHP CLI ne prend pas ce qui est dans include_path.
J’ai eu beau tenter un :
<?php
set_include_path('c:\wamp\www\monRepAInclure' . PATH_SEPARATOR . get_include_path());
// appel de ma fonction définie dans monRepAInclure
require('maClasse.php');
maClasse::maMethode($arg);
?>
En vain.
Avez-vous une petite idée du pourquoi du comment?
Un nouveau livre blanc vient de sortir "industrialisation PHP" écrit par Damien Seguy et Jean-Marc fontaine
Le Livre Blanc, édité par Alter Way, dresse un état de l'ensemble des outils et des méthodes permettant ainsi d'industrialiser les développements PHP.
Un ouvrage à posséder et à lire... A télécharger sur le lien suivant
http://www.alterway.fr/publications/livre-blanc-industrialisation-php
Fabien Potencier, responsable du framework Symfony, propose sur son blog le résultat de ses recherches sur les moteurs de templates en PHP.
Comme beaucoup de développeurs PHP, l'auteur pensait que la meilleure solution pour mettre en place un système de templates était d'utiliser directement le langage PHP.
Cependant il explique avoir récemment changé d'avis et pense que PHP ne possède pas les caractéristiques que les langages de templates modernes doivent avoir.
En ayant comme objectif de trouver un système de templates comparable à celui de Django, un framework pour le langage Python, l'auteur nous présente un comparatif de quelques solutions utilisables en PHP.
On retrouve parmi celles-ci des applications bien connues comme Smarty, PHPTAL et eZ Components Templates mais également des moteurs plus confidentiels comme Dwoo ou Twig.
Ce dernier a retenu l'attention de Fabien Potencier et avec l'accord de l'auteur initial du projet, il a repris le développement à son compte en y apportant quelques modifications.
On apprend d'ailleurs dans les commentaires du sujet que Twig sera probablement intégré à Symfony 2.
Ce fut tellement évident !!!.....
Que je viens de me rendre compte que j'avais pas signalé que je serais présent au Forum PHP 2009 organisé par l'AFUP (Association Française des Utilisateurs de PHP)

Pour cette 9ème édition, AFUP en partenariat avec LeMug (MySQL User Group) présenteront l'évènement. De nombreux conférenciers très renommés, vont faire le voyage comme Monty, Zoe slattery, Fabien Potencier, Anna Filina et Johannes Schlüter
Un programme très garni avec des retours d'expériences, des conférences techniques...
Pour plus d'informations rendez-vous sur le site de du forum (cliquer ici) et vous inscrire.
I’ve just stumbled upon a nice new feature of Symfony 1.3, the ability to open any linked file within standard exception page with the text editor of your choice, at least if it provides an url scheme/protocol to open them. Texmate provides natively this feature, so let’s see how to configure a symfony project to allow its files to be opened directly in textmate when encountering a stack trace.
In the config/ folder of the project, create a settings.yml file with this content:
dev: #yeah, we never know
.settings:
file_link_format: "txmt://open?url=file://%f&line=%l"
That’s it. Now any standard exception page (in dev environment only, right?) will provide a txmt:// link to every PHP file listed in the stack trace. And at the correct line number. Neat.
Ce billet intitulé A Symfony 1.3 Gem: Open Files Listed in Exceptions with the Editor of your Choice a été rédigé par Nicolas Perriault et publié sur le blog Prendre un Café sous licence Creative Commons BY-NC-SA.
La version 1.9.4 de Zend Framework est disponible au téléchargement.
Il s'agit d'une version de maintenance, corrigeant plus d'une quinzaine de bugs.
J’ai retwitté @tight_ sur twitter, mais je laisse quand même ici la capture d’écran, pour que ça reste
Cliquez pour voir en plus grand.
Ces articles peuvent également vous intéresser :
NBS System et Fragento annoncent :
A l’heure où tous les secteurs, ou presque, ont connu un recul d’activité en 2009, le E-commerce continue d’afficher une santé insolente.
Les outils e-commerce open-source rivalisent entre eux sur des aspects divers tels que l’innovation et la richesse fonctionnelle, les performances, l’ergonomie mais peu d’entre eux peuvent se prévaloir d’être à la fois extrêmement riche fonctionnellement, ergonomique, flexible et stable. Magento représente aujourd’hui une solution incontournable qui résout cette équation impossible et offre un avenir à tout site se basant sur cette plateforme.
Bargento 1 et 2 furent un succès à plus d’un titre, l’ambiance décontractée mélangée au sérieux des intervenants ont fait de ces évènement le point de rendez-vous des professionnels et des porteurs de projets.
NBS System et Fragento vous convient à Bargento 3, avec toujours le même but : rassembler les acteurs du monde Magento pour un moment de partage de connaissances, de prise de contacts et de dialogue communautaire !
Comme nous l’a suggéré Capitaine Commerce lors de nos échanges préparatoires, le titre de ce nouvel opus pourrait être : « Bargento 3 : Pilotez un site de E-commerce, déjouez les pièges de la crise, cassez les prix, vendez et gagnez beaucoup d’argent ! (Jeux sous Magento, interdit au moins de 18 ans) ».
Cet événement toujours décomplexé et professionnel sera encore une fois incontournable grâce, notamment, à :
Zeev Suraski Co-architecte de PHP et co-fondateur de Zend viendra en Guest star nous parler de la réussite conjointe de Zend & Varien sur Magento.
L’équipe de Varien nous honorera d’une présence très large avec : Roy Rubin (CEO), Yoav Kutner (CTO), Amit Shah (VP Sales), Koby Oz (Community Manager), Scott Dahlgren (Director of Channel Developpment).
Et nos amis de la communauté Allemande (Meet Magento) qui nous rendrons également visite !
Le lundi 09 novembre 2009, les organisateurs seront heureux de vous accueillir à l’Espace Saint Martin – 199 bis, rue Saint Martin 75003 Paris pour un programme hors norme :
08h00 – 09h00 : Accueil des participants et petit déjeuner sponsorisé par Speedinfo (OpenSI)
09h00 – 09h45 : Keynote par Varien & SeL
09h45 – 10h30 : Zeev Suraski : Magento + Zend = Success
10h30 – 11h00 : Pause café Speedinfo (OpenSI)
11h00 – 11h45 : NBS System : Magento, virtualisation et écologie
11h45 – 12h30 : Ysance : Intégrer une CRM avec Magento
12h30 – 14h00 : Déjeuner & Networking
14h00 – 14h45 : Quadra Informatique : Import / Export dans Magento
14h45 – 15h30 : Gabriel Bouhatous : Linea Chic, solutions aux contraintes d’un multi-boutiques haut de gamme
15h30 – 16h15 : Inauguration de la Magento Academy par son parrain Yoav Kutner
16h15 – 17h00 : Smile, chercher parmi 1 millions de produits avec le moteur Lucene
17h00 – 17h45 : [SQLi Retour d'expérience : répondre à un besoin B2B avec Magento]*
17h45 – 18h30 : Araok, Capitaine Commerce [et la Fevad]* : Panorama du E-commerce
* En cours de confirmation
De multiples conférences, témoignages et espaces barcamp se succèderont toute la journée, chacun pourra rencontrer à loisir l’éditeur du produit, une des légendes du Web ou trouver un fournisseur, une idée ou encore une nouvelle relation de travail.
Une telle organisation demande des heures de travail et de nombreux investissements, c’est pourquoi une participation de 15 € est demandée. (Aucun bénéfice ne sera fait, tous les fonds des sponsors et des entrées seront investis dans Bargento 3 et, s’il reste du budget, dans Bargento 4)
Merci aux bonnes âmes qui nous aident à l’organisation ou à la communication autour de ce Bargento 3 : Capitaine Commerce, François Ziserman, Samuel « le poulain » Kapitaniuk, Christophe & Christian de Zend, Fabrice Beck, l’Afup et Xavier Gorse, Didier Brouard, Sébastien « SeL » Lepers et bien évidemment Varien !
Vous pouvez dès à présent réserver votre place et retrouverez toutes les informations sur l’événement sur ce site officiel.
Vous pourrez retrouver Smile, Fia-net, Profileo, Money Bookers et Zend sur leurs stands lors de l’évènement le 9 Novembre. Le petit déjeuner vous sera offert par Speedinfo (OpenSI) dès votre arrivée.
Vous pouvez réserver vos places ici >> http://www.weezevent.com/bargento3
Proposé par Christophe Chervy

- AFUP : Association Française des Utilisateurs de PHP
- PHP Québec
- MySQL (MySQL User Group)
En attendant la sortie officielle de la branche 2.9 de Wordpress qui apportera de nouvelles fonctionnalités, une nouvelle version de la branche 2.8 est disponible pour corriger des problèmes de sécurité.
Les principaux changements annoncés sont les suivants :
Bien évidemment, les développeurs recommandent vivement de mettre à jour vos blogs pour corriger les failles de sécurité.
Ils rappellent également que le plugin Wordpress Exploit Scanner permet de détecter si un blog contient des données malveillantes.
Sources :
WordPress 2.8.5: Hardening Release
Page de téléchargement
Les nombres ne sont pas toujours des valeurs numériques. Quand dans un développement on utilise des nombres pour identifier, pour distinguer des valeurs "communes", il existe souvent une nomenclature qui les identifie de façon normalisée. Utiliser ces normes plutôt qu'une norme maison fait souvent peur parce qu'on pense ne pas avoir besoin de toute la liste. Puis vient un jour où on doit communiquer nos données ou étendre la liste, ...
Enfin de compte il est souvent intéressant d'utiliser ces normes et ne pas réinventer la roue.
Pour ceux d'entre vous qui stockent le "genre/sexe" dans leur table "user" ?
Connaissez vous l'ISO 5218 ? qui existe depuis 1976 :-)
Qui nous propose de normaliser nos applications en suivant les codes:
En voici d'autres plutôt courantes
Comment éviter la confusion lorsqu'une date comme 08/04/02 est interprétée de six façons différentes dans le monde?
La notation 01/02/03 peut signifier le 1 février 2003, le 2 janvier 2003 ou le 2 mars 2001. En général, la solution s'obtient par déduction. En général, certes, mais si tel n'est pas le cas, les complications risquent d'être multiples et de coûter fort cher. Le problème est que les dates exprimées en chiffres exclusivement ne sont pas univoques et dépendent beaucoup des habitudes locales. En général, tout se passe bien au niveau du pays ou de la région, même s'il y a quelques incohérences ponctuelles entre entreprises et administrations. Mais, qu'en est-il à l'extérieur?
Regardez la liste par domaines sur wikipedia ou par numéro vous trouverez sans doutes des normalisations pour des valeurs arbitraires que vous avez choisi de votre coté.
Il existe différents organismes dont le rôle est de valider des normes que les industries, notamment, utiliseront comme support pour rendre leurs services et produits interopérables, et a fortiori, compatibles.
Avez vous aussi vos habitudes de ce coté ?
Après le billet de n1k0 pour textmate et celui de geekblog pour vim, je me suis dit qu’il était temps de faire pareil pour netbeans : ouvrir un fichier où une exception a été levée directement depuis mon navigateur préféré.
La grosse différence avec les deux exemples ci-dessus : je suis sous windows…
Après quelques essais (sans succès) dans le about:config de Firefox et en feuilletant la Knowledge Base de MozillaZine, on voit qu’il faut aller taper dans la base de registre.
Voilà le fichier settings.yml (dans \config) :
dev: #yeah, we never know .settings: file_link_format: "netbeans://%f:%l"
Et voici donc la première version de mon fichier .reg :
REGEDIT4 [HKEY_CLASSES_ROOT\netbeans] @="URL:netbeans Protocol" "URL Protocol"="" [HKEY_CLASSES_ROOT\netbeans\shell] [HKEY_CLASSES_ROOT\netbeans\shell\open] [HKEY_CLASSES_ROOT\netbeans\shell\open\command] @="C:\\Program Files\\NetBeans 6.8 M2\\bin\\netbeans.exe --open %1"
Il se trouve que ça va pas, car netbeans essaie d’ouvrir le fichier avec dans l’URL le « netbeans:// ». Embêtant tout ça !
Il faut donc passer par un .bat avant, histoire de nettoyer un peu l’URL.
@echo off SET CHEMIN_O=%1 SET CHEMIN_R=%CHEMIN_O:netbeans=% "C:\Program Files\NetBeans 6.8 M2\bin\netbeans" "--open" %CHEMIN_R%
J’ai changé la dernière ligne de mon .reg :
@="C:\\monfichier.bat %1"
Et là, oh miracle, ça ne marche pas !
Donc si une âme charitable passe par ici et connait un élément de réponse, les commentaires sont là pour ça.
À vot’ bon cœur !
Ces articles peuvent également vous intéresser :
cécé : ou « cici », si on le fait à l’anglaise ; abbréviation et alias de la commande Symfony clear-cache (puis plus récemment cache:clear) utilisée pour clearer le cache (le vider, quoi). On doit entendre chez Sensiolabs environ 167 fois par jour « t’as fait un cécé ? ».
Dans ma boite, tous ceux qui ne font pas de symfony nous disent « t’as fait un symfony cc ? » quand il y a un problème : c’est la seule commande qu’ils se souviennent de leur formation symfony !
Cette définition est à retrouver dans La beauty de la poetry dans Symfony de LaurentLC. Allez y jeter un œil, ça détend !
Ces articles peuvent également vous intéresser :

OAuth permet aux utilisateurs de donner, à une application ou un site "consommateur", l'accès à des informations personnelles sur un site "fournisseur" de service.
OAuth permet de gérer ces autorisations sans avoir besoin de donner son identité. (Wikipedia)
An open protocol to allow secure API authorization in a simple and standard method from desktop and web applications. (oauth.net)
-- Edit -- suite à la question pertinente d'Hervé j'ajoute ceci
Extrait de Différences entre identification, autorisation et authentification
Dans le cadre d'OpenID, l'identification permet uniquement de dire : cette URL est à moi et peut me représenter. Les providers proposent maintenant d'autres services mais la base c'est uniquement ça, aucune couche de confiance si ce n'est l'assurance d'avoir une URL derrière. Après si vous liez votre OpenID à votre page personnelle, vous ajoutez forcément un certain crédit à votre OpenID car vous garantissez l'appartenance de la page en question.
Il y a aussi des initiatives pour ajouter cette couche de confiance auprès de tiers dits de confiance (Etat, banques, etc) mais c'est une autre histoire.
L'autorisation consiste à laisser l'accès ou pas à une donnée, que ce soit avec des tokens (comme OAuth), avec des URLs cachées, bref ce que vous voulez en fonction de la criticité de la donnée en question.
Aucune notion d'identité derrière ça, du moment qu'il a les clés on le laisse passer.
Ici aussi, il y a des initiatives pour combiner l'autorisation et l'identification, reste à voir comment prendre en compte l'ergonomie au passage.
Pour les besoins de la nouvelle version du gestionnaire de fichiers en ligne Hyla qui utilisait jusqu'à lors le moteur de gabarit de la PhpLib, un nouveau moteur bien plus performant à été réécrit respectant la logique des 'templates' de ce dernier.
Il améliore les performances en terme de vitesse d'un facteur 10 et ajoute un certain nombre de fonctionnalités très pratiques :
1. Tableaux et objets dans les variables : {$user.name}
2. Les fonctions appliquées aux variables : {$user.name|upper}
3. Les fonctions simples : {!include:test.tpl}
4. La traduction : {_Hello World !}
5. Les commentaires : {# Petit commentaire}
6. Les blocs ELSE associés aux habituels BEGIN / END
Ce moteur est disponible en mode autonome (standalone) totalement indépendant de Hyla.
Les habitués des templates de la Phplib y trouveront leurs comptes rapidement, les autres seront séduits par la facilité et la légereté de cette librairie.
Vous trouverez plus de détails par ici et notamment des exemples d'utilisation :
Proposé par hugo

Dernier rappel pour les propositions des présentations pour la conférence PHPBenelux 2010 de PHPbenelux qui aura lieu le 30 Janvier à Anvers.
On va probablement me rire au nez mais j'ai découvert en journée, une fonctionnalité d'Eclipse, qui peut-être salvatrice. Donc je la partage pour ceux qui comme moi ont pris trop vite leur IDE sans trop lire le manuel.
En fait un versionning interne des fichiers du projet, permet de retrouver les dernières modification du fichier même après fermeture du fichier et/ou redémarrage d'Eclipse.


On peut même mélanger les infos de l'historique local et de l'historique CVS/SVN
La nouvelle version du serveur d’applications Web professionnel de Zend réduit l’analyse de causes jusqu’à 50% et voit l’arrivée des jobs queues et du support de PHP 5.3
ZENDCON 2009, San José, Californie – Lors de sa conférence annuelle, Zend Technologies, the PHP Company, a annoncé la sortie de la bêta publique de Zend Server 5.0, une version majeure du serveur d’applications Web en PHP industriel de la société. Zend Server 5.0 inclut une nouvelle fonctionnalité novatrice – le Code tracing – qui permet aux utilisateurs de réduire considérablement les temps de résolution de problème jusqu’à 50%. Pour la première fois, les développeurs PHP et les administrateurs pourront rapidement identifier les causes d’un problème en production en voyant une « représentation graphique » de l’exécution de leur application – similaire à la boîte noire d’un avion – ce qui évitera ainsi le temps perdu à reproduire le problème.
« Zend Server apporte aux entreprises tout ce dont elles ont besoin pour déployer et gérer les applications Web critiques, y compris la dernière version de PHP, le monitoring avancée et de hautes performances constantes. » a déclaré Andi Gutmans, CEO et co-fondateur de Zend. « Avec Zend Server 5.0, nous révolutionnons la façon dont les développeurs PHP gèrent leurs serveurs de production, en réduisant significativement le temps perdu à analyser les causes d’un problème et à les résoudre. Nous sommes fiers d’être les premiers à délivrer cette fonctionnalité industrielle aux entreprises qui utilisent PHP. »
Zend Server est une partie essentielle de la solution professionnelle intégrée de Zend pour le développement et la gestion d’applications Web critiques. Zend Server inclut un environnement PHP à jour pour la conformité à la norme PCI, des techniques de monitoring et de diagnostics pour la fiabilité des applications, une accélération du code largement adoptée et le cache de page pour optimiser les performances. Tout ceci intégré au support technique fourni par les experts de Zend, aux mises à jour en ligne, aux hot fixes et aux correctifs de sécurité. Zend Server est totalement intégré avec l’IDE PHP Zend Studio, le Zend Framework, le framework Open Source le plus populaire créant ainsi la solution la plus simple et rapide pour développer et déployer des applications Web sécurisées et fiables.
La fonctionnalité Code tracing dans Zend Server 5.0 amène l’analyse des causes vers un nouveau niveau, permettant aux équipes de production, de développement et d’assurance qualité de booster leur productivité et d’améliorer la disponibilité des applications. Le Code tracing de Zend Server capture toute la trace d’exécution de l’application en temps réel de la même manière que la boîte noire d’un avion enregistre les données de vol. Ainsi les équipes IT peuvent rapidement trouver l’origine des problèmes sans avoir à reproduire l’erreur. Cette fonctionnalité peut être activée ou désactivée à la demande grâce aux règles de monitoring de Zend Server. Cela permet de capturer la trace d’exécution en temps réel, uniquement pour des erreurs déterminés tels que des dégradations de performance. La trace est affichée dans la console du Zend Server pour que les équipes puissent examiner l’historique complet de l’exécution de l’application et déterminer finement l’origine profonde du disfonctionnement. Cela permet de réduire l’identification et la résolution des problèmes de plus de 50%.
En plus du Code tracing, Zend Server apporte de nombreuses autres fonctionnalités pour améliorer la performance et la disponibilité des applications Web PHP. Le serveur de Job queues augmente la performance et la fluidité des applications en permettant de lancer des tâches asynchrones qui déchargent le serveur Web en déportant les longues exécutions vers les serveurs de back end. Ainsi, les utilisateurs finaux ont une réponse plus rapide dans leur navigateur puisque les tâches longues, telles que la validation des paiements en ligne ou encore la mise à jour des stocks en temps réel, s’exécutent en tâche de fond. De plus, certaines tâches de maintenance comme le nettoyage de base de données et la mise à jour de flux RSS peuvent être planifiés à intervalles réguliers. Cette fonctionnalité est totalement intégrée avec le système de monitoring de Zend Serveur et sa console Web, permettant ainsi aux développeurs et aux autres équipes IT de disposer d’un point d’accès unique pour surveiller l’exécution de leurs applications.
Zend Server inclut également le support de PHP 5.3. Cette nouvelle version permet d’exploiter les fonctionnalités de namespaces et de closures pour obtenir un code mieux organisé, plus facile à maintenir et à déployer.
Avec Zend Server 5.0, l’ensemble de la gamme de produits Zend supporte IBM i, en plus de Windows et Linux.
Pour une liste complète des nouvelles fonctionnalités de Zend Server 5.0, consultez la page http://www.zend.com/fr/products/server/zend-server-5-new.
Disponibilité
Une version de Zend Server 5.0 est déjà disponible, téléchargeable à cette adresse : http://www.zend.com/fr/products/server/downloads-beta. La version production sortira plus tard dans l’année.
A propos de Zend Technologies
Zend Technologies Inc., la PHP Company, est le leader des produits et services de développement, déploiement et gestion d’applications Web PHP critiques. PHP est utilisé par 35% des sites Internet dans le monde et est rapidement devenu le langage le plus répandu pour développer des applications stratégiques. Mondialement déployée dans plus de 30 000 entreprises, la gamme de produits Zend apporte une solution complète durant tout le cycle de vie d’une application PHP. Le siège de Zend est situé à Cupertino en Californie.
Pour de plus amples informations, rendez-vous sur http://www.zend.fr ou appelez le 01 48 55 02 00.
# # #
Zend, Zend Technologies, Zend Framework, Zend.com, Zend Server, and associated logos and icons, are trademarks of Zend Technologies, Inc. and may be registered in certain jurisdictions. All other trademarks are the property of their respective owners.
Contact Presse :
Christophe Chervy
Zend Technologies
christophe@zend.com
01 48 55 02 02
Proposé par Christophe Chervy
Benjamin Eberlei, le développeur principal du composant Zend Entity, vient d'annoncer qu'il en arrêtait le développement.
Il évoque plusieurs raisons à cet abandon. La première étant déjà que le développement de la librairie lui accaparait tout son temps. Zend Entity ne contiendrait également que 50 à 60% des fonctionnalités de Doctrine 2. Quant à la finalisation de la librairie, cela aurait nécessité 4 à 6 mois supplémentaires, rapprochant ainsi sa sortie de celle de la version 2.0 du Zend Framework (supportant PHP 5.3). Il aurait donc dû adapter son code pour bénéficier des apports de la nouvelle version de PHP. Il indique sur la mailing list qu'il préfère désormais se concentrer sur l'intégration de Doctrine dans le Zend Framework.
Pour rappel, Zend Entity était un composant respectant le principe de conception pilotée par le domaine et reposait sur le design pattern Data Mapper.
Auto status est une extension eZ Publish qui permet de mettre à jour son statut sur les réseaux sociaux Twitter ou Identi.ca en fonction de la publication d'un objet dans eZ Publish. Techniquement parlant, cette extension fournit un workflow event type destiné à se déclencher après la publication d'un objet et qui va utiliser un attribut de l'objet pour mettre à jour le statut. La mise à jour sur Twitter est faite grâce à Zend_Service_Twitter, Identi.ca est également supporté grâce quelques adaptations de cette classe également. Si vous voulez ajouter le support pour d'autres réseaux, n'hésitez pas à rejoindre le projet.
J'ai installé cette extension sur pwet.fr, normalement mon statut sur Twitter devrait être mis à jour aevc le titre et l'URL de ce billet :-) J'ai également créé un compte Twitter pour le Planet eZ Publish.fr et installé cette extension sur le planet, il s'agit donc d'un nouveau moyen de suivre les mises à jour du Planet via Twitter.