La nouvelle version de ce webmail écrit en PHP est disponible depuis samedi.
Cette version vient corriger quelques bugs, et améliore la stabilité de l'application. Cette release vient notamment améliorer le traitement des emails mal-formés, et la communication avec certains serveurs de mail qui posaient problème jusqu'à maintenant.
Téléchargement
Site officiel
Le webmail Internet Messaging Program est disponible en version stable 4.1.5.
Cette nouvelle release, en plus de corriger quelques bugs, vient avec de nouvelles traductions pour certaines langues comme le chinois, le tchèque, ou le polonais.
Rappelons que ce webmail écrit en PHP est scindé en deux branches: la branche 4.1.x du projet IMP s'appuie sur la version 3 du framework Horde (d'où le nom IMP H3), tandis que la branche 3.8.x fonctionne à l'aide de Horde en version 2.
Téléchargement
Site officiel
La version 5.1.22-rc de MySQL est disponible pour le téléchargement.
Parmi les changements disponibles sur cette version, une fonctionnalité a été modifiée :
Parmi les bugs corrigés, quelques exemples :
For those caring, I just posted some quick documentation for the pagination component at my assembla space. More docs will follow (including extensive phpdoc docblocks I hope).
For those caring, I just posted some quick documentation for the pagination component at my assembla space. More docs will follow (including extensive phpdoc docblocks I hope).
Un article vient de paraître sur le site de Zend concernant Standard PHP Library (SPL).
Cette librairie d'interfaces et de classes PHP standard, permet aux développeurs de profiter pleinement de la programmation orientée objet avec PHP5. Quelques explications sont données sur le fonctionnement de cette librairie ainsi que des exemples d'applications.
SPL, directement intégré avec php5, peut être utile pour le développement d'application orientée objet, car elle propose notament des classes pour la gestion de fichiers, la gestion de tableaux, la connexion aux bases de données, simplexml, etc.
L'articleDepuis début 2006, Microsot et Zend travaillent ensemble sur un projet visant a augmenter la fiabilité de PHP sur Windows Server 2003 et 2008.
Une partie de cette collaboration vise à produire un nouveau composant pour IIS 6 et IIS 7 nommé FastCGI permmettant d'utiliser, de manière stable, des applications PHP avec IIS.
Une première version beta de FastCGI pour ISS 5.1/6.0 est disponible gratuitement.
Télécharger FastCGI pour ISS 5.1/6.0
Site officiel
Today I ran into an issue that I already ran into a few weeks ago when I did not have time to dig up, but today I had this time (this plus it's a really annoying issue as you'll see). The main symptom is that PDO does not throws exceptions when you'd expect it to. It's very annoying. The reason, in my case, seems to be that I am querying an old mysql (3.23.x in my case but any 4.x will do according to this bug report). I was not able to find any info from google, so I'm posting this here so that people know :-)
Today I ran into an issue that I already ran into a few weeks ago when I did not have time to dig up, but today I had this time (this plus it's a really annoying issue as you'll see). The main symptom is that PDO does not throws exceptions when you'd expect it to. It's very annoying. The reason, in my case, seems to be that I am querying an old mysql (3.23.x in my case but any 4.x will do according to this bug report). I was not able to find any info from google, so I'm posting this here so that people know :-)
Yesterday, I released the first version of eZVideoFLV , a new extension providing a datatype to store, handle and convert to FLV video files. It's based on the default ezmedia datatype . It mainly adds three features :
The extension is bundled with FLV Player which is released under the MPL 1.1 license. The rest of the extension is released under the GNU GPL licence 2. All information (requirements, installation, screenshots ,...) can be found in the project page on projects.ez.no and I put an example on this site .
Alors ça c'est du lourd : Symfony propulse del.icio.us preview.
Il parait que Symfony rame, sauf chez Yahoo!. Poltergheist ? 
Alors ça c'est du lourd : Symfony propulse del.icio.us preview.
Il parait que Symfony rame, sauf chez Yahoo!. Poltergheist ? 
Pour un projet, je suis en train d'utiliser la librairie javascript jQuery dans Symfony, en lieu et place du couple prototype et scripaculous dont je vous avait déjà parlé.
L'idée est ici de ne pas avoir à utiliser les helpers fournis par Symfony (qui mettent en oeuvre exclusivement Scriptaculous) et ainsi d'éviter d'utiliser les deux librairies simultanément sur le projet, mais aussi de décoreller le code javascript des templates et de favoriser une meilleure dégradabilité de ce dernier.
Par exemple, au lieu d'utiliser la fonction link_to_remote() dans notre template, on peut tout à fait imaginer d'employer un bon vieux link_to() des familles et de lui appliquer une classe css qu'on va pouvoir cibler depuis jQuery afin d'effectuer un appel AJAX pointant vers l'url présente dans l'attribut href du lien. Avec un exemple, c'est un peu plus clair :
<?php echo link_to('Mon lien', '@maroute?monparam=mavaleur', array('class' => 'ajax_link')) ?>
Dans un fichier javascript (jQuery doit bien entendu être chargé) :
$(document).ready(function() { $('a.ajax_link').click(function() { $.ajax( { type: 'post', url: $(this).attr('href'), success: function(msg) { alert("Résultat: " + msg); } }); return false; } ); });
Avantage supplémentaire, vous continuez à bénéficier du système de routing Symfony (pas d'urls en dur dans les fichiers javascripts externalisés.)
Là où Symfony va également nous aider, c'est au travers de sa gestion native de la décoration d'une vue en fonction du type d'appel HTTP : le framework va detecter si l'action a été appelée ou non depuis une requête XmlHttpRequest et, si c'est le cas, décorer la vue avec le layout global de l'application et donc présenter à vos utilisateur le résultat escompté, qu'ils aient activé javascript ou non pour surfer sur votre site.
Si vous désirez mettre à jour un élément de l'arbre DOM avec le contenu reçu d'une requête Ajax, voici une autre petite astuce ; on va utiliser une ancre dans l'url et s'en servir comme argument décrivant l'id DOM qu'on veut mettre à jour :
<?php echo link_to('Mon lien', '@maroute?monparam=mavaleur#mon_div', array('class' => 'ajax_link')) ?> <div id="mon_div" style="display:none"></div>
Et en javascript :
$(document).ready(function() { $('a.ajax_link').click(function() { var href = $(this).attr('href'); var target = href.substring(href.lastIndexOf('#'), href.length); $.ajax( { type: 'post', url: href, success: function(msg) { if ($(target)) { $(target).html(msg).show('slow'); } } } ); return false; } ); });
Note : on aurait pu aussi détourner l'attribut target à cette fin mais ce dernier n'est pas valide en XHTML strict.
Bien entendu, ceci n'est qu'un microscopique aperçu de l'étendu des possibilités de jQuery et de son intégration possible avec Symfony (ou d'autre frameworks et langages, bien entendu.)
Pour un projet, je suis en train d'utiliser la librairie javascript jQuery dans Symfony, en lieu et place du couple prototype et scripaculous dont je vous avait déjà parlé.
L'idée est ici de ne pas avoir à utiliser les helpers fournis par Symfony (qui mettent en oeuvre exclusivement Scriptaculous) et ainsi d'éviter d'utiliser les deux librairies simultanément sur le projet, mais aussi de décoreller le code javascript des templates et de favoriser une meilleure dégradabilité de ce dernier.
Par exemple, au lieu d'utiliser la fonction link_to_remote() dans notre template, on peut tout à fait imaginer d'employer un bon vieux link_to() des familles et de lui appliquer une classe css qu'on va pouvoir cibler depuis jQuery afin d'effectuer un appel AJAX pointant vers l'url présente dans l'attribut href du lien. Avec un exemple, c'est un peu plus clair :
<?php echo link_to('Mon lien', '@maroute?monparam=mavaleur', array('class' => 'ajax_link')) ?>
Dans un fichier javascript (jQuery doit bien entendu être chargé) :
$(document).ready(function() { $('a.ajax_link').click(function() { $.ajax( { type: 'post', url: $(this).attr('href'), success: function(msg) { alert("Résultat: " + msg); } }); return false; } ); });
Avantage supplémentaire, vous continuez à bénéficier du système de routing Symfony (pas d'urls en dur dans les fichiers javascripts externalisés.)
Là où Symfony va également nous aider, c'est au travers de sa gestion native de la décoration d'une vue en fonction du type d'appel HTTP : le framework va detecter si l'action a été appelée ou non depuis une requête XmlHttpRequest et, si c'est le cas, décorer la vue avec le layout global de l'application et donc présenter à vos utilisateur le résultat escompté, qu'ils aient activé javascript ou non pour surfer sur votre site.
Si vous désirez mettre à jour un élément de l'arbre DOM avec le contenu reçu d'une requête Ajax, voici une autre petite astuce ; on va utiliser une ancre dans l'url et s'en servir comme argument décrivant l'id DOM qu'on veut mettre à jour :
<?php echo link_to('Mon lien', '@maroute?monparam=mavaleur#mon_div', array('class' => 'ajax_link')) ?> <div id="mon_div" style="display:none"></div>
Et en javascript :
$(document).ready(function() { $('a.ajax_link').click(function() { var href = $(this).attr('href'); var target = href.substring(href.lastIndexOf('#'), href.length); $.ajax( { type: 'post', url: href, success: function(msg) { if ($(target)) { $(target).html(msg).show('slow'); } } } ); return false; } ); });
Note : on aurait pu aussi détourner l'attribut target à cette fin mais ce dernier n'est pas valide en XHTML strict.
Bien entendu, ceci n'est qu'un microscopique aperçu de l'étendu des possibilités de jQuery et de son intégration possible avec Symfony (ou d'autre frameworks et langages, bien entendu.)
C’est mes potes! Des fidèles de chez fidèles du forum PHP et de l’AFUP. Ils sont même venus suivre une formation chez Anaska.
Maintenant qu’il sont riches, j’espère qu’ils vont nous payer une bonne bouffe au forum de cette année
L’annonce officielle :
Le projet Claroline (plate-forme libre d’apprentissage à distance) va être récompensé par le prix UNESCO - Roi Hamad Bin Isa Al-Khalifa 2007 pour l’utilisation des technologies de l’information et de la communication dans l’éducation (TICE). Il est lauréat avec le projet américain Curriki.
Le Directeur général de l’UNESCO remettra leurs prix aux deux lauréats – un diplôme et un chèque de 25 000 USD pour chacun d’eux – au cours d’une cérémonie qui aura lieu au siège de l’organisation, le 19 décembre prochain. Les lauréats ont été choisis parmi 68 projets menés dans 51 pays et une organisation non gouvernementale internationale active dans le domaine de l’accès libre à l’éducation.
Le Prix est placé sous le haut patronage de Sa majesté le Roi Hamad Bin Isa Al-Khalifa du royaume de Bahreïn.
La plate-forme developperWorks d'IBM nous propose un article sur l'utilisation de l'unicode en PHP 5.
L'encodage du texte est une problèmatique récurrente dans le développement web, que ce soit dans le seul but de sauvegarder l'intégrité des caractères accentués, ou dans le cadre de l'internationalisation complête d'une application.
Le standard unicode a été créé pour répondre à cette problèmatique en permettant de stocker tout type de caractères, qu'ils soient cyrilliques ou chinois. A l'heure actuelle PHP ne gère pas nativement l'unicode, mais offre néanmoins de nombreuses fonctions permettant de l'utiliser dans ses scripts.
En attendant la version 6 de PHP, dont la prise en charge en natif de l'unicode sera un des principaux apports, l'article d'IBM nous explique les possibilités actuelles de PHP 5 et MySQL concernant l'utilisation du language unicode et de l'encodage UTF-8.
IBM: Unicode for the working PHP programmer
Ces vidéos sont publiés sur les sites de partagent de vidéo. Ce sont des tutoriels enregistrés, des sessions de conférences, des screencast ou encore des slides de conférences.
N'hésitez pas à nous contacter pour signaler tout media qui mérite d'être ajouté à cette liste.
Vous pouvez vous inscrire pour le Forum PHP ayant lieu les 21 et 22 novembre 2007.
Réservez vos places dès maintenant !
http://www.afup.org/pages/forumphp2007/inscription.php
Vous pouvez vous inscrire pour le Forum PHP ayant lieu les 21 et 22 novembre 2007.
Réservez vos places dès maintenant !
http://www.afup.org/pages/forumphp2007/inscription.php
Version 6.6 of the Asbru Web Content Management system for PHP, ASP and JSP/Java has been released.
In this latest release an advanced workflow engine to manage the publication of website content has been added. The implementation is designed to support almost any organization's existing website publishing business processes. The workflow engine can handle multiple workflow definitions at the same time. Additionally any number of workflow steps is possible so there is no limit to the number of organizational departments that can be involved in publishing of website content.
Efficient and Controlled Website Publishing
The new workflow engine is fully integrated into the CMS making the publishing of website content very efficient. Users have their own personal workspace, which gives them a quick overview of content allocated to them and waiting for their review. As content moves through the workflow users are alerted via email to new content allocated for their review. It is also possible to configure the system so that any user can view where content is in the workflow process providing control of the publishing process and transparency across the whole organization.
Flexible Workflow Definitions
Several workflow definitions can be created and enforced for different sections of a website and for various types of content including pages, products, image media, audio files, electronic documents and other files. Additionally the actions and the organizational departments and users permitted for each workflow step are fully configurable. Some steps may for example involve editing the content while other workflow steps only enable users to view the content and approve or reject. Workflow definitions are easily created and diagrams provide a quick overview of all the workflow actions in the system.
For a free online trial of the new version of the Asbru Web Content Management system: http://wcm.asbrusoft.com.
About Asbru Web Content Management
The Asbru Web Content Management system is a full-featured and ready to use out-of-the-box enterprise level solution. It is available for PHP, ASP and JSP/Java and runs on Microsoft Windows, Linux, Unix and Mac OS X. The system enables users to update web content through Internet Explorer, Mozilla/Firefox and Safari web browsers. For more information about Asbru Web Content Management: http://wcm.asbrusoft.com.
Proposé par David Fisher
PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes :
PHP 5.2.4 et 4.4.7; MySQL 5.0.45 (communauté) et 5.0.45 (entreprise), 4.1.22, ainsi que 5.1.21-beta. Les mises à jour sont recommandées vers ces versions.
3 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
Gallery, Xoops et phpBB
eZ Publish 4 arrive enfin, une première version alpha est sortie jeudi dernier basée sur le portage communautaire débuté par Kristof Coomans et Paul Borgermans . En terme fonctionnel ce ne sera probablement pas une révolution mais le principal atout de cette version est évidemment le support tant attendu de PHP5 (les utilisateurs de distribution Linux ne supportant que PHP5 vont apprécier). En plus de cela, je retiens deux points qui apportent des perspectives intéressantes :
L'intégration des eZ Components permettra dans un premier temps d'utiliser ces composants dans les extensions en attendant qu'ils soient réellement intégrer dans eZ Publish en lui-même. Cela ouvre déjà pas mal de perspectives intéressantes, en tout cas j'ai plein d'idées :-)
Le second point paraît plus anodin mais en fait, en plus de simplifier la vie du développeur, il pourra permettre de modifier facilement une classe du kernel eZ Publish sans vraiment le modifier. Ce n'est bien sûr pas recommandé mais c'est malheureusement parfois nécessaire et là on pourra le faire de manière presque propre.
LLaumgui parle aussi de cette sortie avec un commentaire instructif de Paul Borgermans .
À côté de cet évènement eZ Publish 3.10 est sorti avec des nouveautés fonctionnelles intéressantes (qui sont aussi de fait dans eZ Publish 4), en particulier :
J'ai testé les nouvelles fonctionnalités autour des URL en développant eZVideoFLV avec la 3.10beta ; habitué des _ et de l'ASCII c'est assez déroutant mais c'est enfin configurable et extensible, ça ne peut être que mieux. Je n'ai pas encore testé le datatype Multi-options2 mais ça ne saurait tarder.
Les versions 3.9.4 et 3.8.10 sont également sorties corrigeant deux failles de sécurité. Bref quoi qu'il arrive, des mises à jours sont à prévoir. Pour moi ce sera probablement en 3.10.x voire en 4.0 si une beta pointe le bout de son nez dans pas trop longtemps.
Enfin Clever Age publie sur son blog un article plutôt pertinent sur le support un peu délaissé des SGBD autres que MySQL par eZ Publish (qu'ils ne savent par contre pas orthographier correctement :p).
La prochaine version de eZ Publish, 4.0, vient d'être publiée en alpha, avec le support attendu de PHP 5. Il est désormais possible de faire tourner le célèbre CMS sur une plate-forme PHP 5.
eZ Publish 4.0 pave la voie pour l'intégration des eZ components, améliore les performances, le support des clusters, et la recherche.
En voilà une nouvelle qu'elle est bonne ! En effet, parmi les "gros" framework du marcher, eZ Publish restait l'un des derniers à ne pas avoir encore annoncé sa migration vers PHP5. Malgré tout, il ne s'agit pas d'une véritable migration dans le sens où l'architecture du moteur reste en PHP4 (pour le moment ?), mais sera capable de tourner sur un serveur PHP5.
Celà reste un bon point pour les agences qui pourront faire leurs développements spécifique en PHP5.
D'autre part, l'amélioration des performances des "components" ne sera pas négligeable non plus.
La prochaine version de eZ Publish, 4.0, vient d'être publiée en alpha, avec le support attendu de PHP 5. Il est désormais possible de faire tourner le célèbre CMS sur une plate-forme PHP 5.
eZ Publish 4.0 pave la voie pour l'intégration des eZ components, améliore les performances, le support des clusters, et la recherche.
En voilà une nouvelle qu'elle est bonne ! En effet, parmi les "gros" framework du marcher, eZ Publish restait l'un des derniers à ne pas avoir encore annoncé sa migration vers PHP5. Malgré tout, il ne s'agit pas d'une véritable migration dans le sens où l'architecture du moteur reste en PHP4 (pour le moment ?), mais sera capable de tourner sur un serveur PHP5.
Celà reste un bon point pour les agences qui pourront faire leurs développements spécifique en PHP5.
D'autre part, l'amélioration des performances des "components" ne sera pas négligeable non plus.
MemHT est un portail de génération de site internet intéressant à plus d'un titre.
La simplicité en est sa caractéristique principale où il semble enfin aisé de gérer son propre site internet sans aucune connaissance en langage informatique.
MemHT est un portail Web ( CMS ou SGC ) écrit en PHP/MySQL par Miltenovik Manojlo (Italie) et déjà disponible en 13 langues.
Sa venue en France est très récente, mais à pour but d'offrir à la communauté Francophone une version totalement française, ainsi qu'un support s'y référant.
MemHT a pour arme principale, une simplicité extrême d'utilisation et d'installation tout en conservant une gestion des droits éprouvée et une touche d'Ajax là où ça va bien, pas d'abus de cette technologie trop souvant gourmande, mais des fonctions clefs rendant son utilisation bien agréable (bien évidemment nous pouvons retrouver une intégration du framework scriptaculous, référence en la matière) .
MemHT est livré actuellement en version 3.2, apportant 'comme tout CMS' son lot de nouveautés et de correctifs.
MemHT c'est :
- un forum ultra simple et performant
- une galerie en Ajax du plus bel effet
- une FAQ
- un guide
- une messagerie privé
- un gestionnaire d'articles
- des RSS
- un plan du site
- une fiche contact
- l'url rewriting nativement intégré
- une administration extrêmement simple
- etc etc
Le meilleur moyen de vous faire un avis est tout simplement de tester MemHT pour savoir si il peut répondre à vos attente.
Vous retrouverez les sources françaises sur:
- www.memht-france.com
Le site officiel de développement:
- www.memht.com
Souhaitant que MemHT vous apporte autant de satisfaction qu'à nous même.
Profitez pleinement de la simplicité de MemHT pour votre projet internet.
Proposé par Cyril Levert
Warning: Missing argument 1 for test()
Warning: Missing argument 1 for test(), called in (Fichier) on line 3 and defined in (fichier)
Warning:this article explains some hacks I had to do to upgrade quickly to eZ Publish 3.10. These modifications can be dangerous for your data, use them at your own risk and don't forget to make backups !
Waiting for a more stable version of eZ Publish 4 , I've upgraded my site from eZ Publish 3.9.2 to eZ Publish 3.10.0. My last upgrade was quite long , but this one could have taken ages ! As I mentioned in the developper forum , the updateniceurls.php script started with this message :
> tigrou@dedipwet[88.191.30.29]:~/web/pwet.fr/www310$ php4 bin/php/updateniceurls.php -s plain_site_admin Using siteaccess plain_site_admin for nice url update Importing old url aliases Importing 62638 standard urls ........................................................ 0.09% 45h 46m 8s ........................................................ 0.18% 86h 55m 44s ........................................................ 0.27% 106h 58m 2s ........................................................ 0.36% 155h 18m 55s
WOW 155 hours, and just for the first step ! In fact, I don't want to change my URIs (Cool URIs don't change !) so I put these lines in site.ini.append.php :
[URLTranslator] TransformationGroup=urlalias_compat
But even with these settings, the script tries to regenerate all URL aliases. After some searches, I found that eZURLAliasML::storePath() takes most of the time by calling several times eZURLAliasML::convertToAlias() on strings that are in my case already URL aliases ! This behaviour can be avoided by setting the $cleanupElements parameters to false (its default value is true) in the code of updateniceurls.php. eZURLAliasML::storePath() also calls eZURLAliasML::strtolower() several times. This method uses eZCharTransform to do an advanced strtolower but in my case with my existing ASCII URL aliases, there's no need of it. I has just replaced this code with a simple PHP strtolower() ( don't forget to remove this hack after upgrade !).
With those hacks, eZURLAliasML::storePath() takes about 0.02 second per URI where the original code took between 0.6 and 10 seconds !
By following the upgrade documentation , the rest of the upgrade was, as always, quite easy.
Extrait du communiqué officiel (un peu personnalisé)
La grand messe annuelle des utilisateurs de PHP réunira de nombreuses personnalités du monde PHP : le père du PHP Rasmus Lerdorf, Andrei Zmievski, développeur du langage PHP et expert unicode, Derick Rethans, créateur de Xdebug et architecte à eZ Systems, ou encore … moi
Organisé à Paris, les 21 et 22 novembre prochains par l’Association Française des Utilisateurs de PHP (www.afup.org), le Forum PHP 2007 propose 2 journées de conférences, orientées, fonctionnel et technique. Une occasion unique d’échanges avec l’ensemble de la communauté PHP française, les meilleurs spécialistes, et les entreprises utilisatrices.
Informations et inscriptions : http://www.afup.org/pages/forumphp2007/
Le forum PHP 2007 se tiendra les 21 et 22 novembre à Paris. Des intervenants de renom : Rasmus Lerdorf (créateur du PHP) et Andrei Zmievski (responsable du développement de PHP 6) y seront présents.

Ce forum s'adresse à tous ceux qui développent des applications Web. La première journée est axée sur le domaine fonctionnel, la deuxième est orientée technique.
Le forum PHP organisé par l'Association Française des Utilisateurs de PHP (AFUP) est une occasion unique de rencontrer la communauté et les professionnels de PHP. Plus d'informations sur http://www.afup.org/forumphp/
Nouvelle version du CMS e107, encore en final cette année de l'Open Source CMS Award de packtpub.com...
Cette nouvelle version à télécharger sur http://e107.org vient corriger des bugs essentiellement.
La prochaine version majeure est déjà en cours de réalisation et apportera beaucoup plus de ouvelles fonctionnalités que celle-ci.
Néanmoins il est fortement recommendé de mettre son système à jour.
Plus d'infos en français, sur le site communautaire:
http://etalkers.tuxfamily.org
Proposé par Lolo Irie
Sortie du mod Phpbb-Seo mod Rewrite phpBB SEO Intermédiaire pour BBtonuke
Ce mod réécrit les URLS des forums BBtonuke (phpBB intégré dans le CMS PhpNuke) en injectant le titre des catégories et forums dans leurs URLS. Les URLS des sujets utiliseront une réécriture statique : topicxx.html
Lien pour le téléchargement du module
Lien vers la démo du module : ici
Lien vers le forum ou est assuré le support : ici
Il est vivement conseillé de l'installé en complément du mod
Zero duplicate pour une optimisation du référencement de votre forum sans Duplicate Content ;)"
Proposé par Vespa