Archives pour la catégorie PHP

[Standards] Google répond à Microsoft pour OpenXML

Ces temps-ci, Google semble avoir très à coeur de tenir tête à Microsoft.

Leur dernier communiqué en date, au sujet de l’adoption d’OpenXML comme un standard ISO pour les formats ouverts de documents bureautiques, continue dans cette lignée. Il est question d’OpenXML (le format proposé par Microsoft) contre ODF (initialement proposé par Sun). Le premier aspire à la normalisation ISO, tandis que le second a déjà passé cette étape avec succès.

Ayant une très courte expérience avec ces deux formats, je ne me permettrai pas de me positionner comme juge de la situation. Cependant, je dois bien admettre qu’OpenXML est très séduisant par rapport à ODF. Pour s’en convaincre, il suffit de voir la différence entre les manières de mettre du texte en forme :

http://php.developpez.com/faq/?page=ooo#ooo-texte-mis-en-forme

http://php.developpez.com/faq/?page=openxml#openxml-texte-mis-en-forme

Il semble notamment très complexe de parser un document ODF avec le DOM. C’est dommage quand on se souvient que ce sont des documents XML. En revanche, OpenXML ne pose aucun problème avec une approche DOM.

D’après Wikipedia, l’OpenDocument Foundation, qui a pendant un temps supporté ODF, a désormais cessé de le faire en faveur d’un format similaire proposé par le W3C (ie. CDF). Depuis novembre dernier, la fondation aurait même fermé son site Internet.

J’apprécie beaucoup Google et la majorité de leurs travaux, et j’espère qu’ils ne perdront pas de vue leur slogan « don’t be evil ».

Podcast non officiel d’Apache

Depuis que j’ai du temps à tuer dans mes trajets en voiture, sans pour autant être gêné par le bruit ambiant (métro) et par le manque de place (lecture), mais ne pouvant me passer que de mes oreilles, je trouve les podcasts très intéressants en ce moment.

Ma dernière découverte est FeatherCast, le podcast non officiel de la fondation Apache. Ce sont principalement des interviews de speakers à des Apache Cons, et la sixième m’a semblée particulièrement sympathique. Notez que c’est un des derniers épisodes que j’ai écoutés, je connaissais donc déjà bien le présentateur Rich Bowen et cela y a probablement contribué.

L’épisode 6 de FeatherCast est un très bon résumé de ce qu’est une communauté, des interactions entre les intervenants (mailing lists, forums, IRC) qui sont en fait des personnes qu’il faut respecter,… C’est fondamental à découvrir, et cela fait du bien de se le rappeler de temps en temps.

Rich parle également de la manière de participer à un projet Apache (comment s’investir), ce qui peut dans une certaine mesure s’appliquer à de très nombreux projets Open Source, voire à n’importe quelle communauté comme Developpez ;)

En bref, je recommande vivement ce podcast à tout le monde, ou tout du moins cet épisode.

Voici l’épisode : http://feathercast.org/?p=17
Le site d’apache : http://apache.org/

[PHP] PDO 2: Request for Comments

Wez Furlong, d’OmniTI et php|architect, vient de demander l’opinion de la communauté PHP pour la conception de PDO v2.

Pour rappel, PDO a eu un très grand succès depuis son introduction dans PHP 5, car il permet à la fois de simplifier et de sécuriser le code SQL nécessaire à la très large majorité des applications PHP.

Il est donc naturel que la communauté cherche à améliorer cette approche. Puisque le design de PDO v1 est suffisamment efficace, il est prévu de conserver la compatibilité entre les deux versions (autant que possible).

Pour le moment, aucune fonctionnalité n’est vraiment planifiée. Le groupe de projet préférait résoudre les problèmes légaux de licnces ainsi qu’avoir le soutien des entreprises qui sont derrière les principaux moteurs de bases de données (ce qui est apparemment un succès), afin de pouvoir ensuite bénéficier de toutes les expériences. Le projet peut désormais aller de l’avant, c’est pourquoi Wez Furlong en appelle à tous les utilisateurs.

La très grande quantité d’acteurs intéressés par ce développement a conduit à la rédaction de trois documents juridiques :

Ces documents existent pour protéger tous les contributeurs. Il faut donc les remplir et les signer avant d’envoyer une contribution au projet PDO v2.

Notez la création d’une liste php.pdo pour l’occasion. C’est d’ailleurs dans cette liste qu’il faudra diffuser vos commentaires ;)
Wez a également publié la spécification de PDO, une bonne base pour rédiger la spécification de PDO v2 : http://www.php.net/~wez/pdo/pdo-spec.html

Si vous ne parlez pas anglais, vous pouvez aussi laisser vos commentaires ici : http://www.developpez.net/forums/forumdisplay.php?f=825

Lancement de Zend Studio for Eclispe et Zend Platform 3.6

Zend Platform 3.6 améliore 3 fonctions principales :

  • PHP Intelligence. Zend Platform surveille les applications PHP en temps réel et signale les erreurs de scripts, les problèmes de base de données, de performances, etc. Pour chaque problème signalé, des rapports détaillés replaçant les erreurs dans leur contexte permettent la reproduction immédiate des incidents, réduisant ainsi considérablement le temps de résolution et de remise en service. Cette version 3.6 offre désormais la capacité de surveiller les événements HTTP, Apache et Java. De plus, elle améliore les alertes de performance et facilite les diagnostics, en permettant le débogage des problèmes survenus en production sur les serveurs de développement.
  • Gestion de la performance. Zend Platform améliore la performance des applications PHP en mettant en cache le byte-code PHP pré-optimisé et le contenu. Dans la version 3.6, les options de mise en cache de contenu ont été étendues de façon significative, notamment avec le support du cache de page selon leurs URL. Outre cette fonction de cache puissante, Zend Platform 3.6 propose la compression automatique de données en sortie pour économiser la bande passante, la fonction job queues améliorée afin de permettre le traitement de données planifié, ainsi qu’un serveur de téléchargement amélioré pour la livraison optimisée de fichiers média et/ou de taille importante.
  • La gestion de Clusters. La Zend Platform s’intègre parfaitement dans les environnements clusterisés, améliorant d’autant la fiabilité et les performances globales des applications. Les options de haute disponibilité (liées aux sessions), de configuration de clusters et les outils de support ont également été améliorés avec Zend Platform 3.6.

Pour sa part, Zend Studio for Eclipse est commercialisé au prix de 399 € H.T. par développeur. Zend propose un prix spécial de lancement de 299 €HT pendant une durée limitée. Les utilisateurs de Zend Studio Professional, l’IDE leader du marché, qui possèdent un contrat de support en cours, recevront Zend Studio for Eclipse gratuitement.

Voici les communiqués :
Zend Platform 3.6
Zend Studio for Eclipse

L’internationalisation arrive enfin en extension PHP

Stas (Stanislav Malyshev) vient d’annoncer la sortie en version bêta de l’extension d’internationalisation (i18n) et de localisation (l10n) pour PHP. Il prévoit d’inclure cette extension avec PHP 5.3 (actuellement en développement).

Pour rappel, la seule différence entre PHP 5.3 et 6.0 sera la gestion complète d’Unicode. Cette extension d’internationalisation est donc un grand pas pour la branche 5.x de PHP.

Voici les premières classes disponibles :

  • Collator : Manipulation de chaînes ;
  • NumberFormatter : Manipulation de nombres ;
  • Locale : Informations sur la Locale ;
  • Normalizer : Uniformisation de texte en fonction de la locale ;
  • MessageFormatter : Construction abstraite de texte à partir des autres objets de l’extension.

Collator et FormatNumber permettent de travailler avec des chaînes et avec des nombres, de manière indépendante de la langue (ex : « français ») et de la localisation (ex : « fr-CA » ou « fr-FR »).
Locale et Normalizer permettent d’intéragir plus en détail avec la localisation et avec du texte localisé.
MessageFormatter est le maître d’orchestre, un nouveau sprintf() en quelque sorte.

L’annonce : http://php100.wordpress.com/2007/12/12/icuphplove/
La documentation (pas encore en français) : http://docs.php.net/manual/en/book.intl.php
Téléchargement : http://pecl.php.net/package/intl

[PHP] symfony organise une course le 20 décembre

Fabien Potencier vient d’annoncer un concept intéressant : une journée entière sera dédiée au projet symfony : corrections de bugs, mise à jour de la documentation, etc. Le plus intéressant est que l’on peut participer dpuis n’importe où, mais aussi sur place depuis les bureaux de Sensio à Suresnes, avec bière et pizza offertes !

Pour vous inscrire : http://trac.symfony-project.com/wiki/Sprint20071220

Google explique son utilisation des metas en HTML

John Mueller, analyste des tendances Web chez Google, vient de poster une explication des plus intéressantes sur l’utilisation faite par Google des balises META dans une page HTML ou XHTML.
Les seules balises d’en-tête de page dont il est question dans son message sont :

  • <title>…</title>
  • <meta name= »description » content= »… »/>
  • <meta name= »revisit-after » content= »… »/>
  • <meta name= »verify-v1″ content= »… »/>
  • <meta name= »GoogleBot » content= »… »/>

Il est explicitement fait mention de la balise « revisit-after » comme d’une balise inutile, car les moteurs suivent leurs propres règles à ce sujet. Par exemple, Google utilise la fréquence fournie dans le SiteMap du site plutôt que celle d’une balise méta.

En revanche, il n’est pas question des « keywords » bien souvent inclus dans toute page Web. Cela me semble être une autre indication en défaveur de l’utilité de cette balise de nos jours (et depuis plusieurs années).

En fait, les seules balises ayant de l’importance sont le titre de la page (d’importance capitale) et la description.

Le post : http://feeds.feedburner.com/~r/blogspot/amDG/~3/194893358/answering-more-popular-picks-meta-tags.html

Ajouter le Zend Framework à l’autocomplétion de code pour PHPEdit

Du blog de Waterproof :

PHPEdit supporte presque tous les frameworks (code hint et code insight), il suffit de le configurer.
Pour ajouter le support de Zend Framework :

  1. Afficher les préférences (F10) ;
  2. Dans Langages / PHP / Dépendances de fichiers, dans le chemin « include path », ajouter le chemin jusqu’au Zend Framework, cocher la case « récursivité », cliquer sur la génération du cache, puis Ajouter.

Pour rappel, vous pouvez conserver en permanence une version à jour du framework en utilisant une tâche planifiée ou une tâche cron et le repository SVN :

svn checkout http://framework.zend.com/svn/framework/trunk

PHP 5.2.4 voit le jour

Ilia Alshanetsky vient d’annoncer la sortie de PHP 5.2.4 avec plus de 120 correctifs de bugs et de sécurité.

L’une des améliorations de cette version est l’inclusion de PCRE 7.2 : de nouvelles possibilités s’offrent à nous, par exemple l’utilisation de \h ou \v pour les espaces horizontaux ou verticaux :

if(preg_match('~\h~', "1 02"))
{
    echo "ID incorrect";
}
 
if(preg_match('~\v~', "102\n"))
{
    echo "ID incorrect";
}

Pour télécharger PHP 5.2.4 : http://www.php.net/downloads.php

Google Sitemaps devient plus accessible

Jusqu’à maintenant, pour envoyer un Sitemap à Google, il fallait absolument respecter certaines contraintes.
L’une d’entre elles obligeait le webmestre à laisser le XML sur le domaine concerné par le sitemap. Par exemple en ayant les domaines g-rossolini.developpez.com et php.developpez.com, jusqu’ici je devais avoir chaque XML sur son propre domaine :

  • g-rossolini.developpez.com/sitemap.xml
  • php.developpez.com/sitemap.xml

Il est désormais possible de mettre à jour n’importe quel Sitemap depuis n’importe quel site, pourvu que l’on ait validé les autorisations au moyen de la procédure habituelle. Par exemple si j’ai deux domaines, il me suffit de valider auprès de Google que j’ai effectivement le contrôle des deux sites pour que chacun des deux puisse ensuite mettre à jour les deux Sitemaps. Cela permet donc à tout webmestre de faciliter la génération automatique de tous ses Sitemaps hébergés sur un même server physique…

Voici l’annonce : http://feeds.feedburner.com/~r/blogspot/amDG/~3/174987244/dealing-with-sitemap-cross-submissions.html