News

Avez-vous remarqué que les applications Web sont rarement compatibles entre elles? On s'en aperçoit le jour où on veut utiliser sur le même site deux applications distinctes : qui va gérer les comptes utilisateurs? où placer les templates sans les dupliquer? Comment partager une configuration commune? Et qui se charge d'initialiser le tout au lancement?

La politique générale des applications est 'n'intégrez pas notre application dans la votre, mais le contraire', ou bien 'modifiez simplement les gabarits'.

Matthew Weier O'Phinney, à la suite de Clay Loveless, se plaint de cette pratique généralisée, et propose plusieurs idées pour améliorer l'intégration entre les applications.

- Start Writing Embeddable Applications
- Stop Writing Loner Applications
Les attaques XSS prennent des formes variées, et s'appuient sur toutes les faiblesses du code. Traditionnellement, on s'en protège avec htmlentities() ou htmlspecialchars(), mais cela suppose même que la balise a utilise des guillemets pour protéger les attributs. Autrement, le caractère espace sera ignoré par les fonctions de protection, mais devient un attribut séparateur pour HTML.

C'est le même problème que mysqli_escape_string() qui ne reconnait pas les pourcentages ou les parenthèses, alors que ces derniers peuvent engendrer des dénis de services avec la balise LIKE ou une sous-requête.

- Non-Standard HTML Fuels XSS Attacks
le 07/05/2007 à 19:32
Pear s'améliore
Note de l'auteur :

Le nouveau membre élu du groupe PEAR Josh Eichorn a posté récemment un blogue "How would you improve PEAR" (Comment voulez-vous améliorer PEAR ?"). J'ai été impressionné par la réponse : il semble que de nombreuses personnes hors du groupe surveillent son évolution, et ont des idées pour l'améliorer. De mon coté, j'ai été impressionné par le peu d'efforts que nous avons fait pour communiquer à la communauté les dernières améliorations réalisées. Dans les commentaires, j'ai fait la liste la plus complète possible, mais Josh m'a fait remarqué que je ferai mieux d'avoir un blogue public pour cela : le voici.

- Anything working in PEAR ?
- How would you improve PEAR
ext3cow est un système de fichier versionné basé sur ext3. Il fonctionne sur le noyau Linux 2.6, est disponible sous forme de patch, et il est bien entendu opensource. ext3cow (third extended filesystem, copy-on-write) permet aux utilisateurs de voir leur système de fichier (fichiers et répertoires) comme il était à n'importe quel point dans le temps passé (« timeshifting »).

Cela peut être utile pour la gestion de révision évidemment (code source, documentation, fichiers personnels, etc.), mais aussi la détection d'intrusions, la prévention de perte de données et également pour répondre aux besoins légaux de rétention de données.

Certains points de ext3cow sont intéressants :
- il ne pollue pas les répertoires de copies de fichiers nommés (généralement suffixés) par un identifiant de version ;
- il consomme peu en terme de stockage (5 à 15 % de metadata) et performance (lors des snapshots) ;
- il est modulaire et ne nécessite pas de changements du noyau ou des interfaces VFS.

Le concept de système de fichiers versionnés n'est pas nouveau (euphémisme), mais ext3cow diffère des autres par de nombreux avantages (voir synthèse en PDF), dont le fait qu'il référence des versions à n'importe quelle date dans le temps et pas par des identifiants de version (qu'il faut évidemment connaitre). ext3cow est bien entendu incompatible avec ext2/ext3, mais il devrait apparaitre des outils de conversion triviaux rapidement car il y a regain d'intérêt dû à une brève sur Slashdot.

- The ext3cow File System
L'illustre navigateur Web des années 90 devrait bientôt signer son grand retour. AOL devrait effectivement publier prochainement la version 9 du navigateur Web Netscape. Véritable navigateur à succès aux balbutiements d'Internet, Netscape n'a pas résisté à l'arrivée et à la démocratisation d'Internet Explorer et de Mozilla Firefox. Afin de redorer son blason, l'arrivée de cette version 9 devrait signer un retour aux sources. Ainsi, le nouveau navigateur ne devrait pas s'appeler Netscape 9, mais bien Netscape Navigator 9, comme à l'époque des premières versions du logiciel.

Contrairement aux autres versions de Netscape Navigator, Netscape Navigator 9 ne devrait intégrer qu'un navigateur Web. Le client email et l'éditeur de pages Web ne seront donc pas présents dans cette nouvelle mouture. Netscape Navigator 9 devrait utiliser le moteur de Firefox et sera disponible à la fois pour Windows, Mac OS X et Linux d'ici la fin de l'été.
le 07/05/2007 à 13:32
Les microformats
Web 2.0 a ses aspects positifs et négatifs. Outre les progrès technologiques frénétiques, l'Ajax, le contenu organisé sémantiquement et la popularité grandissante des fichiers RSS, le terme "Web 2.0" n'a toujours pas réussi à renouveler le Web au dela d'une révolution technologique.

Un des termes à l'horizon est Microformats (parfois abrégés en µF ou uF) : des formats qui rendent possible la création de méta données, qui peuvent être lues mais aussi comprises par les machines (ce qui est la base du Web sémantique, et n'est pas Web 2.0). Cet article vous donne une idée ce que c'est, de leurs avantages et de leur utilisation pour enrichir votre contenu, et le rendre plus accessible aux moteurs de recherche.

- Microformats: What They Are and How To Use Them
- Del.icio.us microformats
- Microformats : Méta-données pour les humains et les machines
Note de l'auteur :

"Ce tutoriel est destiné à ceux qui veulent optimiser l'internationalisation de leur application PHP. Nous l'avons écrit par manque de ressources pratiques sur le sujet. Même s'il y a des tutoriels pour gettext, cela reste une extension compliquée.

Peut-être avez-vous jeté un oeil, puis dit : 'mmm, le monde Unix l'utilise, cela doit être cool, mais cela semble difficile.'. Nous aussi, mais nous avons persévéré."

- Tutorial for the easy use of gettext for internationalization of PHP Apps
le 05/05/2007 à 20:34
Transformer son XML en SQL avec XSLT
Une technique d'importation de données particulière a émergé de praxis, lors du travail sur les données XML, en utilisant les capacités de Xslt.
La génération des commandes SQL prend uniquement une feuille de style Xsl, qu'il est possible d'importer dans PHP avec un objet XSLTProcessor, ou de passer en ligne de commande à xsltproc.

Ces deux techniques sont présentées ci-dessous, basées sur libxslt et avec XSLT 1.0.

- Transforming data centered XML into SQL statements
- xsltproc
Microsoft aurait-il décidé d'apprendre de ses erreurs passées ? Alors que plus de cinq années ont séparé la sortie d'Internet Explorer 6 de l'apparition de la version 7, l'éditeur de Redmond entend désormais mettre à jour son navigateur à une fréquence minimum de deux ans. IE8 pourrait donc être publié avant la fin de l'année 2008. Les objectifs annoncés sont, comme à l'époque d'IE7, une sécurité toujours plus importante, une plus grande simplicité d'utilisation ainsi qu'une meilleure prise en charge des standards du Web.

Autre contrainte, non avouée celle-ci : la nécessité de ne pas laisser Firefox, le navigateur de la fondation Mozilla, prendre une trop grande longueur d'avance. On attend en effet la première version bêta de Firefox 3 pour le mois de juillet 2007.

D'après Chris Wilson, responsable des développements d'Internet Explorer, la version 8 devrait apporter une meilleure prise en charge des spécifications CSS 2.1 (feuilles de style). Elle devrait également se montrer plus respectueuse des standards du Web, ce qui ravirait les développeurs de sites. Un dilemme se pose toutefois : comment concevoir une mouture d'Internet Explorer conforme avec les recommandations du W3C sans casser la compatibilité avec les sites conçus pour les précédentes versions du navigateur ?

Les technologies asynchrones de type AJAX sont également au coeur du développement d'IE8, tout comme l'amélioration de la gestion des flux RSS et des différents protocoles de syndication de contenus. Microsoft évoque également la prise en charge des microformats qui sont, pour simplifier, un ensemble de nouvelles balises destinées à la formation d'un nouveau xHTML sémantique. Ces microformats devraient pouvoir être interprétés par Firefox 3. Enfin, Microsoft envisage de laisser la possibilité à l'internaute de personnaliser Internet Explorer.
le 04/05/2007 à 22:09
Le Zend Framework embauche
Le Zend Framework a atteint un stade de développement qui demande la structuration de son équipe de développement. Zend est à la recherche de développeurs expérimentés, connaissant PHP ou pas, pour poursuivre le projet.

Peut-être qu'un membre de l'équipe francophone du Zend Framework sera intéressé par ce poste : il y a déjà la documentation en français, et une forte délégation qui se charge de la diffusion du framework en France...

- Looking to grow Zend Framework team
- Senior Web Developer for Zend Framework team
LoadingChargement en cours