Modification sur le site
Le 2 octobre 2008, à 2:17 par Ulhume...

J'ai fait quelques mise à jour sur le site, ce serait sympa de me dire si cela fonctionne.

Internationalisation

J'ai mis en place une version anglaise. Je l'ai pas utilisé l'usine à gaz I18n mais plutôt deux trois hacks dont un hook_url_db_rewriter pour filtrer par langue courant et le module translate standard pour le reste. C'est plus simple et plus léger. Maintenant si vous voyez des trucs anglais se balader, faut me prévenir, j'aurais loupé une traduction.

Cache

Côté image, après discussion avec Dab sur un billet sans aucun rapport (comme d'hab si j'ose dire Wink, j'ai mis en place un cache disque. Là aussi j'aurais pu utiliser le module qui va bien mais j'en ai déjà beaucoup trop à mon goût pour une chose qui se règle par une fonction PHP.

Le cache est utilisé pour les icônes, les gravatars et les pdf. Dans le cas des images, en plus de cacher, je redimensionne à la volée, la première fois, des sources en 128x128x24 vers les résolutions désirées. Déjà ça me fait moins de maintenance. En plus, j'utilise maintenant du PNG indexé à 128 couleurs, ce qui semble aller et diminue nettement la taille des graphismes. Normalement les pages devraient s'afficher plus rapidement (gain de 30ko sur la home). Même principe appliqué aux gravatars.

Version imprimable et PDF

J'ai aussi rajouté le module qui permet d'avoir une version imprimable et pdf des billets. Là aussi petit hack du module printer pour utiliser le cache histoire d'éviter au serveur de mouliner à chaque demande.

Pour l'instant je suis bloqué avec le moteur de conversion tcpdf because dompdf ne comprend pas encore les accents (UTF-8). Dommage car le rendu est incomparablement meilleur avec le second. La prochaine version devrait régler le soucis et permettre de pondre des PDF avec un look identique à l'original.

Notifications

Le module comment_notify a été mis à jour. J'ai donc viré la version que j'avais gravement patchée pour mettre celle-là. Quelques soucis avec Postgresql qui se règlent sans problème en remplaçant la requête ligne 300 par celle-ci :

  Pour ceux qui utilisaient l'ancienne version, il y a perte de toutes les anciennes notification. Voici un bout de code qui permet d'initialiser la nouvelle TABLE avec les anciennes données, à faire avant le <kbd>alter TABLE comments DROP COLUMN notify</kbd> :
<code type="php">
FUNCTION comment_notify_convert() {
  $cursor=db_query("select cid,mail,name,nid,uid from comments where notify=1");
  while ($comment=db_fetch_array($cursor)) {
    unset($mail);
    IF ($comment['uid']!=0) {
      $user=user_load($comment['uid']);
      $mail=$user->mail;
    } else {
      $mail=$comment['mail'];
    }
    IF (isset($mail)) {
      $md5_string = md5($mail . $user->uid . $comment['name'] . $comment['nid']);
      db_query("INSERT INTO {comment_notify} (cid, notify, notify_hash) values (%d, %d, '%s')", $comment['cid'], 1, $md5_string);
    }
  }
}

Conclusion

Voilà, c'est tout pour cette fois, merci de me dire si ça beugouille par chez vous.

Commentaires

Alexis , le 2 October, 2008 - 09:43

Bonjour.

Bonne idée que tous ces changements.

Lors de la demande de téléchargement de l'article au format PDF, cela ne fonctionne pas, puisque l'on me demande un compte utilisateur que je n'ai pas, et que je ne souhaite pas créer. Est-ce voulu ?

Pour les traductions (i18n), les menus et autres entrées texte statiques sont converties, mais pas le texte même de l'article. Peut être avais-je mal compris la chose; mais je pensais que tu traduisait aussi ces textes automatiquement.

Ulhume, le 2 October, 2008 - 13:53

@Alexis non, pour les traductions ce n'est pas automatique (dieu m'en garde !!). L'idée est que lorsque l'on bascule anglais, seuls les contenus anglais sont affichés, et inversement pour le français. Après si certains articles sont dans les deux langues (il y en a quelqu'uns), cela passera effectivement de l'un à l'autre.

Pour le PDF, non, c'est pas voulu du tout, je viens de changer cela.

Merci pour ton retour !!

Alexis , le 2 October, 2008 - 14:04

Ok pour les traductions. C'est mieux ainsi, tout au moins pour les anglophones.

J'ai donc pu acceder aux version pdf des articles, et ai pu me rendre compte que les codes (la balise html "code") ne sont pas mis en forme de manière très lisible (cf. le pdf de cet article par exemple).

Ulhume, le 2 October, 2008 - 16:53

@Alexis oui ce n'est pas terrible je suis d'accord mais c'est le mieux que saches faire tcpdf. Comme je le disais dans le billet, dompdf qui est bien meilleur ne sait lui pas convertir les accents et j'attends la version suivant qui est censée savoir le faire.

Dab, le 2 October, 2008 - 23:24

... après discussion avec Dav sur un billet sans aucun rapport ...
Glissade sur le 'b' ? Smiling

Ulhume, le 3 October, 2008 - 00:06

LOL, je dois fait trop de DAV ces derniers temps, mes doigts parlent des trucs tout seuls Wink C'est comme lorsque je dois taper un tag "strong" en html, 9 fois sur 10 je tapes "string" (je viens de le faire à l'instant d'ailleurs Wink

Alexis , le 3 October, 2008 - 06:36

Haha: Je fais exactement la même Ulhume Wink

Ulhume, le 3 October, 2008 - 08:01

Ca va, j'suis rassuré Smiling

cowboyzed , le 17 October, 2008 - 14:11

pour mon cas, dompdf gère bel et bien les accents, sauf quand le bloc contenant ces accents est souligné que dompdf ajoute un trait de soulignement de plus identique au nombre de caractère accentué dans le bloc. C'est un peu chiant si t veux afficher un titre souligné.

Dab, le 25 October, 2008 - 14:21

Suite à mon pb de rafraichisement de page après l'envoi d'un commentaire, j'ai vérifier comment c'était mis en oeuvre dans Drupal (sur ton site en l'occurence). C'est géré avec l'entête Last-modified et Cache-control : no-cache, par contre il y a aussi un paramètre 'store' qui n'existe pas dans la rfc http. Une erreur de l'équipe Drupal ?
Voilà l'entête: Cache-Control: store, no-cache, must-revalidate, post-check=0, pre-check=0

Ulhume, le 25 October, 2008 - 14:50

Alors là aucune idée. Peut-être une erreur ou alors, pls probable, un drouille à la IE....

Poster un nouveau commentaire

Le contenu de ce champ est gardé secret et ne sera pas montré publiquement.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • To highlight piece of code, just surround them with <code type="language"> Your code &tl;/code>>. Language can be java,c++,bash,etc... Everything Geshi support.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Textual smileys will be replaced with graphical ones.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.

Plus d'informations sur les options de formatage

Connexion utilisateur
Les derniers bavardages...