Soumis par bonvga le 3 janvier, 2011 | Laisser un commentaire (2)
La version 7 de Drupal vas sortir ce vendredi 7 janvier 2011 !
A cette occasion, Le site Drupal 7 Release Party recense les apéros du monde entier pour fêter cet évènement dignement 
Meilleurs vœux à tous et longue vie à Drupal !
Posté dans les catégories drupal et drupal 7 | Laisser un commentaire (2)
Soumis par bonvga le 11 septembre, 2010 | Laisser un commentaire (3)
Si vous utilisez les extensions Firefox Yslow ou encore Google Page Speed sur un site Drupal, vous constaterez que la directive "Use cookie-free domains" et très souvent au niveau F (c'est-à-dire le plus mauvais).
Tout d'abord, que signifie "Use cookie-free domains" ? L'idée consiste à limiter la transmission des cookies entre le client et le serveur au strict nécessaire. Pour cela, il faut forcer le serveur à poser les cookies sur un domaine et charger les éléments statiques de la page depuis une autre url.
Voici ce que remonte Yslow pour l'url http://www.bonvga.net/ sans cette optimisation :
En effet, par défaut, Drupal va poser les cookies sur le domaine .bonvga.net. Notez bien la présence implicite du joker, le cookie est donc posé sur *.bonvga.net. Drupal va également fournir des chemins relatifs vers les fichiers statiques, de ce fait ils sont chargés sur le même domaine que la page et donc le client sera forcé de transmettre les cookies pour chacune des requêtes vers les fichiers statiques.
Voici ma méthode pour optimiser ce point. Il y a peut-être d'autres solutions. Pour résumer je vais forcer Drupal à :
Pour forcer le serveur à poser les cookies sur un domaine, il suffit de spécifier la variable $cookie_domain dans le fichier settings.php du site :
Ça parait simple comme ça, mais en fait il va falloir entrer dans les méandres de Drupal et créer un module qui aura cette mission. Je vais détailler la mise en oeuvre du module en 5 étapes :
Créer un répertoire pour le module dans 'sites/all/modules'. Pour cet exemple, le module s'appellera 'optimcookie'. Commençons par créer le fichier optimcookie.info pour que Drupal trouve le module.
Le module va travailler sur la page générée par Drupal, il faut donc spécifier que ce module doit s'exécuter en dernier parmi les autres modules de Drupal. Pour cela, je vais utiliser le hook_install et modifier le poids du module dans un fichier nommé optimcookie.install. Le hook_install sera invoqué par Drupal une seule fois lors de l'installation du module.
Notez que le poids attribué au module est 126 alors que le poids maximum est 127. Ainsi, je laisse la possibilité à d'autres modules de s'exécuter vraiment en dernier, ce qui est le cas pour le module Javascript Aggregator par exemple.
Maintenant, il faut créer le fichier du module en le nommant optimcookie.module. Pour capturer la page, je vais utiliser le hook_init et le hook_exit chacun s'exécutant respectivement au début et à la fin de la construction de la page. Pour intercepter le contenu de la page, je vais utiliser les fonctions d'output buffering de php. Le module sera rendu inactif sur toute la zone d'administration du site.
À ce stade, si vous lancez le module, il ne va rien se passer. Il manque encore le code pour réécrire les urls.
Le code ci-dessous est à placer juste après le commentaire 'réécriture des urls'. Les expressions régulières vont intercepter les liens à réécrire et passer les informations à une callback nommée optimcookie_rewrite_url. Dans cet exemple, j'intercepte l'url du favicon, les urls des fichiers javascript, les urls des feuilles de style et les urls des images.
Notez qu'ici, toutes les urls sont interceptées et passées à la callback. Les urls absolues ne devront pas être réécrites donc il faudra faire le tri dans la callback.
La fonction de réécriture est en charge de :
Voilà, le module est prêt, il n'y a plus qu'à tester.
Houra ! Nous voici au niveau A ! 
Sachez qu'il est possible d'aller plus loin, avec la fonction _optimcookie_rewrite_url, avec quelques lignes supplémentaires il est possible de "paralléliser les requêtes" HTTP sur plusieurs domaines.
J'espère avoir été clair et que cette méthode pourra vous servir.
Posté dans les catégories cookie, drupal, module, pagespeed, performance et yslow | Laisser un commentaire (3)
Ajouté le 8 mars, 2010
http://code.google.com/p/pubsubhubbub/ : Lien vers Drupal PubSubHubbub module.
Soumis par bonvga le 17 février, 2010 | Laisser un commentaire
Ce soir, de retour de Paris, j'ai testé Drupal 7 (alpha 1) dans le train. Voici quelques points qui ont attiré mon attention.
Accessibilité et ergonomie : Au premier abord, l'interface a pris un sérieux coups de lifting ! Terminé les fieldsets avec des scroll interminables avec l'apparition des onglets verticaux. L'ensemble de ces évolutions graphiques/ergonomiques m'ont fait penser à ce qui se fait sur Wordpress actuellement. Ajout des modules Dashboard et Shortcut pour personnaliser l'administration du site et l'amélioration de la gestion des blocs.
Côté javascript, sont disponibles nativement jQuery 1.3.2 et jQuery UI 1.7.2.
Overlay : Un module monstrueux, j'ai regardé un peu le code, c'est pas mal fichus. Le module permet d'embarquer une page en sur-impression de la page courante (overlay). Techniquement, il s'agit en fait d'une iframe ajoutée au DOM en javascript. L'iframe permet d'éviter des appels ajax lors de la navigation. Ce module permet d'intégrer la partie administration et gestion de contenu directement sur la page courante et ce en ayant un thème pour le site et un autre thème pour l'administration.
Côté base de données, l'intégration de PDO (full objet), l'amélioration du support de PostgreSQL, l'ajout du support Sqlite. Gestion des clusters maître/esclave.
L'apparition du web sémantique avec le module RDF.
Field Api remplace CCK. Il permet de créer de nouveaux type de champs (image, texte, taxonomy...) sur un type de contenu.
Le module Image remplace ImageCache. Il permet d'appliquer des transformations sur vos images (scale, crop...)
Les thèmes : Garland reste le seul survivant parmi les thèmes de Drupal 6. Le nouveau thème Seven semble idéal pour l'administration et le thème Stark est dédié au développement de nouveaux thèmes.
Et j'en passe ! Si le sujet vous intéresse, je vous recommande la lecture des articles mentionnés chez Arnaud Ligny. Et si vous souhaitez entrer dans le vif du sujet, vous pouvez installer la version de développement de Drupal 7.
Posté dans les catégories drupal et drupal 7 | Laisser un commentaire
Ajouté le 10 février, 2010
Drupal 7 est toujours en cours de développement (ou plutôt en cours de finition), néanmoins une version alpha à été publiée : l'occasion idéale de faire ...
[ Lire la suite ]
Ajouté le 7 janvier, 2010
Ajouté le 8 novembre, 2009
Livre_Concevoir.jpg Une petite brève car je n'ai malheureusement pas le temps d'écrire une revue détaillée sur ce livre. Cependant je tenais ...
[ Lire la suite ]
Ajouté le 31 août, 2009
acquia_com_acquia-search.png A l'occasion du nettoyage d'été habituel de ce blog, j'ai voulu mettre en place un nouveau système de navigation qui ...
[ Lire la suite ]
Ajouté le 20 août, 2009