En considérant les vacances estivales, PEAR a vécu une autre
semaine très active avec 2 sorties stables, 3 versions beta, des
discussions autour de PEAR dans Gentoo, de nouvelles catégories,
un nouveau manuel et un logo "Powered by PEAR".
Gentoo a intégré quelques modules PEAR dans Portage (système
de gestion des modules de Gentoo). La liste de ceux-ci est consultable sur
Gentoo dev-php.
Suivant l'introduction de bcompiler, il fût suggérer qu'une
nouvelle catégorie 'PHP' (ndt: dans l'arborescence des packages PEAR)
pourrait être très utile. Elle pourrait contenir des packages
comme PHPDoc, PHPUnit et bcompiler, étant tous des packages qui parsent,
compilent, testent des scripts PHP. Cette proposition fût, de manière
générale, bien acceptée et considérée
comme raisonnable.
L'autre suggestion, Template, serait destinée pour des packages
comme HTML_Template_IT, Template_Flexy, Template_Smart. Ces packages, résidant
actuellement sous HTML, peuvent servir pour d'autres types de fichiers (XML,
Email, RTF, ...) que l'HTML, les votes stoppèrent sur 2-3 pour, et
un contre.
La plupart des traducteurs ont signalé que le format HTML généré
par Mozilla pour les weekly news rendait la traduction difficile dans des
éditeurs tels Vi/emacs, etc... Alan accepta de nettoyer le code
avant de le publier sur le cvs. Deux traductions ont été ajoutées:
Antônio Carlos Venâncio Júnio (Brazilian Portuguese)
and Robert Janeczek (Polish). Les weekly news devrait utiliser gettext
(pour les titres principaux), cependant nous sommes toujours en attente d'une
confirmation des webmestres sur sa disponibilité.
Il est clair que Smarty doit être
disponible en tant que package PEAR, (sans même respecter les standarts
PEAR) et seuls quelques changements mineurs le ferait fonctionner en toute
transparence avec l'installeur de PEAR.
Stig continue de déplacer les parties non essentielles de PEAR hors
de la distribution PHP (laquelle pourrait contenir juste assez pour charger
le 'packager' pear et continuer).
Net_SMTP, Net_Curl, Mail sont maintenant dans le cvs principal de PEAR (seule
le package file va être distribué avec PHP-4.3, le QA va avoir
lieu bientôt).
La question du changement de bases de données en utilisant la couche
d'abstratction de PEAR a été soulevée, après discussion,
la méthode suggérée est la suivante :
$db->disconnect();
$db = DB::connect($new_dsn);
Ceci est la méthode recommandée, comme tous les systèmes de bases de données ne supportent pas le changement (au niveau de php) de bases. A ce propos, si quelqu'un veut implémenter une solution de changement de bases (pour celles qui le supportent), de déconnection (pour les autres), est le bienvenue pour envoyer les patches.
Lukas nous signala que MDB le gère correctement (ndt: Manuel confirma
la méthode utilisée, déconnection et reconnection).
Sur le même sujet, Tomas (ndt: Tomas V. Cox) indica qu'il désirait ajouter le support des curseurs dans le format DSN pour ODBC, par exemple :
odbc://user:pass@ds?cursor_type=SQL_CUR_USE_ODBC
Martin Jansen a ajouté un nouveau guide du dévelopeur dans
le manuel de PEAR, ceci afin d'aider à répondre rapidement aux
question fréquentes des dévelopeurs. Ce guide inclut, par exemple,
comment écrire le fichier de définition d'un package (package.xml)
et pourquoi les standarts de codage existent.
Alexander a terminé la révision complète du manuel
de PEAR, le rendant plus modulaire et plus aisé à étendre,
attendez vous à voir un tout nouveau manuel en ligne très bientôt.
Richard Wall envoya un patch pour permettre à DB_Pager::getData()
de retourner un nombre constant de pages, actuellement la méthode
de Google est appliqée . Il fût décidé de rendre
la nouvelle version 'user friendly' (ndt: je vous laisse traduire :) ) en
ajoutant une option supplémentaire à la méthode actuelle.
Bertand Mansion signala que Config_DB, containère du package Config,
écrivait le DSN complet (Database username,password etc.) quand certaines
erreurs apparaissait, ce n'est pas un effet très désiré.
L'attention des dévelopeurs fût attirée sur le fait d'imprimer
des messages d'erreurs incluant les mots de passes et autres données
sensibles n'était pas souhaitable.
Pour ceux qui ne suivent pas PHP-DEV, deux articles intéressants,
concernant la rapidité de php pour le passage par référence,
ont été signalés. Contrairement au C, php est actuellement
plus lent pour le passage de chaînes ou d'entiers par référence,
soyez donc attentifs à cette fonctionnalité dans les packages
nécessitant des performances spéciales.
Références :[http://www.zend.com/zend/art/ref-count.php]
and [http://phplens.com/lens/php-book/optimizing-debugging-php.php]
Open office envisage d'ajouter le format docbook pour le mode édition, et abiword peut exporter vers le format docbook, en l'état, aucune de ces deux solutions n'est pleinement satisfaisante. Actuellement, les meilleurs résultats sont obtenus par des éditeurs du type Vi, emacs ou n'importe quel autre éditeur text, ou, pour les utilisateurs Windows, XMetal. Lecture recommandée pour les auteurs, le php-doc how-to : http://cvs.php.net/co.php/phpdoc/howto/howto.html.tar.gz
Quelqu'un demanda si des snapshots de tous les packages de PEAR pourraient
être disponbile. En général, il y a relativement peu d'intérêt
à le faire (dû à la grande taille que pear devrait propablement
atteindre), a noter que si quelqu'un veut le mettre en place, il est le bienvenue.
Afin de fournir une solution proche et viable, la commande suivante devrait
être ajouté (ndt: déjà disponible sur le cvs):
pear upgrade-all
laquelle mettra à jour l'ensemble des packages installés vers la nouvelle version.
Merci à Paweł Gołaszewski, Matt Allen, James E. Flemer, Tal Peer and Dave Clark pour avoir mis aux jours quelques bugs et corrections.
Fabien Marty proposa une version édulcoré de la classe Cache,
avec comme but principal les perfomances (dans une classe unique), fonctionnement
sûre sous NFS et mise en cache de blocks. Apèes une âpre
discussion sur le nom à lui donner (inclut des suggestions comme Cache_Fast,
Cache_Simple, Cache_HighTraffic, Cache_RoadRunner, Cache_SpeedyGonzales
and Cache_BeepBeep), Cache_Lite fût choisi. A noter que des
solutions comme Zend Accelerator, PHPAccelerator et APC peuvent apporter
beaucoup si vos priorités sont la vitesse et la performance.