by Alan Knowles <alan_k at php.net> translated by Arnaud Limbourg <arnaud.limbourg at cegetel.fr>

Une nouvelle semaine chargée vient de s'écouler. Cette dernière semaine a vu sortir 2 packages en version stable ainsi que 5 autres en version bêta. Divers sujets ont été abordés : un analyseur syntaxique (parser) SQL, de constructeurs et la gestion des erreurs, les standards, PEAR dans la distribution Linux PLD. De nombreuses contributions ont été faites et trois nouveaux packages ont été proposés pour intégration dans PEAR.


Nouvelles sorties

Stable

PHPUnit est un framework (ndt: je ne connais pas de traduction adéquate) permettant d'effectuer des tests de régression, Net_SMTP fournit une interface simple au protocole SMTP (transfert de courrier électronique),

bêta

Net_Dime qui supporte le standard du même nom (Direct Internet Message Encapsulation), SOAP pour le support du protocole et packages SOAP, DBA qui fournit une interface aux base de données de type DBM (procure une émulation à base de fichiers), PEAR_Frontend_Web : une interface web pour l'installateur PEAR et DB_DataObjects composé d'un constructeur SQL et d'une couche de modélisation de données.


Trafic de la liste de diffusion PEAR-DEV

DB::Sybase - Gestion des erreurs pour la couche d'abstraction de Base de Base de Données

Anotonio Carlos Venancio Junior s'est porté volontaire pour compléter les messages d'erreur du driver Sybase.

DBA - Le wrapper et analyseur syntaxique de SQL

Brent Cook finalise l'interface aux bases de type Berkley qui inclue de nombreux outils permettant de simuler le comportement d'une base de type SQL à partir de fichiers plats. L'un des composants est un analyseur syntaxique SQL qui pourrait être utilisé dans d'autres cas ... (ce module se nommait DB_DBA auparavant)

Constructeurs SQL et nouvelles fonctionnalités dans PEAR::DB

Plusieurs questions à propos de constructeurs SQL ou l'ajout de nouvelles fonctionnalités tel getMany, similaire à la couche d'abstraction de base de données de Python, ont été discutées. Il à été noté que PEAR::DB dispose d'une méthode autoExecute permettant de construire une requête à partir de tableaux. Une autre alternative étant le module DB_DataObject pouvant être utilisé pour traiter la construction de requêtes SQL. Des inquiétudes sur la taille du noyau de PEAR::DB ont été soulevées avec l'ajout de nouvelles méthodes comme getMany, une classe 'PEAR::DB étendue' pourrait être créée.

Le Zend Engine 2 et les Erreurs

Quelques points concernant le passage à PHP 5 et le Zend Engine 2 ont été abordés : le nouveau mécanisme de gestion d'erreur "try and catch" et le mot clé réservé delete. Stig (ndt: le "papa" de PEAR) à testé le Zend Engine 2 et a pu conclure que la méthode raiseError pouvait être considérablement simplifié. Sebastian Bergmann s'est penché sur l'ajout de assertSame() au module PHP_Unit_Assert qui supporte la comparaison d'objets sous le Zend Engine 2 uniquement. A propos du mot clé réservé delete il à été noté que les packages DBA et DB_DataObject utilisent des méthodes nommées ainsi ce qui ne fonctionne pas sous le Zend Engine 2. Brent a renommé les méthodes delete de DBA en remove pendant qu'Alan a commencé une discussion avec Andi (ndt: Gutmans, le End de Zend) afin de permettre l'utilisation de delete comme nom de méthode dans une classe. Il a reçu une réponse favorable, en attente d'une décision finale lors du retour de vacances d'Andi.

Mes remerciements aux nombreux contributeurs pour la notification de bugs et l'envoi de rustines

Dan Allen, James Flemmer, Paul Cooper, Marco Wittwer, Yavor Shahpsov

Weekly News - Publication et traductions

Alexander Merz traduit le weekly news en allemand, si vous êtes intéressé pour passer une heure par semaine pour traduire et/ou interpréter ce qui se passe dans la communauté PEAR dans une autre langue merci d'envoyer un message sur la liste de diffusion pear-dev. Le planning prévu est la finalisation du weekly news le vendredi, dans l'idéal les traductions doivent être prêtes le lundi ou mardi suivant... - des annonces seront postées le lundi, toutes les suggestions pour savoir où poster ces annonces sont les bienvenues.

La Distribution Linux PLD inclue PEAR

La Distribution Linux PLD (www.pld.org.pl) va distribuer les packages de PEAR sous forme de RPM. Stig à indiqué que le gestionnaire des packages PEAR à été conçu pour pouvoir être intégré dans d'autres gestionnaires de packages. PHP sera ainsi distribué avec 3 packages de base, les packages restant devant être installé grâce à l'installateur PEAR.
>

Chemins absolus contre chemins relatifs

Lukas Smith à suggéré l'utilisation de la fonction dirname(__FILE__) . '/filename.php' plutôt que l'actuelle forme 'package/filename.php' dans les require et include. Seulement un +1 (ndt: le système de vote, +1 signifie que la personne est pour et -1 contre, la comptabilisation des +1 et -1 permet de connaître l'acceptation d'une proposition) à pu être enregistré. Cependant, Lukas à plus tard noté que l'installateur PEAR serait perdu dans la résolution automatique des dépendances. Il à été noté que de nombreuses personnes n'utilisent pas toujours les packages PEAR situés dans le répertoire d'installation de PEAR, mais parfois dans des sous-répertoires de leurs applications et modifie l'include_path en utilisant ini_set().

Licences et encodage

Brent Cook à posté un article intéressant concernant son choix de la licence LGPL au lieu de la PHP pour le package DBA. Si vous cherchez quelle licence choisir pour votre package, c'est une analyse à lire (ndt: en anglais). Dans une discussion similaire une personne à demandé si PEAR pouvait être distribué en format 'encodé' (ex: grâce au Zend Encoder) ou équivalent. Les licences actuelles l'autorisent, à la condition que ce soient les versions non-modifiées de PEAR qui soient distribuées.

Les couches de transports XML_RPC et SOAP

James Flemmer à fournit une rustine pour XML_RPC afin d'autoriser les plugins pour la couche de transport - permettant ainsi l'utilisation de http, https, unix socket et carrier pidgeon... Shane Caraveo à proposé de coordonner les efforts sur le module SOAP afin de pouvoir partager les couches de transport.

Standardiser la fermeture des connexions.

Alexander Merz à suggéré de standardiser les noms des méthodes de connexion et déconnexion afin d'éviter le mélange existant de quit,close,open etc. - cette proposition à reçue un +1 (ndt: comme expliqué plus haut sur le système de vote, elle à été approuvée)



Propositions de Packages:

Authentification et Gestion des permissions

Markus wolff a proposé de pearifié (ndt: mettre aux standards de PEAR) ses classes de gestion des utilisateurs et des permissions afin de les ajouter à PEAR, il est intéressé par le feedback que d'autres utilisateurs peuvent lui fournir.

Template_Flexy  - Une autre classe de Templates

Alan (l'auteur de cette weekly news), à proposé l'addition de sa classe Template_Flexy dans PEAR. Il à reçu au moins un +1. Cette présente une API très simple, mixée avec une classe dont l'accent porte sur la rapidité d'une solution de templates, basé sur la classe simpletemplate de Wolfram.

PECL - smbc - Un module C pour un accès client à Samba

Jelmer Vernooij à annoncé la disponibilité de son module C permettant à PHP d'effectuer des appels utilisant la librairie cliente Samba (Windows Networking) (ndt: je n'arrive pas à traduire Windows Networking)


Développement

Ont été actif sur le cvs DBA, Net_Dime, SOAP, DB, PEAR,  PECL::soap, Mail_Mime, HTML_QuickForm, File_Password, Date, MDB, XML_CSSML, PHP_Unit, Net_SMTP, PEAR_Frontend_Web,

Documentation

La documentation DB_DataObject à été ajoutée au manuel