drupal

drupal

Mugshots aléatoires

From Anonymous

From Anonymous
Votre note: None Note: 4 (1 vote)

Concours du meilleur CMS open source 2008

Pour la 3ième année consécutive (2006, 2007, 2008), Drupal remporte le prix du meilleur CMS open source en PHP.

A ex-aequo, Joomla! et CMS Made Simple sont à la seconde place.

Tags

Lighttpd ModRewrite pour Drupal, Wordpress, Dotclear et Zenphoto

Durant la migration sur Lighttpd, outre l'installation de php5 en fastcgi, j'ai du revoir l'ensemble des règles de rewrite des mes sites. Voici quelques règle de réécriture Lighttpd pour quelques application web.

Drupal 6

$HTTP["host"] =~ "(^|\.)foo\.bar$" {
  url.rewrite-once = (
    "^/(files/.*)$" => "/$1",
    "^/system/test/(.*)$" => "/index.php?q=system/test/$1",
    "^/([^.?]*)\?(.*)$" => "/index.php?q=$1&$2",
    "^/([^.?]*)$" => "/index.php?q=$1",
    "^/search/(.*)$" => "/index.php?q=search/$1",
    "^/(.*).xml$" => "/index.php?q=$1.xml"
    "^/([^.?]*\.html)$" => "/index.php?q=$1",
    "^/([^.?]*\.htm)$" => "/index.php?q=$1"
  )
  url.access-deny = ( "~", ".inc", ".engine", ".install", ".module", ".sh", "sql", ".theme", ".tpl.php", ".xtmpl", "Entries", "Repository", "Root" )
}

La base vient de ce site mais j'ai apporté quelques modifications pour gérer le sitemap.xml entre autre.

Normalement ces règles doivent fonctionner sur Drupal 5, mais si vous avez quand même des problèmes, j'ai testé avec succès la solution ci-dessous.

Drupal 5

$HTTP["host"] =~ "(^|\.)foo\.bar$" {
  index-file.names = ( "index.php" )
  magnet.attract-physical-path-to = ( "/etc/lighttpd/drupal.lua" )
  url.access-deny = ( "~", ".inc", ".engine", ".install", ".module", ".sh", "sql", ".theme", ".tpl.php", ".xtmpl", "Entries", "Repository", "Root" )
}

j'ai trouvé cette manière de procéder ici.

Cette règle utilise un fichier 'drupal.lua' d'on voici le contenu :

attr = lighty.stat(lighty.env["physical.path"])
if (not attr) then
  lighty.env["uri.query"] = "q=" .. lighty.env["uri.path"]
  lighty.env["uri.path"] = "/index.php"
  lighty.env["physical.rel-path"] = lighty.env["uri.path"]
  lighty.env["physical.path"] = lighty.env["physical.doc-root"] .. lighty.env["physical.rel-path"]
end

Wordpress

$HTTP["host"] =~ "(^|\.)foo\.bar$" {
  url.rewrite = (
    "^/(wp-.+).*/?" => "$0",
    "^/(sitemap.xml)" => "$0",
    "^/(xmlrpc.php)" => "$0",
    "^/(.+)/?$" => "/index.php/$1"
  )
}

J'ai trouvé cette règle sur ce site.

Dotclear

$HTTP["host"] =~ "(^|\.)foo\.bar$" {
  url.rewrite = (
    "^/blog/[0-9]{4}/[0-9]{2}/?$" => "/blog/index.php/$1/$2",
    "^/blog/[0-9]{4}/[0-9]{2}/[0-9]{2}/?$" => "/blog/index.php/$1/$2/$3",
    "^/blog/[0-9]{4}/[0-9]{2}/[0-9]{2}/(.+)$" => "/blog/index.php/$1/$2/$3/$4",
    "^/blog/([A-Z][A-Za-z0-9_-]*)/?$" => "/blog/index.php/$1",
    "^/blog/([A-Z][A-Za-z0-9_-]*)/[0-9]{4}/?$" => "/blog/index.php/$1/$2",
    "^/blog/([A-Z][A-Za-z0-9_-]*)/[0-9]{4}/[0-9]{2}/?$" => "/blog/index.php/$1/$2/$3",
    "^/blog/([A-Z][A-Za-z0-9_-]*)/[0-9]{4}/[0-9]{2}/[0-9]{2}/?$" => "/blog/index.php/$1/$2/$3/$4",
    "^/blog/([a-z]{2}(-[a-z]{2})?)$" => "blog/index.php/lang=$1",
    "^/blog/ecrire/(.+)?$" => "blog/ecrire/$1",
    "^/blog/tag/(.+)?$" => "blog/index.php/tag/$1"
  )
}

Cette règle provient de ce site.

Zenphoto

$HTTP["host"] =~ "(^|\.)foo\.bar$" {
  var.zendir = "/"
  url.rewrite-once = (
    "^"+zendir+"admin/?$" => "$0",
    "^("+zendir+"(albums|cache|themes|zp-core).*)$" => "$1",
    "^("+zendir+"\?.*)" => "$1",
    "^("+zendir+"[a-z]+.php(\?.*)?)$" => "$1",
    "^"+zendir+"page/([0-9]+)/?$" => zendir+"index.php?page=$1",
    "^"+zendir+"page/([A-Z]a-z0-9\-_]+)/?$" => zendir+"index.php?p=$1",
    "^"+zendir+"(.*)/page/([0-9]+/)?$" => zendir+"index.php?album=$1&page=$2",
    "^"+zendir+"page/([A-Za-z0-9\-_]+)/([A-Za-z0-9\-_]+)/?$" => zendir+"index.php?p=$1&words=$2",
    "^"+zendir+"page/([A-Za-z0-9\-_]+)/([A-Za-z0-9\-_]+)/([0-9]+)/?$" => zendir+"index.php?p=$1&words=$2&page=$3",
    "^"+zendir+"page/([A-Za-z0-9\-_]+)/archive/([A-Za-z0-9\-_]+)/?$" => zendir+"index.php?p=$1&date=$2",
    "^"+zendir+"page/([A-Za-z0-9\-_]+)/archive/([A-Za-z0-9\-_]+)/([0-9]+)/?$" => zendir+"index.php?p=$1&date=$2&page=$3",
    "^"+zendir+"(.*)/image/(thumb|[0-9]{1,4})/([^/\\]+)$" => zendir+"zp-core/i.php?a=$1&i=$3&s=$2",
    "^"+zendir+"(.*)/image/([^/\\]+)$" => zendir+"zp-core/i.php?a=$1&i=$2",
    "^"+zendir+"(.*)/?$" => zendir+"index.php?album=$1",
  )
}

J'ai trouvé ces règles sur le site officiel de Zenphoto.

Évidement, jetez aussi un œil à la documentation de ModRewrite de Lighttpd pour plus d'informations.

Tags

Blogroll du pauvre pour Drupal

Si comme moi vous venez de migrer sur Drupal 6, vous aurez pu constater qu'il n'y a actuellement pas de modules pour gérer une blogroll. Sur Drupal 5.x il y avait le module userlink que j'aimais bien, mais celui-ci n'est pas encore porté pour la version 6 ;(.

Voici une manière de faire un bloc blogroll rapidement et sans installer de module.

Allez dans Administration > Blocs > Ajouter un bloc

Sélectionnez 'PHP Code' comme type de contenu puis copiez le code suivant dans la zone Body.

<?php
// nombre d'elements a afficher au maximum
$display_element = 10;
$url = array();
// ajoutez vos urls ici
$url[] = array("http://monblog1.com/","Mon blog 1");
$url[] = array("http://monblog2.com/","Mon blog 2");
$url[] = array("http://monblog3.com/","Mon blog 3");

$output = '<ul>';
for (
$i=0;$i<$display_element;$i++) {
  if (
count($url)==0) {
    continue;
  }
 
$id = mt_rand(0, (count($url)-1));
 
$output .= '<li><a href="'.$url[$id][0].'">'.$url[$id][1].'</a></li>';
 
array_splice($url, $id, 1);
}
$output .= '</ul>';
echo
$output;
?>

Ceci donne le bloc 'Blogroll' dans la barre de gauche.

Tags

Le retour des mugshots

Vous pouvez à nouveau ajouter vos mugshots sur le site ! Ceux-ci sont ensuite visible dans la galerie.

J'ai redéveloppé le module pour drupal 6 et maintenant les mugshots sont des entités (node) à par entière ce qui permet de greffer des modules dessus et d'y ajouter du texte et des commentaires. Cette version du module mugshot pour drupal 6 n'est pas encore disponible sur la page du projet car j'ai quelques bugs à corriger, mais sa sortie ne devrait pas trop tarder.

Le bloc mugshots aléatoires dans la barre de gauche, la galerie et le flux rss sont développés avec le module views.

J'en ai aussi profité pour installer les modules Voting API et Fivestar ce qui permet de noter les mugshots.

Mugshotez bien ! Smiling

Tags

Migration sur Drupal 6

Eh non, je ne suis pas mort Smiling

Par contre j'ai passé beaucoup de temps à migrer ce site vers Drupal 6. J'y ai passé beaucoup de temps car il y a pas mal de modules que j'utilisais sur la version 5 qui ne sont pas disponible pour la version 6. Du coup, il manque pas mal de sections sur le site, en particulier les photos, mais je compte régler ces différents problème dans les semaines à venir.

Bref ! Me voici enfin sur cette 6ième version de Drupal !

Les mugshots sont désactivé pour le moment, mais attendez-vous à une petite surprise à leur retour Eye-wink (à suivre aussi sur la page du projet)

Quand j'en aurai terminé avec cette migration, je posterai un billet avec la liste des modules que j'utilise.

Tags

Drupal 6

"Après un an de développement, Drupal 6 est enfin disponible. Grâce à l'effort constant de la communauté Drupal, plus de 1 600 bugs et imperfections ont été corrigés dans les derniers cycles de développement de cette nouvelle version.

Les nouveautés de cette version incluent de nombreuses améliorations en terme d'ergonomie, de sécurité et de maintenabilité. Drupal 6 se dote d'un installeur plus pratique, et d'un API de développement étendu. Enfin, de nombreuses améliorations ont été apportées spécifiquement pour les créateurs de thèmes et les développeurs.

Source

Yesss !! Je vais m'empresser de tester ça !

Tags

Le nouveau mugshot

J'en parlais il y a quelques jours ici et , la nouvelle version du module mugshot est maintenant disponible sur Drupal !

En dehors des quelques bugs corrigés (et certainement des nouveaux ajoutés :X) voici les améliorations apportées au module :

  • Le code du module flash a été porté en actionscript 3.
  • L'image envoyée par le module flash est compressée en JPEG, contrairement au format RAW utilisé précédemment, ce qui permet d'envoyer des photos avec une résolution plus élevée.
  • Par le point ci-dessus, la résolution des photos est passée de 160x120 à 640x480
  • Ce code mis à disposition sur incomplet.gskinner.com m'a permis d'intégrer un système de déformation des photos plutôt amusant.

Voici déjà quelques mugshots soumis avec l'effet Goo :

Je vous invite donc à envoyer vos mugshots, et n'hésitez pas à abuser de l'effet Goo !

Tags

Mugshot v2

Voici une nouvelle version du module mugshot qui sera prochainement publiée sur Drupal et que vous pouvez tester en avant-première.

Celle-ci permet maintenant de prendre des photos avec une résolution de 640x480 pixels. Et petit bonus, vous pouvez derformer l'image à l'aide de votre souris avant de la soumettre.

Pour essayer le module mugshot, cliquez ici, j'attends vos images et commentaires !

Tags

Les options avancées du thème fblike

Ce soir j'ai terminé la dernière version du thème de ce site, j'ai nommé fblike. Celle-ci intègre de nouvelles options de personnalisation autour du logo et du slogan du site ainsi que les titres des pages.

Il est maintenant possible de choisir les polices de caractère à utiliser pour construire les images.

Voici quelques exemples de style à la volée :

Rendez-vous sur cette page pour télécharger le thème.

Tags

Drupal - Thème fblike picto-title.php

Avant de lire la suite : La fonctionnalité picto-title à été intégrée à la version HEAD le 16/11/07.

Sur ce site vous pouvez voir que le logo, le slogan et les titres sont sous forme d'images. Ceci à l'aide d'un script nommé picto-title.php qui ce charge de la génération de ces images.

Ce script n'est pas disponible avec la release du thème sur le site Drupal.org suite à quelques problèmes.

A l'aide de ce script, le site a un meilleur rendu mais il arrive dans certains cas que le script ne fonctionne pas. La raison est encore inconnue ; absence du support GD, freetype, PNG ou des polices de caractères TTF ?

Si vous souhaitez quand même essayer cette version, rendez-vous sur ma sandbox.

Voici les modes d'appels du script :

Tags