Tuesday, 4 January 2005HTTP_SessionServer v0.4.0 disponible
Traduction du billet 'HTTP_SessionServer 0.4.0 available' de php-tools:
Stéphane (de) vient de publier une nouvelle version de sa librairie HTTP_SessionServer (en), un serveur de session qui permet de stocker des paires clé/valeur et communique avec n'importe-quel type de client avec un protocole très simple. À part quelques petits changements purement cosmétiques, cette version (en) a aussi un nouveau module de stockage contribué par Carsten Lucke (en). Ce module enregistre les données de session dans une base de données en utilisant la librairie d'abstraction DB de PEAR. Pour démarrer avec HTTP_SessionServer, le mieux est pour l'instant la présentation (en) que Stéphane a faite à la conférence PHP de Frankfort l'année dernière. Mais non, pas 2003 - 2004! je dis ça parce-qu'il y en a qui n'ont pas encore imprimé que le champagne, la teuf jusqu'à tôt le lendemain et les bises à minuit c'était justement pour que ça ne passe pas inaperçu... Thursday, 30 December 2004Nouvelle version de PEAR::Date_Holidays
Traduction du billet 'New release of PEAR-Date_Holidays' de php-tools:
Stéphane a publié une nouvelle version de la librairie PEAR-Date_Holidays (en), la v0.12.0. Nouveau avec cette version: des nouvelles langues - allemand pour USA-Holidays et italien pour Christian holidays, et la méthode getHolidayForDate() a été améliorée grâce à un très bon patch de Lorenzo (en), qui la rend beaucoup plus rapide. Date_Holidays est une librairie qui permet de gérer des dates spéciales comme les vacances ou jours fériés de maniere transparente. Elle a été créee par Carsten (en), à qui je fais un petit clin d'oeil en passant Tuesday, 28 December 2004Traduction de Serendipity, suite
J'ai récemment traduit les nouveaux textes pour la version française de Serendipity (en), et Garvin Hicking (de) l'a intégré à la version de développement CVS, qui peut être téléchargée (en) par le site officiel.
Dans sa dernière mouture (de), le système permet maintenant même l'utilisation de templates CSS de WordPress (en), le vote Karma pour les billets, l'export au format PDF du blog ou de parties du blog (voir tout en bas de mon blog), et plus encore. gERD et l'australie
Le troisième membre de l'équipe de PHP Application Tools, gERD, est en ce moment en Australie (vous pouvez suivre son aventure par son site). Il est aussi à la recherche d'un boulot... Il est un très bon administrateur système (Linux), ayant lui aussi pu faire ses preuves pendant près de 4 ans chez Metrix, est un bon programmeur PHP (il est l'auteur de patSysinfo, patUser et patSession) et est très ouvert d'esprit. Alors si vous connaissez quelqu'un en Australie...
Thursday, 23 December 2004Nouvelles versions de XML_Parser et XML_Serializer
Traduction du billet 'New versions of XML_Parser and XML_Serializer released' de php-tools:
Stéphane a publié une nouvelle version de deux de ses librairies PEAR: XML_Parser 1.2.2 et XML_Serializer 0.14.0. Tandis que la nouvelle version du XML_Parser ne corrige que deux bogues, la nouvelle version du XML_Serializer ajoute de nouvelles fonctions bien pratiques:
Deux nouveaux articles publiés
Traduction du billet 'Two new articles published' de php-tools:
La semaine dernière, deux nouveaux articles de Stéphane sont parus: le premier est une introduction à XUL, publié dans le numéro 1.05 du magazine allemand "Java Magazin". Le XUL est un langage de type XML qui permet de modeler des interfaces utilisateur pour Mozilla. Si le sujet vous intéresse, et que vous avez encore un petit peu de mal avec l'allemand (c'est facile, pourtant Le second article est sur la librairie XML_Serializer de Stéphane, publié dans le dernier numéro du International PHP Magazine. Le XML_Serializer est une librairie très puissante qui permet de sérialiser presque n'importe-quelle structure PHP en XML et inversement. Un bon exemple est qu'on peut sérialiser un objet complet en XML, et le récupérer tel quel plus tard - ou l'utiliser tout simplement pour lire n'importe-quel document XML sans avoir à le parser soi-même. Dans ma fanpage pour le jeu Etherlords, les Ether Planes, j'ai utilisé le XML_Serializer pour lire les données des cartes, qui étaient entièrement en XML. Le petit bout de code ci-dessous faisait la plupart du boulot: // inclure le UnserializerLe XML_Serializer a aussi une interface SimpleXML, qui permet d'accéder aux données XML un peu comme avec la nouvelle extension PHP (dans certaines limites, bien sûr, vu que certaines choses ne sont pas possibles avec PHP4) - j'adore cette librairie, vu que je ne fais pas partie de ces gens qui adorent écrire des parseurs XML 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.
« Page précédente
(Page 2 de 3 sur 41 billets au total)
» Page suivante
View as PDF: Category PHP | 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 |
|||||||||||||||||||||||||||||||||||||||||||||||||
