Après la sortie de la 1.2.10, de la 1.3, de la 1.4, voila que le calendrier de l’avent symfony est sorti : http://www.symfony-project.org/blog/2009/12/01/one-more-thing
Cette année, pas de gros tuto à la jobeet (qui est de toute façon à jour pour la 1.4), mais un livre open source. En fait, c’est un recueil de tutos pour approfondir des sujets spécifiques.
Et petit luxe par rapport à Jobeet, il est déjà dispo en Français (ou en japonais si vous préférez).
Jusqu’au 24 décembre donc, allez tous les jours ouvrir la petite case du calendrier… pas de chocolat derrière mais un tuto symfony !
Ces articles peuvent également vous intéresser :
Je suis actuellement au Web Developper Summit organisé par et chez Microsoft à Redmond. Nous avons eu ce matin la présentation de Wincache, un cache d’opcode spécifique à Windows développé par Microsoft.
Sur le papier, cette extension permet de faire du cache d’opcode et du cache de fichier. L’extension est en version 1.0 depuis peu et disponible sur le site de Microsoft ou sur PECL.
Dans les faits, difficile de vérifier, l’extension n’existe qu’en VC9 en non thread-safe. Autrement dit, cette extension est prête pour IIS mais pas pour Apache. Donc, impossible de la tester.
Le démo semblait toutefois assez intéressante, l’extension est livrée avec une interface permettant de visualiser et gérer les fichiers en cache.
J’ai discuté avec le chef de projet de chez MS, l’extension peut fonctionner avec Apache mais ils ne l’ont pas testé jusqu’ici. Reste donc à la compiler en VC6 et éventuellement d’apapter le code à du Thread-Safe.
Qui s’y met?
Je suis actuellement au Web Developper Summit organisé par et chez Microsoft à Redmond. Nous avons eu ce matin la présentation de Wincache, un cache d’opcode spécifique à Windows développé par Microsoft.
Sur le papier, cette extension permet de faire du cache d’opcode et du cache de fichier. L’extension est en version 1.0 depuis peu et disponible sur le site de Microsoft ou sur PECL.
Dans les faits, difficile de vérifier, l’extension n’existe qu’en VC9 en non thread-safe. Autrement dit, cette extension est prête pour IIS mais pas pour Apache. Donc, impossible de la tester.
Le démo semblait toutefois assez intéressante, l’extension est livrée avec une interface permettant de visualiser et gérer les fichiers en cache.
J’ai discuté avec le chef de projet de chez MS, l’extension peut fonctionner avec Apache mais ils ne l’ont pas testé jusqu’ici. Reste donc à la compiler en VC6 et éventuellement d’apapter le code à du Thread-Safe.
Qui s’y met?
Demain, jeudi va se dérouler le 1er Meeting XQuery à la Cantine à Paris... La définition de XQuery venant de W3C, signifie que XQuery est un langage de requête XML.
J'en profiterai pour répondre à ma curiosité car c'est un coin qui s'anime énormément.
Peut-etre que nous nous verrons :)
Pour en savoir et venir... Cliquez ici
L’elephpant est actuellement en vadrouille à Redmond, au siège de Microsoft. Il assiste à la Web Developer Conference.
Il est assidu et écoute les conférences avec intérêt même si parfois il a du mal à comprendre ce que les gens disent avec leur accent bizarre.

Après une pleine journée de conférence, l’elephpant est allé se détendre en visitant le MS Visitor Center.

Il est ensuite allé au MS Employee store, mais rien était à sa taille. De toute façon, l’elephpant s’en fiche, il ne porte pas de vêtements marqués MS!

Comme l’elephpant s’ennuyait un peu pendant que les autres achetaient tout et n’importe quoi, il en a profité pour hacker l’écran de bienvenue du MS Store et y incruster subtilement le mot PHP
L’elephpant est actuellement en vadrouille à Redmond, au siège de Microsoft. Il assiste à la Web Developer Conference.
Il est assidu et écoute les conférences avec intérêt même si parfois il a du mal à comprendre ce que les gens disent avec leur accent bizarre.

Après une pleine journée de conférence, l’elephpant est allé se détendre en visitant le MS Visitor Center.

Il est ensuite allé au MS Employee store, mais rien était à sa taille. De toute façon, l’elephpant s’en fiche, il ne porte pas de vêtements marqués MS!

Comme l’elephpant s’ennuyait un peu pendant que les autres achetaient tout et n’importe quoi, il en a profité pour hacker l’écran de bienvenue du MS Store et y incruster subtilement le mot PHP

Aujourd’hui, l’elephpant a dû signer un NDA (Non Discolure Agreement) pour pouvoir suivre les conférences sur les grandes nouveautés que Microsoft nous réserve pour les mois à venir.

Avant de partir, l’elephant a tenu à laisser une petite trace de son passage dans les locaux de Microsoft, quitte à prendre le risque de se faire arrêter pour dégradation. J’ai bien essayé de l’arrêter mais rien à faire…

Aujourd’hui, l’elephpant a dû signer un NDA (Non Discolure Agreement) pour pouvoir suivre les conférences sur les grandes nouveautés que Microsoft nous réserve pour les mois à venir.

Avant de partir, l’elephant a tenu à laisser une petite trace de son passage dans les locaux de Microsoft, quitte à prendre le risque de se faire arrêter pour dégradation. J’ai bien essayé de l’arrêter mais rien à faire…
Je suis en train de lire le jour 4 du calendrier de l’avent 2009 de symfony et aujourd’hui, Fabien Potencier nous explique comment exécuter une tâche depuis un module … chose que j’avais expliqué ici pour symfony 1.2.
Et bien, dorénavant, ça se fait en une seule ligne avec symfony 1.4 (et 1.3, forcément).
Voici la série d’exemples qu’il nous donne dans le chapitre Enhance your productivity :
$this->runTask(‘configure:author’, « ‘Fabien Potencier’ »);
$this->runTask(‘plugin:install’, ’sfDoctrineGuardPlugin’, array(‘release’ => ‘10.0.0′, ’stability’ => beta’));
$this->runTask(‘cc’);
C’est plus simple, plus rapide, c’est natif et en plus … ça marche !
Ces articles peuvent également vous intéresser :
Je viens donc de passer plusieurs jours à Redmond / Seattle invité par Microsoft pour participer au Web Development Summit, un évènement regroupant une trentaine de personnes du monde PHP afin d’échanger avec les équipes des produits web de Microsoft sur les synergies possibles entre nos deux mondes.
Parmi les invités :
Cal EVANS, Andrei ZMIEVSKI, Marco TABINI, Ben RAMSEY, Alison GIANOTTO, David COALLIER, Elizabeth M. SMITH, Ligaya TURMELLE, Maarten BALLIAUW, etc… (désolé pour ceux que je n’ai pas cités).
Vous allez me dire : « Et qu’est ce que tu faisais là bas toi? ». Figurez vous que j’y ai été invité par Hank JANSSEN qui a activement participé à la refonte de PHP 5.3.0 sous Windows et que j’ai pu rencontrer dans le cadre de WampServer.
Au niveau du contenu, les deux jours et demi de conférences ont été très riches. Nous y avons beaucoup parlé des efforts faits par Microsoft pour recoller aux réalités du marché et offrir une vraie solution de production/développement pour les applications web PHP. Cette conférence était vraiment organisée comme une grande session d’échange, la moitié des conférences étaient donc animées par Microsoft, l’autre moitié par des personnes de la communauté.
Voyons un peu ce que j’y ai appris de Microsoft :
Commençons par la solution Web PI, sorte de WampServer pour IIS qui permet d’installer simplement un environnement et des applications PHP.L’outil , pour le moment, s’adresse plus à des utilisateurs finaux de solutions packagées (genre Wordpress) qu’à des développeurs. Toutefois les échanges ont été très riches et je suis persuadé que les remarques faites par les participants seront prises en compte (choix de versions, plusieurs instances en parallèle, etc…).
De mon point de vue, bien que très utile pour une certain type d’utilisateurs, cet outil ne sera pas adopté par les développeurs PHP. Ceux-ci viennent de la plateforme LAMP et souhaitent pouvoir retrouver leurs petits sous Windows. Il ne faut pas trop en demander, changer d’OS, changer de serveur web…et pourquoi pas abandonner MySQL au profit de SQL Server tant qu’on y est!
Par ailleurs, de par son fonctionnement en fast-cgi, IIS n’offre pas le même mode de fonctionnement que Apache, Il faut donc que Microsoft s’ouvre encore plus et accepte qu’une plateforme web sur Windows doit être plus de type WAMP que de type WIMP (Windows, IIS, MySQL, PHP) ou WISP (la même chose avec SQL server). J’en ai discuté avec quelques personnes chez Microsoft qui se sont révélées très ouvertes à cela, nous avons même évoqué la possibilité de faire tourner WEB PI sur WampServer, on verra si il y a une suite.
Wincache : les équipes Microsoft ont fait le constat qu’il n’existait pas d’extension de cache d’opcode qui soit efficace et vraiment stable sous Windows. Ils se sont donc retroussées les manches et ont développé l’extension wincache.
Les points positifs :
- wincache permet de faire du cache d’opcode de façon optimisée sous Windows
- wincache est sous licence Open Source et a été intégré à PECL, signe que Microsoft est vraiment dans un processus d’ouverture.
Les points négatifs :
- les binaires de wincache ne sont disponibles qu’en VC9, donc impossible a tester avec les versions actuelles d’apache
- de toute façon, l’extension n’existe pas encore en thread-safe, donc impossible de la faire fonctionner avec Apache 2.2
Là encore, j’ai longuement parlé de cela avec Ruslan Yakushev, responsable du projet chez Microsoft, et j’ai bon espoir d’avoir été entendu et que ces deux points seront ajoutés dans leur roadmap.
PowerShell : Il s’agit d’un invité de commande étendu pour Windows afin de proposer des possibilités plus proche d’un shell Linux aux développeurs. J’avoue ne pas avoir tout compris, la session était en fin de journée et le décalage horaire et la journée à parler en Anglais ont eu raison de moi. Ça a tout de même l’air intéressant, il faudra que j’y jette un coup d’œil quand j’aurais le temps.
Nous avons également eu une présentation des projets interopérabilité en cours par Jean-Christophe Cimetiere et son équipe. J’avais pu assister à un conférence à peu près identique, il y a trois ans, lors de ma première participation et je doit avouer que l’évolution est importante. Bien sûr, Microsoft reste une société à but lucratif et leur implication dans ce genre de projets va dans le sens de leurs intérêts, mais on ne peut pas nier qu’il y a maintenant du concret, de véritables solutions utilisables (contrairement à ce que j’avais pu voir il y a 3 ans). Par ailleurs, la langue de bois à disparu, on ressent clairement que les équipes ont une marge de manœuvre plus importante et que tout cela n’est pas qu’une histoire de marketing et de gestion d’image.
Aiiiiieeeee, qui vient de me lancer une pierre???
Oui, je sais, ca sens le vendu, ca a le gout du vendu mais non, ce n’est pas du vendu, Microsoft ne m’a pas payé pour que j’écrive tout cela. J’ai vraiment le sentiment que de très gros effort sont faits de leur côté et ce serait vraiment un manque d’ouverture que de ne pas les prendre en compte et de tout dénigrer simplement par ce que c’est Microsoft.
C’est quand même en partie grâce à eux et à leur financement que nous avons toujours une version de PHP pour Windows et, qui plus est, certainement la version la plus efficace qu’il n’y ait jamais eu (la version Windows de PHP a failli disparaître avec PHP 5.2.6).
Bien sûr, il y a eu d’autres conférences et choses présentées, mais soit :
1. elles étaient d’ordre plus philosophiques et donc difficiles à retranscrire
2. elles étaient sous NDA, je n’ai donc pas le droit d’en parler
3. elles étaient inintéressantes, comme la présentation de la fondation Codeplex qui a été proche du fiasco, les orateurs n’ayant pas compris à qui ils s’adressaient en essayant de nous faire croire qu’il réinventaient le monde. Bien sûr, ils ont vite été remis à leur place par certains membres de la communauté.
4. je n’ai pas tout compris ou j’essayais de récupérer des 20 heures de voyage et des 9 heures de décalage horaire.
Du côté de la communauté, ca a permis de mettre des sujets sur la table, comme la scission qui s’opère entre les communautés PHP et les communautés projet comme Joomla ou Drupal par exemple, le tout piloté sur les 3 jours par Cal EVANS.
Ajoutez à cela, une ou deux sorties avec la communauté et vous aurez la recettes de trois journées riches en échange et permettant de faire avancer le schmilblick.
Pour finir, aujourd’hui, j’ai pu profiter de la journée pour me balader dans Seattle. mais bien sûr, les trois journées de beau temps passées enfermées dans des salles de conférence ont été suivies par une journée bien grise avec même quelques gouttes de pluie. J’ai quand même fait mon petit tour en haut de la space needle et fait quelques emplettes pour moi et mes amis :



Maintenant, je suis de retour à l’hôtel où j’attends mon taxi pour mon retour vers Paris qui s’annonce comme un nouveau périple de taille : 5 heures d’avion jusqu’à New-York suivies de 10 heures de transit à JFK, suivies de nouveau de 7 heures d’avion. En gros, je pars d’ici vendredi à 21h, j’arrive à Paris Dimanche à 6 heures…que du bonheur.
Allez tant qu’à faire, autant cumuler, il reste quelques pierres par terre, faites vous plaisir, mais ne visez pas la tête ![]()
Note : voici mon compte-rendu de la même conférence mais en 2006…lisez le, ca montre bien l’évolution qu’il y a eu en 3 ans.
Je viens donc de passer plusieurs jours à Redmond / Seattle invité par Microsoft pour participer au Web Development Summit, un évènement regroupant une trentaine de personnes du monde PHP afin d’échanger avec les équipes des produits web de Microsoft sur les synergies possibles entre nos deux mondes.
Parmi les invités :
Cal EVANS, Andrei ZMIEVSKI, Marco TABINI, Ben RAMSEY, Alison GIANOTTO, David COALLIER, Elizabeth M. SMITH, Ligaya TURMELLE, Maarten BALLIAUW, etc… (désolé pour ceux que je n’ai pas cités).
Vous allez me dire : « Et qu’est ce que tu faisais là bas toi? ». Figurez vous que j’y ai été invité par Hank JANSSEN qui a activement participé à la refonte de PHP 5.3.0 sous Windows et que j’ai pu rencontrer dans le cadre de WampServer.
Au niveau du contenu, les deux jours et demi de conférences ont été très riches. Nous y avons beaucoup parlé des efforts faits par Microsoft pour recoller aux réalités du marché et offrir une vraie solution de production/développement pour les applications web PHP. Cette conférence était vraiment organisée comme une grande session d’échange, la moitié des conférences étaient donc animées par Microsoft, l’autre moitié par des personnes de la communauté.
Voyons un peu ce que j’y ai appris de Microsoft :
Commençons par la solution Web PI, sorte de WampServer pour IIS qui permet d’installer simplement un environnement et des applications PHP.L’outil , pour le moment, s’adresse plus à des utilisateurs finaux de solutions packagées (genre Wordpress) qu’à des développeurs. Toutefois les échanges ont été très riches et je suis persuadé que les remarques faites par les participants seront prises en compte (choix de versions, plusieurs instances en parallèle, etc…).
De mon point de vue, bien que très utile pour une certain type d’utilisateurs, cet outil ne sera pas adopté par les développeurs PHP. Ceux-ci viennent de la plateforme LAMP et souhaitent pouvoir retrouver leurs petits sous Windows. Il ne faut pas trop en demander, changer d’OS, changer de serveur web…et pourquoi pas abandonner MySQL au profit de SQL Server tant qu’on y est!
Par ailleurs, de par son fonctionnement en fast-cgi, IIS n’offre pas le même mode de fonctionnement que Apache, Il faut donc que Microsoft s’ouvre encore plus et accepte qu’une plateforme web sur Windows doit être plus de type WAMP que de type WIMP (Windows, IIS, MySQL, PHP) ou WISP (la même chose avec SQL server). J’en ai discuté avec quelques personnes chez Microsoft qui se sont révélées très ouvertes à cela, nous avons même évoqué la possibilité de faire tourner WEB PI sur WampServer, on verra si il y a une suite.
Wincache : les équipes Microsoft ont fait le constat qu’il n’existait pas d’extension de cache d’opcode qui soit efficace et vraiment stable sous Windows. Ils se sont donc retroussées les manches et ont développé l’extension wincache.
Les points positifs :
- wincache permet de faire du cache d’opcode de façon optimisée sous Windows
- wincache est sous licence Open Source et a été intégré à PECL, signe que Microsoft est vraiment dans un processus d’ouverture.
Les points négatifs :
- les binaires de wincache ne sont disponibles qu’en VC9, donc impossible a tester avec les versions actuelles d’apache
- de toute façon, l’extension n’existe pas encore en thread-safe, donc impossible de la faire fonctionner avec Apache 2.2
Là encore, j’ai longuement parlé de cela avec Ruslan Yakushev, responsable du projet chez Microsoft, et j’ai bon espoir d’avoir été entendu et que ces deux points seront ajoutés dans leur roadmap.
PowerShell : Il s’agit d’un invité de commande étendu pour Windows afin de proposer des possibilités plus proche d’un shell Linux aux développeurs. J’avoue ne pas avoir tout compris, la session était en fin de journée et le décalage horaire et la journée à parler en Anglais ont eu raison de moi. Ça a tout de même l’air intéressant, il faudra que j’y jette un coup d’œil quand j’aurais le temps.
Nous avons également eu une présentation des projets interopérabilité en cours par Jean-Christophe Cimetiere et son équipe. J’avais pu assister à un conférence à peu près identique, il y a trois ans, lors de ma première participation et je doit avouer que l’évolution est importante. Bien sûr, Microsoft reste une société à but lucratif et leur implication dans ce genre de projets va dans le sens de leurs intérêts, mais on ne peut pas nier qu’il y a maintenant du concret, de véritables solutions utilisables (contrairement à ce que j’avais pu voir il y a 3 ans). Par ailleurs, la langue de bois à disparu, on ressent clairement que les équipes ont une marge de manœuvre plus importante et que tout cela n’est pas qu’une histoire de marketing et de gestion d’image.
Aiiiiieeeee, qui vient de me lancer une pierre???
Oui, je sais, ca sens le vendu, ca a le gout du vendu mais non, ce n’est pas du vendu, Microsoft ne m’a pas payé pour que j’écrive tout cela. J’ai vraiment le sentiment que de très gros effort sont faits de leur côté et ce serait vraiment un manque d’ouverture que de ne pas les prendre en compte et de tout dénigrer simplement par ce que c’est Microsoft.
C’est quand même en partie grâce à eux et à leur financement que nous avons toujours une version de PHP pour Windows et, qui plus est, certainement la version la plus efficace qu’il n’y ait jamais eu (la version Windows de PHP a failli disparaître avec PHP 5.2.6).
Bien sûr, il y a eu d’autres conférences et choses présentées, mais soit :
1. elles étaient d’ordre plus philosophiques et donc difficiles à retranscrire
2. elles étaient sous NDA, je n’ai donc pas le droit d’en parler
3. elles étaient inintéressantes, comme la présentation de la fondation Codeplex qui a été proche du fiasco, les orateurs n’ayant pas compris à qui ils s’adressaient en essayant de nous faire croire qu’il réinventaient le monde. Bien sûr, ils ont vite été remis à leur place par certains membres de la communauté.
4. je n’ai pas tout compris ou j’essayais de récupérer des 20 heures de voyage et des 9 heures de décalage horaire.
Du côté de la communauté, ca a permis de mettre des sujets sur la table, comme la scission qui s’opère entre les communautés PHP et les communautés projet comme Joomla ou Drupal par exemple, le tout piloté sur les 3 jours par Cal EVANS.
Ajoutez à cela, une ou deux sorties avec la communauté et vous aurez la recettes de trois journées riches en échange et permettant de faire avancer le schmilblick.
Pour finir, aujourd’hui, j’ai pu profiter de la journée pour me balader dans Seattle. mais bien sûr, les trois journées de beau temps passées enfermées dans des salles de conférence ont été suivies par une journée bien grise avec même quelques gouttes de pluie. J’ai quand même fait mon petit tour en haut de la space needle et fait quelques emplettes pour moi et mes amis :



Maintenant, je suis de retour à l’hôtel où j’attends mon taxi pour mon retour vers Paris qui s’annonce comme un nouveau périple de taille : 5 heures d’avion jusqu’à New-York suivies de 10 heures de transit à JFK, suivies de nouveau de 7 heures d’avion. En gros, je pars d’ici vendredi à 21h, j’arrive à Paris Dimanche à 6 heures…que du bonheur.
Allez tant qu’à faire, autant cumuler, il reste quelques pierres par terre, faites vous plaisir, mais ne visez pas la tête ![]()
Note : voici mon compte-rendu de la même conférence mais en 2006…lisez le, ca montre bien l’évolution qu’il y a eu en 3 ans.
Comme chaque fin de semaine, voici la revue de presse hebdomadaire pour vous faire découvrir ce qui se dit d’intéressant sur PHP. Il s’agit d’articles en français ou en anglais que j’aimerais partager avec vous.
Et cette semaine, vous ne trouverez pas un mais deux articles bonus qui n’ont pas directement de rapport avec PHP mais qui me semblent importants.
Et voici les articles bonus de la semaine :
Comme chaque fin de semaine, voici la revue de presse hebdomadaire pour vous faire découvrir ce qui se dit d’intéressant sur PHP. Il s’agit d’articles en français ou en anglais que j’aimerais partager avec vous.
Et cette semaine, vous ne trouverez pas un mais deux articles bonus qui n’ont pas directement de rapport avec PHP mais qui me semblent importants.
Et voici les articles bonus de la semaine :
Sur le site d'IBM, Teodor Zlatanov a publié une suite d'articles qui visent à aider les développeurs à découvrir l'outil de versionning Git.
Ces articles s'adressent aux personnes qui connaissent déjà SVN et qui voudraient apprendre à utiliser Git.
Les philosophies de ces outils sont très différentes, les façons de s'en servir aussi ; Teodor Zlatanov fait le parallèle entre SVN et Git et met le doigt sur ce qui les différencie.
Si vous êtes un utilisateur de SVN, après la lecture de ces deux articles vous devriez être en mesure d'utiliser les fonctionnalités de bases de Git pour vos projets de développement.
Pour une utilisation plus avancée, les nombreux liens donnés par l'auteur devraient vous aider.
Le numéro de décembre du magazine Programmez ! contient un dossier spécial PHP avec des articles par mes collègues Christophe Villeneuve et Damien Seguy ainsi qu’un article par votre serviteur sur l’industrialisation des développements PHP.

Le numéro de décembre du magazine Programmez ! contient un dossier spécial PHP avec des articles par mes collègues Christophe Villeneuve et Damien Seguy ainsi qu’un article par votre serviteur sur l’industrialisation des développements PHP.

Ainsi, Benoît Catherineau, membre de l’équipe francophone, nous renseigne sur les futurs apports de Wordpress 2.9 dont l’optimisation n’a pas permis de tenir les délais initialement prévus.
Toutefois, nous pouvons penser que personne ne va s’en plaindre, tant au niveau des utilisateurs que de la communauté de développeurs. Il est vrai que les nouvelles fonctionnalités pour la contribution sont plutôt alléchantes, et pour certaines attendues depuis longtemps. On y trouve entres autres :
Pour le côté plus technique, un certain nombre de correctifs/évolutions/améliorations ont été logiquement apportés (liste exhaustive disponible sur le Changelog du Codex). Ce qu’il faut en revanche retenir est le passage de MySql 4.0 à la version 4.1.2 comme pré-requis à l’installation. Il reste aujourd’hui un peu plus de 120 bugs dans le "pipe" avant d’espérer une sortie (prochaine ?) de cette nouvelle version. En attendant, la Beta 2 est disponible et présente un bon aperçu des futures possibilités de l’outil.
Zend Studio 7.1 supporte désormais la programmation orientée tâches, la synchronisation serveur distant et les archives PHP.
CUPERTINO, Californie – Zend Technologies, Inc., the PHP Company, vient d’annoncer la disponibilité de Zend Studio 7.1 qui ajoute de nouvelles fonctionnalités significatives à la solution PHP globale de la société. Conçu pour améliorer plus encore la productivité des développeurs, Zend Studio 7.1 voit l’arrivée du support du développement orienté tâches, la synchronisation simple de serveur distant et le support des archives PHP (PHAR), en plus du support déjà annoncé de PHP 5.3 et de la plus grande intégration de cette solution avec Zend Server et Zend Framework.
Zend Studio est le seul environnement de développement intégré (IDE) qui fournit un ensemble d’outils professionnel et complet basé sur le projet Open Source Eclipse PDT (PHP Development Tools) dirigé par Zend. PDT est par ailleurs le projet Eclipse le plus téléchargé. Les clients Zend Studio bénéficient de l’immense écosystème de plugs-in disponibles via la communauté Eclipse. L’ensemble combiné de fonctionnalités fournit une solution qui maximise la productivité des développeurs tout en procurant l’intégration de Zend Framework et de Zend Server dont les sociétés ont besoin.
« PHP est désormais largement utilisé dans de nombreuses entreprises et cette mise à jour de Zend Studio aide à rationnaliser les processus utilisés par les équipes de développement en fournissant des gains supplémentaires aux développeurs pour qu’ils puissent développer des applications PHP dynamiques et professionnelles » a déclaré Andi Gutmans, PDG et co-fondateur de Zend Technologies, « Zend Studio est le seul IDE professionnel qui tire parti de l’écosystème Eclipse et qui, grâce à l’intégration de Zend Server et Zend Framework, fournit une solution qui répond à toutes les problématiques de l’ensemble du cycle de vie – du développement à la production – des applications Web en PHP. »
La version 7.1 de Zend Studio apporte des fonctionnalités et des améliorations qui facilitent le développement par tâches et augmente la productivité des développeurs.
Les nouvelles fonctionnalités de Zend Studio 7.1 incluent :
- La programmation orientée tâches – en fournissant l’intégration du très populaire projet Eclipse Mylyn, Zend Studio 7.1 permet aux développeurs d’être plus productifs car il réduit la surcharge d’informations que les développeurs reçoivent lorsqu’ils changent de projets. Les développeurs gèrent leur charge de travail plus efficacement en ayant la capacité d’identifier les éléments de chaque projet – tels que les fichiers, les classes et les fonctions - inhérents à une tâche spécifique de développement et seuls ces éléments sont affichés pour leur tâche en cours.
- Support de serveur distant – En fournissant un workflow simplifié qui facilite la synchronisation de fichiers projet sur un serveur distant, les développeurs peuvent écrire, déboguer et tester leur code dans des environnements qui ressemblent en tous points à leur environnement de production. Cela leur permet d’éliminer la plupart des erreurs cross platforms au plus tôt du cycle de vie.
- Support PHAR (“PHP Archive”) – en fournissant le support de la technologie émergeante PHAR, les développeurs peuvent regrouper les fichiers projet en un seul fichier qui simplifie la distribution et l’installation d’applications PHP complètes.
- De nombreuses corrections et mises à jour logicielles pour améliorer la stabilité la stabilité et la vitesse de Zend Studio ont été ajoutées.
De plus, la version 7.0 de Zend Studio, sortie en milieu d’année, propose des fonctionnalités majeures incluant :
- Le support de PHP 5.3 : Zend Studio 7.0 est un IDE complet pour la nouvelle version PHP 5.3. Le support de Zend Studio pour les fonctionnalités 5.3 rendent plus simples la maintenance, et le code plus concis grâce à l’assistant de code, la nouvelle coloration syntaxique et les nouvelles fonctionnalités du langage dans sa version 5.3, telles que les namespaces et les closures, qui permettent aux programmeurs de mieux organiser leur code et d’utiliser des patterns dynamiques de codage.
- Codage Pointer/cliquer avec Zend Framework : une meilleure intégration avec le Zend Framework, le framework de développement PHP de référence, fournit des méthodes plus productives grâce au développement rapide d’applications (RAD), permettant la création en mode pointer/cliquer d’applications Zend Framework critiques, personnalisables et basées sur les standards.
- Intégration améliorée avec Zend Server : le support de Zend Studio 7.0 pour Zend Server – Le serveur d’applications Web de Zend pour déployer, gérer et superviser les applications Web en PHP – fournit des logiciels significativement plus rapides et plus fiables. Zend Server optimise la fiabilité, la sécurité et les performances en entreprise grâce à la supervision applicative, les correctifs de sécurité, les mises à jour produits et la notification d’événements.
Pour obtenir plus d’informations sur les nouvelles fonctionnalités de Zend Studio 7, rendez-vous sur http://www.zend.com/fr/products/studio
Zend Technologies Inc., la PHP Company, est la société de référence pour les produits et services de développement, déploiement et gestion d’applications Web PHP critiques. PHP fait fonctionner 35% des sites Web mondiaux et est rapidement devenu le langage le plus répandu pour développer des applications Web dynamiques. Mondialement déployée dans plus de 27 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 plus d’informations, visitez www.zend.fr ou appelez le 01 48 55 02 00.
# # #
Zend, Zend Technologies, Zend Framework, Zend.com, Zend Server, and Zend Studio, 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
+33 1 48 55 02 02
christophe@zend.com
Proposé par Christophe Chervy
Lors d’un exercice en Licence Professionnelle Informatique Web Développeur à l’INSSET de Saint-Quentin, mes élèves ont constaté un comportement étrange avec le destructeur d’une classe. Voici un exemple minimal du problème :
<?php class Exemple { public function __destruct() { file_put_contents('log.txt', 'Test'); } } $exemple = new Exemple();
Ce code ne pose a priori pas de problème et pourtant si vous l’exécutez avec Apache sur Unix vous risquez d’avoir des problèmes de droit d’écriture :
Warning: file_put_contents(log.txt) [function.file-put-contents]: failed to open stream: Permission denied in /var/www/test/destruct.php on line 6
En fait l’explication est aussi étonnante que simple et comme souvent on la trouve dans la documentation de PHP : lors de la phase de clôture d’un script, le contexte peut changer sur certains SAPI dont Apache.
Cela veux dire que notre instance étant détruite implicitement lors de la clôture du script, PHP ne va pas essayer de créer le fichier, dont le chemin est relatif, dans le même répertoire que le script mais dans un autre répertoire où il n’a pas forcément le droit d’écrire.
Pour contourner ce problème, il suffit soit de donner au fichier un chemin absolu pour le fichier, soit de détruire explicitement l’instance afin que cela se fasse avant la phase de clôture du script :
$exemple = null
ou
unset($exemple);
Lors d’un exercice en Licence Professionnelle Informatique Web Développeur à l’INSSET de Saint-Quentin, mes élèves ont constaté un comportement étrange avec le destructeur d’une classe. Voici un exemple minimal du problème :
<?php class Exemple { public function __destruct() { file_put_contents('log.txt', 'Test'); } } $exemple = new Exemple();
Ce code ne pose a priori pas de problème et pourtant si vous l’exécutez avec Apache sur Unix vous risquez d’avoir des problèmes de droit d’écriture :
Warning: file_put_contents(log.txt) [function.file-put-contents]: failed to open stream: Permission denied in /var/www/test/destruct.php on line 6
En fait l’explication est aussi étonnante que simple et comme souvent on la trouve dans la documentation de PHP : lors de la phase de clôture d’un script, le contexte peut changer sur certains SAPI dont Apache.
Cela veux dire que notre instance étant détruite implicitement lors de la clôture du script, PHP ne va pas essayer de créer le fichier, dont le chemin est relatif, dans le même répertoire que le script mais dans un autre répertoire où il n’a pas forcément le droit d’écrire.
Pour contourner ce problème, il suffit soit de donner au fichier un chemin absolu pour le fichier, soit de détruire explicitement l’instance afin que cela se fasse avant la phase de clôture du script :
$exemple = null
ou
unset($exemple);
Richard Stallman va s'arrêter en France, le temps d'une conférence autour de son nouvel ouvrage "Richard Stallman et la révolution du logiciel libre" aux éditions Eyrolles, sortie fin le 21 janvier 2010.
Richard Stallman a beaucoup donné envie de passer aux applications/logiciels libres depuis de nombreuses années comme l'utilisation du C, PHP, MySQL...
La conférence est prévue le 12 janvier 2010 à Paris. Un évènement incontournable pour ce début d'année 2010.
Pour plus d'informations, consulter le communiqué officiel : Richard Stallman et la révolution des logiciels libres
Le mois dernier s'est déroulé le Forum PHP à la cité des sciences organisé par l'AFUP (Association Française des Utilisateurs de PHP) en partenariat avec LeMug (MySQL User Group). Cette année, comme les autres années furent de très grandes qualités. Bien sur PHP TV était présent pour couvrir l'évènement et cette année, l'équipe nous propose :
Reportage et interview du Sponsor Or (Alter Way)
Les Conférences Audio :
Les Interviews :
La suite... Pour très bientot
J’ai vu passé quelques billets à propos de file_link_format et symfony, notamment pour pouvoir débugguer plus rapidement en ouvrant un fichier dans NetBeans 6.8 depuis son navigateur web.
Il y a notamment l’astuce de symfony-IT qui permet de faire cela pour NetBeans sous Linux (avec un script bash).
John Kary s’essaie à la même manip, mais lui sous Mac, la tâche ne semble pas plus aisée.
C’est que NetBeans ne nous simplifie pas la chose, on dirait.
Puisque je ne désespère pas, j’ai essayé de trouver une solution à mon problème et c’est Omar, dans les commentaires de mon précédent billet qui m’a fait avancer un peu plus.
Voici donc la structure de mon fichier .reg, qui me permet d’ajouter les clés nécessaires dans la base de registre (Démarrer -> Exécuter -> « regedit ») :
REGEDIT4 [HKEY_CLASSES_ROOT\editor] @="URL:editor Protocol" "URL Protocol"="" [HKEY_CLASSES_ROOT\editor\shell] [HKEY_CLASSES_ROOT\editor\shell\open] [HKEY_CLASSES_ROOT\editor\shell\open\command] @="C:\\netbeans.bat %1"
Mon fichier \config\settings.yml de mon projet symfony (faites attention à l’indentation, ça s’affiche mal sur le blog) :
dev: #yeah, we never know .settings: file_link_format: "editor://%f:%l"
Et enfin, mon fichier C:\netbeans.bat :
@echo on SET CHEMIN_O=%1 SET CHEMIN_R=%CHEMIN_O:editor://=% SET CHEMIN=%CHEMIN_R:~0,-1% "C:\Program Files\NetBeans 6.8\bin\netbeans.exe" --open "%CHEMIN%"
(vérifiez chez vous que le chemin d’install de votre NetBeans est correct, bien sur
).
Pour que ça soit drôle, bien entendu, ça ne marche pas.
Enfin, ne soyons pas difficiles : NetBeans s’ouvre quand je clique sur le lien editeur://C:\wamp\www\dev\sandbox\lib\vendor\symfony\lib\util\sfContext.class.php:13
Mais c’est tout. NetBeans s’ouvre et c’est tout : pas de fichier sfContext.class.php chargé et donc encore moins de curseur positionné à la ligne 13.
Rageant, surtout que sur le net, j’ai trouvé pas mal d’articles disant que « oui, il est possible d’ouvrir NetBeans avec un fichier en mettant –open dans la ligne et oui, on peut spécifier un numéro de ligne ».
Un exemple ? Ici.
Mais en fait, à chaque fois, on parle d’une version inférieure à la 6.8. J’ai donc installé la fameuse version 6.5 (RC2, trouvée rapidement sur le net) pour tester.
Ma seule modif était de changer le chemin de mon netbeans.exe dans le fichier .bat :
@echo on SET CHEMIN_O=%1 SET CHEMIN_R=%CHEMIN_O:editor://=% SET CHEMIN=%CHEMIN_R:~0,-1% "C:\Program Files\NetBeans 6.5\bin\netbeans.exe" --open "%CHEMIN%"
Pas trop complexe la modif, je le reconnais.
Et là, grande désillusion, ça marche. NetBeans 6.5 s’ouvre, mon fichier est chargé et le curseur est bien positionné à la ligne qu’il faut.
Rageant.
Le souci se trouve donc du côté de NetBeans 6.8 et pas dans ma config. Bref, le débugguage d’un projet symfony avec file_link_format et NetBeans 6.8 comme sous vim ou textmate, c’est pour bientôt.
J’ai en effet reporté le bug du côté de NetBeans, en espérant qu’ils soient réactifs.
Je suis un peu surpris que cette fonctionnalité ne soit plus présente, surtout que par endroit, j’ai lu que ça marchait encore.
Autre souci rencontré avec NetBeans 6.8 : à chaque fois que je clique sur un lien généré par mon appli symfony, j’ai une instance de NetBeans qui s’ouvre (on peut donc logiquement arriver à 3 ou 4 NetBeans ouverts).
Enfin, la fenêtre MS-DOS, ouverte à cause de mon .bat, reste ouverte tant que NetBeans tourne. Pas pratique.
Alors, vous pouvez toujours débugguer avec NetBeans 6.5, bien entendu. Mais c’est moins drôle quand on connait les avantages de la 6.8 qui supporte symfony.
Mais il faut y croire : ça va bientôt être possible !
Ah, au passage, certains essaient de faire la même chose pour Eclipse PDT.
Ces articles peuvent également vous intéresser :
Note préliminaire : si vous n'avez pas ce problème passez votre chemin. Ce post est un memento pas un tuto.
N'en veuillez pas à Zend_OpenId_Provider, il n'y est pour rien.
C'est un problème quand plusieurs zend_framework entrent en conflit dans votre include_path.
De tous les post voici celui qui me semble plus parlant : http://www.mail-archive.com/fw-general@lists.zend.com/msg21202.html
Et qui se résume par
Dès qu'il y a la racine d'un projet utilisant zf 1.7.x dans l'include_path, ca foire. Il suffit de le retirer.
Yoda-BZH released a plugin that does this simply and quickly with ybRunTaskPlugin.
The ybRunTaskPlugin allow you to run a task within an action, just like you’d be doing in a task
But why do I speak about that ? Because some pieces of code come from my blog.
So, go on symfony website, download this plugin and use it !
You can now run a task from an action :
class homeActions extends sfActions { public function executeRuntask(sfWebRequest $request) { $ret = $this->runTask('generate:task', 'hello'); if(null != $ret) { $this->msg = $ret->getMessage(); } else { $this->msg = 'doing fine ?'; } } }
That’s all !
Ces articles peuvent également vous intéresser :
Starter kit pour Zend_Form
Quelques ressources et référence pour utiliser Zend_form.
PHP Nanomus fait partie des plus petits, plus rapides et plus simples gestionnaires de contenu web sous licence GPL GNU, appelés plus communément CMS (Content management Systems ).
Nanomus n'utilise pas de base de données, mais stocke ses données dans des fichiers PHP sécurisés dits à plat (techniquement parlant flatfile system, ici pas de .ini ou .txt ).
Nanomus est par défaut entièrement valide XHTML Strict, UTF-8, tableless et cerise sur le gâteau est doté de jolies urls appelées plus techniquement URL Friendly.
De plus il vous est possible de créer votre propre thème seulement en modifiant ou en créant votre propre fichier CSS !
Nanomus est composé techniquement de trois couches bien distinctes:
* le contenu ( ce que vous allez rédiger )
* la charte graphique ( appelé aussi thème ou template )
* puis le contenant ( le moteur par lui même )
Doté dès cette première version de :
* gestionnaire de fichiers en ligne
* formulaire d'upload libre en ligne
* gestion des métas ( title, description et keywords ) par page
* anti duplicate content
* création illimitée de pages
* désactivation de pages ( et ré-activation )
* suppression définitive de pages
Ce petit cms fait environ 100 ko, 150 ko avec les images et son code pur PHP embarqué par page tourne dans les 25 ko, c'est donc du tout petit mais permettant déjà un très grand nombre d'applications.
Une démonstration du cms est accessible à partir du site officiel ( logiciel livré en anglais et français pour l'heure )
www.php-nanomus.org
Proposé par Cyril Levert
Michael « Monty » Widenius, créateur de MySQL, lance une campagne mondiale d’information et une pétition en ligne pour s'opposer au rachat de MySQL par Oracle.
Le délais est très court, c'est pourquoi il faut réagir dès maintenant car après ce sera trop tard.
Plus de 20 millions de serveurs dans le monde utilisent MySQL, parfois dans le cadre d’applications critiques ; afin de permettre aux utilisateurs professionnels et individuels de faire entendre leur voix à Bruxelles, une première livraison de signatures sera effectuée auprès des autorités de régulation de la Commission européenne le lundi 4 janvier prochain.
Pour avoir toutes les informations, il faut vous rendre sur le site officiel de la pétition
http://www.helpmysql.org/fr/theissue/customerspaythebill
La communauté PHP est aussi concerné, car PHP est souvent associé à MySQL
Alleï. Bonne année !!
Non non je ne vais pas m'en arrêter à ca.
Voici d'autres petites astuces ou choses à savoir...
1 jour = 24 heures x 60 minutes x 60 secondes ...soit 86400 secondes..
toujours ?
non : occasionnellement en juin et/ou en décembre on ajoute une seconde additionnelle et on a 86401 secondes donc l'heure 23:59:60 existe ces 2 jours là. C'est comme pour le 29 février tous les 4 ans. C'est pour corriger un décalage.
A propos de ces 29 Février. C'est vraiment tous les 4 ans ? enfin presque
Il n'y a pas de 29 février les années divisible par 100 qui ne sont pas divisible par 400.
Notez que ce n'est pas encore parfait car cela engendre encore une erreur de 3 jours tous les 10 000 ans.
Nos amis Suédois et russes ont même eut des 30 Février. Mais ca n'a pas eu beaucoup de succès (et en plus ce n'était pas en même temps).
Ce post m'a été inspiré par l'article : Unix Epoch and PHP's calendar system de Derick et du livre sur les Dates dans PHP (par Derick Rethans) que j'ai gagné au phpBelgium Meeting de Gent.
En php on utilise ISO 8601, toujours intéressant à lire.
On y trouve un entre autre un lien vers l'explication des numérotation de semaines qui est à l'origine de problèmes encontrés avec php ou mysql