Thursday, 9 December 2004Nouvelle publication de patSpiderizer
Traduction du billet 'patSpiderizer v2.0.9 bugfix release' de php-tools:
Comme j'ai finalement eu le temps de m'occuper du bogue "cannot redeclare xmlrpc_decode()", j'ai publié une nouvelle version de patSpiderizer (v2.0.9) qui est disponible sur notre site. C'est juste une version pour corriger ce bogue qui était très énervant mais qui n'arrivait qu'avec des installations PHP ou l'extension xmlrpc était activée. Et ce tout simplement parce-que les noms des fonctions de notre librairie de connectivité xml-rpc étaient les mêmes... C'est probablement la dernière publication pour la version 2 (à part la correction de bogues), comme j'ai commencé à prendre des notes pour la nouvelle version 3. Cette nouvelle version sera entièrement réecrite, et va synthétiser l'expérience gagnée avec patSpiderizer et son grand frère XENA PolePosition (en allemand) que j'ai développé pour mon dernier employeur, Metrix Internet Design GmbH, en un programme. Le concept global va amener un peu de nouveau dans la scène du 'cloaking', je pense, comme il va être le premier à ne RIEN dissimuler Wednesday, 8 December 2004Publication de la v0.10.0 de Services_Ebay
Traduction du billet 'Welcome Adam - Services_Ebay 0.10.0 released' de php-tools:
Stéphane vient de publier une nouvelle version de sa librairie d'accès au WebService d'Ebay dans PEAR, Services_Ebay. Il s'est occupé d'un petit bug dans le modèle pour les articles, et implémenté la possibilité de changer la langue des messages d'erreur ainsi que de définir des options d'expédition pour les articles. Mais un grand changement est aussi que Stéphane a donné du carma CVS à Adam Trachtenberg, qui peut maintenant contribuer au projet directement via CVS. Il a déjà ajouté un premier patch, et il y en aura certainement d'autres à suivre. Alors, bienvenue Adam! Nouvelle proposition dans PEAR: HTTP_Cache
Traduction du billet 'New PEAR proposal: HTTP_Cache' de php-tools:
Stéphane vient de proposer une nouvelle librairie à inclure dans PEAR: HTTP_Cache. Cette librairie aide dans la gestion de requêtes GET conditionelles, et permet de limiter le trafic de vos sites en n'envoyant le corps de la requête qu'avec la première requête - pour toutes les autres, HTTP_Cache envoie un entête 304 (non modifié). C'est utile surtout si une page générée via PHP est très demandée mais ne change pas beaucoup, car le navigateur ne va pas la mettre dans son cache par défaut. Pour utiliser HTTP_Cache dans votre site, c'est très simple vu que la librairie s'occupe de tout, et peut même utiliser le tampon d'affichage. Pour l'inclure dans votre application, il suffit de quelques lignes de code: <?phpHTTP_Cache va générer un identifiant unique pour le navigateur actuel et envoyer les entêtes suivants: Cache-Control: must-revalidateÀ la prochaine requête, le navigateur va renvoyer le Etag au serveur, et HTTP_Cache va comparer cet Etag avec celui généré sur le serveur. Si les deux correspondent, un entête 304 sera envoyé au navigateur (aucune donnée ne sera envoyée): HTTP/1.x 304 Not ModifiedLe seul désavantage est que HTTP_Cache a besoin de générer une somme MD5 du contenu à envoyer au navigateur, ce qui peut ralentir légèrement votre apllication selon les cas. Mais d'utiliser le cache peut augmenter les performances globales du serveur comme il n'a plus autant de données à envoyer que sans le cache. Autrement, il est aussi possible de dire à HTTP_Cache quel identifiant utiliser - dans ce cas, la librairie n'a plus besoin de le générer elle-même par somme MD5. C'est surtout utile si vous sutilisez déjà un système de cache côté serveur qui a déjà généré un identifiant. Dans ce cas, vous pouvez vérifier si le cache du navigateur est valide pour ne pas avoir à charger la page: <?phpSi cette librairie vous intéresse, vous pouvez consulter la proposition dans PEAR ou télécharger la première version par notre site. Tuesday, 7 December 2004Le livre PHP5 Kompendium est disponible
Traduction du billet 'PHP5 Kompendium is now available' de php-tools:
Samedi dernier, alors qu'il faisait ses courses de noêl, Stéphane a trouvé le nouveau livre de Christian et Tobias dans les étalages. Assez attendu, ce livre fait un tour complet de PHP5 et est le cadeau de noêl parfait pour qui veut commencer avec PHP ou est à la recherche de techniques avancées (et comprend l'allemand, bien sûr En tout cas, félicitations à Christian et Toby de toute l'équipe de PHP Application Tools! Monday, 6 December 2004patBBCode rencontre patTemplate
Traduction du billet 'patBBCode describers meet patTemplate' de php-tools:
J'ai ajouté le Driver patTemplate à patBBCode: ce driver utilise un fichier ou des templates pré-chargés patTemplate pour générer le guide de balises. Gros avantage: le contrôle presque absolu sur le design du guide. Un bon exemple est de comparer le rendu du très simple driver HTML avec celui du nouveau driver patTemplate. En plus de rendre possible l'automatisation du rendu du guide de balises par patBBCode, le driver patTemplate a en plus une série d'options intéressantes:
Tests unitaires avec .phpt
Traduction du billet 'Unit testing with .phpt' de php-tools:
Dans la derniere édition du PHP Barnstormer, Aaron a fait un bon résumé du tutoriel de Greg sur l'utilisation de ces étranges fichiers phpt, et comment créer ses propres tests. D'après Stéphane, c'est la meilleure source d'information qu'il ait pu trouver à ce sujet. Avec la nouvelle classe PEAR_RunTest créée par Greg, l'utilisation de ces tests standard va être bien plus simple avec les librairies PEAR. Apparamment, cela a rappelé à Stéphane que nombre de ses librairies PEAR n'incluent pas encore de bons tests - une bonne occasion d'en ajouter au format phpt. Wednesday, 1 December 2004Publication de patTemplate 3.0.0 stable
Traduction du billet It's here! patTemplate 3.0.0 stable released de php-tools:
Stéphane a publié la première version stable de patTemplate, notre librairie de templates. Comlètement reprogrammé pour la version 3, patTemplate a aussi vu des chamgements au niveau de son architecture. Voivi une liste non ehaustive des fonctionalités actuelles:
Pour une liste complète des fonctionnalités, vous pouvez regarder les exemples en ligne, ou le blog de php-tools. Toujours pas convaincu? Peut-être qu ce petit bout d'information va vous convaincre: patTemplate a éte adopté par le CMS Mambo pour la prochaine version majeure. Et pour télécharger, c'est sur notre site, ou pour être à la pointe du développement et se faire quelques frissons, il y aussi les instantanés CVS. Publication de Services_Ebay 0.8.0
Traduction du billet Services_Ebay 0.8.0 released de php-tools:
Stéphane a publié une nouvelle version de sa librairie Services_Ebay dans PEAR, avec un changement en alpha comme l'interface commence à être plus stable. Cette version inclut quelques fonctionalités intéressantes: Services_Ebay offre maintenant une sorte d'introspection en permettant d'accéder a une liste de toutes les fonctions de l'interface en utilisant Services_Ebay::getAvailableCalls(). De plus, il est maintenant possible de changer 'identiofiant de site (siteId), ce qui veut dire que la librairie n'est plus limitée à ebay.com. Pour aider dans le débogage d'une application utilisant Services_Ebay, et aider Stéphane à analyser les bogues, il est aussi possible de capturer les donées XML brutes envoyées et reçues par le WebService d'Ebay. Mais la fonctionalité la plus intéressante, c'est surtout les modèles sur mesure, une idée partie du Power Workshop de Toby et Lukas. Ils utilisaient Services_Ebay en conjonction avec d'autres librairies de PEAR, mais voulaient enregistrer des données supplémentaires pour les articles dans une base de données. Pour y arriver, ils ont crée un object qui contenait une référence à un objet du type Services_Ebay_Model_Item, ainsi que les données additionnelles à enregistrer. Ca marchait, mais ça n'était pas très joli et peut vite devenir bordellique. Pour arriver au même résultat, il est maintenant possible de créer des modèles sur mesure pour remplacer ceux offerts par Services_Ebay - donc, de créer des classes pour les utilisateurs, articles, contacts, etc. Les données requises seront automatiquement enregistrées par Services_Ebay. Voilà un petit exemple comment on peut y arriver: <?php;C'est super simple et permet d'ajouter toutes les fonctionnalités dont vous pouvez avoir besoin sans encapsuler des méthodes ou de dupliquer du code. Filtres de données dans patForms
Traduction du billet 'Data filters for patForms' de php-tools:
Inspiré par les commentaires de Helgi sur patForms, Stéphane a commencé une nouvelle approche des filtres de données. Les filtres de données de patForms sont bien plus puissants que les filtres dans d'autres outils comme QuickForm, par ex - et voici pourquoi:
Parcontre, l'utilisation de ces filtres est quand-même plus hardue que les filtres de QuickForm, comme chaque filtre (indépendamment de sa réelle complexité) est un objet et doit être instancé avant d'être utilisable. On se retrouvait donc avec quelque-chose comme-ça: <?phpHelgi s'est plaint que dans la plupart des cas, on ne voudra appliquer que des fonctions PHP natives aux valeurs du formulaire, et que pour ça c'est un peu overkill (p.s. quelqu'un connaît une bonne traduction de overkill?)... Finalement, fidèle à lui-même, Stéphane a trouvé une petite idée qui vaut le détour: il a crée un nouvel objet filtre qui peut appliquer n'importe-quelle fonction native de PHP aux valeurs d'un formulaire. Jusque-là, rien d'extraordinaire - mais avec une nouvelle fonction dans la classe de base d'un élément, il est possible d'instancer et de configurer cet objet avec seulement une ligne de code. Ca réduit le code nécessaire en gardant la flexibilité originelle des filtres: <?phpEn plus d'une fonction qui filtre les données entrantes, il est possible d'en définir une seconde qui filtrera les données sortantes (vers le navigateur). Bien sûr applySimpleFilter() accepte aussi des méthodes statiques ou méthodes d'objets. Monday, 29 November 2004Première publication de patBBCode
Traduction du billet First official release of patBBCode de php-tools:
Mon parseur de balises BBCode, patBBCode, est disponible en v1.0.0beta. Cette petite librairie permet de transformer des balises BBCode dans n'importe-quel contenu ASCII, et est basée sur un parseur SAX. Une seule expression régulière suffit pour récupérer toutes les balises, ensuite la transformation des balises est gérée par des objects filtres très faciles à programmer, ou directement par patBBCode dans le cas de balises 'simples' sans attributs. La documentation complète est disponible, et comme d'habitude une série d'exemples aussi inclus dans l'archive d'installation permet de vite démarrer. Certains sont déjà familiers avec patBBCode, mais avec cette publication il y encore du nouveau. Les objets filtres peuvent maintenant ajouter leurs propres messages d'erreur, par ex. si un attribut vital manque. Mais la plus grosse addition est le Describer, un objet additionnel qui permet de décrire un objet patBBCode existant. En clair, le Describer peut être utilisé pour générer une documentation complète de toutes les balises autorisées. Disponible en plusieurs formats par le choix d'un Driver, cette documentation peut par ex. être affichée comme guide à l'utilisateur: Le bout de code ci-dessus donne ce résultat - vous le trouverez dans les exemples de la librairie. Pour l'instant, le driver HTML est très simple, je compte en ajouter un pour patTemplate qui permettra de générer cette documentation exactement dans le style de la page dans laquelle elle sera intégrée. Petit avantage de taille: la doc peut être générée dans une des trois langues intégrées, Anglais, Français et Allemand. Première publication officielle de patForms
Traduction des deux articles 'patForms 0.9.0 alpha released' et 'Bitflux adopts patForms':
Quelques-uns l'attendaient déja avec impatience, et nous y sommes finalement arrivés: patForms est disponible en v0.9.0 alpha par notre site (la plus grande partie de patForms est tout à fait stable c'est une version aöpha selon les parties que vous allez utiliser). Pour mémoire, patForms est notre librairie d'abstraction de formulaires, et offre une pléiade de fonctionnalités que nous avons implémentés pour finalement rendre le travail avec les formulaires agréable Un peu avant, dans un billet du blog de Bitflux, chegru écrivait qu'ils ont commencé a intégrer patForms dans leur Bitflux CMS. Une bonne nouvelle pour le projet, et qui montre que la librairie commence à être utilisée - même sans publication officielle. D'ailleurs, si vous vous demandez comment cela est possible, jetez un oeil à nos instantanés CVS, la doc ou les exemples (ces ressource sont disponibles pour la plupart de nos projets). Avec patForms, nous avons investi beaucoup de temps dans les exemples, vu que la documentation prendre un certain temps - chaque exemple est bien documenté, et ils suivent un fil qui permet d'apprendre a se servir de patForms un peu façon tutoriel. Nous attendons maintenant les échos de tous sur la librairie, pour continuer à l'améliorer et se débarrasser des quelques bogues qui s'y trouvent certainement encore. Stéphane a dit qu'il s'occuperait peut-être des formulaires multi-pages avec l'aide de l'équipe de Bitflux, et ensemble nous allons essayer de proposer patForms dans PEAR. Avec le support de déja plusieurs personnes favorables à cette intégration (Toby, Lukas, Klaus, Arnaud, Carsten, Aaron, Markus and Christian), cela ne devrait pas poser trop de problèmes... Wednesday, 24 November 2004Première version de Services_Delicious publiée
Traduction du billet 'First public release of Services_Delicious' de php-tools:
Stéphane vient de publier la première version de sa librairie Services_Delicious, une interface PHP pour accéder au WebService de type REST du site del.icio.us. Ce site permet de gérer sa collection de favoris (bookmarks) dans un répertoire online catégorisé, et que tout le monde peut consulter librement. On appelle ça du 'Social bookmarking', du partage de favoris. del.icio.us est un site de partage de favoris assez populaire, qui permet entre autres d'ajouter ou de consulter des favoris par un WebService utilisant un format XML transféré par HTTP. Services_Delicious permet un accès facile à une catégorie de favoris: <?phpL'ajout d'un nouveau favori est aussi facile: <?phpServices_Delicious offre une multitude d'autres fonctions, la doc pour l'API devrait bientôt être disponible sur le site de PEAR, et Stéphane a déjà commencé à écrire la doc utilisateur. J'ai aussi trouvé quelques liens intéressants en français: Tutoriel Delicious Tuesday, 23 November 2004Premiers pas pour la doc de Services_Ebay
Traduction du billet 'Started writing documentation for Services_Ebay' de php-tools:
Stéphane a commencé à écrire de la documentation pour sa librairie Services_Ebay (qui permet d'accéder à l'interface de Ebay d'une manière très simple). La librairie elle-même est encore en plein développement, mais Stéphane a commencé le premier chapitre pour vous guider dans les premiers pas. Le plus difficile au début est de créer un compte dans le Developer Program d'Ebay, de découvrir les procédures d'authentification ainsi que la Sandbox ('terrain de jeu') d'Ebay. Il espère ainsi attirer plus de développeurs, vu que l'utilisation de la librairie est bien plus simple que de comprendre le fonctionnement du Webservice d'Ebay! La documentation a déjà été intégrée dans le site de PEAR, mais comme la documentation ne sera mise à jour que ce Dimanche, d'ici là vous pouvez y accéder par l'environnement de test de Stéphane. Monday, 22 November 2004Remise à neuf de ToolGarage
Traduction du billet 'ToolGarage relaunched' de php-tools:
Un bon ami de notre équipe, Carsten (pseudo: luckec) vien de remettre à neuf son site perso, tool-garage.de. Le site a été réalisé entièrement avec patPortal, un projet sur lequel je travaille ensemble avec Stéphane et Carsten. Carsten, de son côté, a aussi travaillé sur PEAR::Date_Holidays ou encore l'extension PECL::id3 avec Stéphane. Son site est maintenant en anglais (aaah, mais c'est quand même mieux que l'allemand!), et vous y trouverez une série de projets très intéressants. Thursday, 11 November 2004patForms vole la vedette à la conférence
Traduction du billet 'It wasn't me!' de php-tools:
Apparamment, Aaron de la conférence à Francfort accuse Stéphane d'avoir ruiné le fête du jeudi soir, vu qu'il a fait une présentation en privé de notre librairie patForms en parallèle dans le bar d'à-côté J'ai aussi parlé avec Stéphane ce matin, et apparamment il a fait impression avec patForms - à tel point qu'il a réussi à me convaincre à intégrer patForms dans PEAR. Stéphane va proposer d'inclure la librairie dans PEAR dès qu'il aura récupéré de la conférence. Mais on n'ose pas encore trop penser au boulot de mettre toutes ces lignes de code au standard de PEAR...!
« Page précédente
(Page 2 de 3 sur 32 billets au total)
» Page suivante
View as PDF: Category php-tools | This month | Full blog |
Calendrier
Recherche rapideCatégoriesSites à voirLe site officiel de php-tools (en)
Le blog de pat (en) In Golgota, Bertrand Mansion (en) re:\legion (de) Le site de Stéphane (de) Projets JAVA de Stéphane (en) gERD down under (de|en) La Tool Garage de Carsten (en) Vidéos YouTube Spiders on drugs (en) Projets personnelsSyndiquer ce BlogCreative commons |
|||||||||||||||||||||||||||||||||||||||||||||||||
