by Mika Tuupola (tuupola@appelsiini.net), Pierre-Alain Joye (paj@pearfr.org)

Afin de célébrer la sortie de PEAR en version stable et comme installeur par défaut de PHP 4.3.0, les Weekly News reviennent. Comme préface à cette édition, vous trouverez une interview de Stig S. Bakken, le fondateur du projet PEAR.

Cette semaine inclut des details sur le système de votes pour les propositions de packages, un tutorial PEAR pour Mac OS X, de nouveaux templates pour la documentation, et l'absence de PEAR dans la distribution binaires pour Win32.


UNE INTERVIEW DE STIG BAKKEN

par Pierre-Alain Joye (paj@pearfr.org)

Who's Stig Bakken ?

Stig (30) a travaillé avec Unix et les technoligies Web durant les 10 dernières années. Depuis 1999, il travaille comme ingénieur Software Senior pour Search&Transfer (FAST) in Trondheim, Norvège. FAST est le principal concurent de Google dans le marché OEM des moteurs de recherche, et Stig est le responsable technique pour les produits de recherche multimedias. Voir www.alltheweb.com (écrit en PHP) pour une démonstration.

Qu'est ce que PEAR ?

PEAR est un sous-projet de PHP qui tend à fournir plusieurs choses :
  • Une libraire de code PHP et d'extensions de haute qualité et réutilisable
  • Des directives de codages aidant à créer des composants avec APIs consistentes.
  • Un framework de packaging, de distribution et d'installation pour ces composants
  • L'acronyme signifie "PHP Extension and Application Repository". Nous avons Nous avons bien sûre créer l'acronyme avans sa signification.

    Qu'est-ce que PECL ?

    PECL (the PHP Extension Code Library) est un sous-ensemble de PEAR pour des extensions traditionnelles de PHP écrites en C ou C++.

    Quelles sont les relations entre PHP et PEAR/PECL, nous avons vu beaucoup, d'extensions migrer de PHP vers PECL (et il semble que d'autres vont suivre dans le futur) ?

    De plus en plus d'extensions bougent vers PECL, et avant la sortie de PHP 5, la plupart des extensions auront été marinées (PECL'ed). Ceci est la 1ère étape du changement dans la gestion de projet pour PHP. De futurs versions de PHP vont encore inclure beaucoup d'extensions, elles vont étre importées; durant le processus de release de PHP et inclut dans les archives de release.

    La raison pour laquelle nous faisons cela est de rendre le process de release gérable. Actuellement, une release PHP prend plusieurs mois. En important les releases stable des extensions PECL, nous allons avoir moins d'inconnus nécessitant des tests durant le processus QA de PHP, simplement parce que les extension de PECL ont déjà effectué leurs propres processus QA.

    Si tout se déroule bien, celà ramènera le processus de release de PHP a des semaines, plutôt que des mois, et augmentera la qualité générale des extensions incluses dans PHP. Je voudrais souligner que ce processus de marinage ne signifie pas que les utilisateurs n'auront pas d'extensions incluses dans PHP5.

    En outre, si des extensions sont compilées de manière partagé (pas compilées directement dans PHP, mais comme libraire dynamique), celà rendra possible la mise à jour individuelle des extensions, sans mettre à jour PHP.

    Quelles sont les différences entre le coeur de PEAR (le gestionnaire de package, les modules principaux) et le reste de PEAR ?

    Les packages "core" incluent dans PHP sont de deux types: ceux requis par l'installeur, et un ensemble de modules de haute qualité et considés d'intérêts communs. Le dernier ensemble de modules est le début de ce qui, si tout va bien, deviendra le "PHP Foundation Classes" (PFC).

    Est-ce que le gestionnaire de packages et la définition des packages peut être utilisés par n'importe quels dévelopeurs dans leurs projets, privés ou commerciaux ?

    Toute personne peut mettre en place sa propre copie de pear.php.net et l'utiliser pour distribuer des composants PHP maison. Il y a déjà quelques projets qui commencent à utiliser les outils PEAR pour leurs propres besoins.

    Quelles sont les prochaines grandes tâches pour PEAR ?

    La première de toute est le support Windows de l'installeur doit être solide. En raison des périodes de fêtes, la version windows de PHP 4.3.0 a été livrée sans PEAR. 4.3.1 va y remédier.

    Nous devons obtenir les releases binaires Win32 des packages PECL.
    Ensuite, nous avons besoin de mettre en service une infrastructure portable et fonctionnelle de signature de package, ainsi les utilisateurs pourront se sentir confiant lors de l'installation de releases binaires.
    C'est beacoup plus difficile pour PEAR que pour, disons, RPM, l'installeur PEAR fonctionnant sur une myriade de plateforme et de configurations PHP. Et il reste beaucoup de travaille devant nous pour la création du pland de migration PHP 5.

    De plus en plus de personnes sont impliquées dans la communautée PEAR, en ajoutant de nouvelles fonctionnalitées ou des modules alternatifs concurents, Comment gérez-vous celà ?

    Nous avons un système de votes sur la mailing list pear-dev, où les personnes collectent des votes pour un package spéfique. Habituellement, les packages ne sont pas rejetés, même si ils ont des fonctionnalitées proches d'autres packages. Mais depuis que nous avons une seule mailing list pour les dévelopeurs PEAR, des auteurs de packages concurents se retrouvent rapidement et trouve une bonne solution de leurs propres chefs. Mon rôle est de pousser du coude la communauté dans la bonne direction, de temps en temps.

    Traffique de PEAR-DEV

    Qui peut voter ?

    Cette question intéressante posée sur la lise demande si il faut avoir un compte CVS pour voter pour ou contre une proposition de package. Des Instructions sur comment contribuer à PEAR. Depuis que vous pouvez être un dévelopeur sans avoir de compte CVS, chacun sur la liste est qualifié pour voter.

    Tutorial PEAR sur Mac OS X

    Pierre-Alain Joye a signalé l'existence d'un bon tutorial sur comment installer PEAR sur Mac OS X. Il semble vraiment complet, commencant par le travail de fond en installant php CLI et renseigner correctement les variables d'environnement. Vous trouverez aussi des instructions comment: install et utiliser l'installeur PEAR, générer les documentation dévelopeur depuis phpdoc et, non des moindres, comment utiliser les classes PEAR dans vos applications. Lien supplémentaire: PHP and Mac

    Le tutoriel peut aussi être utilisé comme un guide d'installation de PEAR sur des unix traditionnels, la seule différence étant que vous désirez certainement compiler PHP CLI par vous-même.

    Ce qui nous manque est un tutoriel similaire pour windows.

    PEAR phpdoc template

    Christian Dickmann a annoncé que ses templates PEAR pour PHPDoc sont presque terminés et attend quelques retours et commentaires. Les templates eux-mêmes rendent vraiment bien. Des fonctionnalitées additionnelles, comme de générer des documentations depuis chaque package PEAR, visualiser ou télécharger les documents, ou uploader un package de dévelopement afin de visualiser le résultat avec cette mise en page.

    Les templates sont supposés être utilisés avec : phpDocumentor.

    Erreur dans la distribution Windows

    Afin d'ajouter encore plus de confusion pour les utilisateurs Windows avec les problèmes d'installation de PEAR, l'installeur n'a pas été inclut dans la distribution binaire Windows. Cette erreur va être corrigée avec la version 4.3.1 .

    Bugs and Fixes

    Thanks to these people for spotting and fixing some bugs: Lorenzo Alberton, Tobias Schlitt, Michele Manzato, Markus Wolff


    Nouveau package et propositions

    HTTP_Header, HTTP_Header_Cache

    Wolfram Kriesing propose de nouveaux packages implementant des métodes courantes pour les headers ainsi que pour la gestion des headers cache.

    DB_Abstract

    Wolfram Kriesing propose aussi un constructeur et exécuteur de requêtes basé sur DB. Ce package a quelques points similaires avec DB_DataObject mais est focalisé sur la construction de la requête.

    Enterprise A&A

    Tony Bibbs suggéra un nouveau package d'authentificatione et de permission. Après quelques discussions, la possibilité de fusionner son package avec LiveUser emergeât.

    GTK_VarDump

    Alan Knowles propose une classe de visualtion d'un VarDump dans une fenêtre GTK.


    Development

    Active on CVS this week has been: Net_SMTP, DBA_Relational, PECL::session_pgsql, PHPUnit, DB, MDB, XML_Transformer, HTML_QuickForm, PECL::soap, Net_SmartIRC, Cache_Lite, HTML_Template_Xipe, PECL::tclink, Net_SMTP, Mail, Perm_LiveUser, I18N, Spreadsheet_Excel_Writer, Pager_Sliding, XML_XPath, Net_UserAgent, Image_GIS, File_HtAccess, HTML_TreeMenu, DB_QueryTool, HTTP_Header