Open Time

Aller au contenu | Aller au menu | Aller à la recherche

Success

Success

Plugin Typo 1.3 pour Dotclear 2.1 - La suite

Finalement l’idée d’inclure les caractères de césure optionnelle dans les billets ou les commentaires, au moment de l’enregistrement n’est pas une si bonne idée que ça. D’une part, revenir en arrière peut se révéler difficile si l’on n’édite pas en mode wiki ou en mode visuel — ces deux modes ayant l’effet indirect de supprimer les dites marques du code enregistré, pour peu que l’option ait été décochée — et d’autre part cela enlève tout l’intérêt du moteur de recherche tel qu’il est conçu dans Dotclear 2.

En effet, le mot “indisponible” sera codé et enregistré de la façon suivante indis­po­nible dans la base de données et du coup le moteur n’indexera pas le mot en entier, mais, je suppose, uniquement ses composantes syllabiques.

Voilà pourquoi j’ai choisi de revoir le mode de fonctionnement de la césure, car je voudrais tout de même bien arriver à une solution acceptable, et de faire en sorte d’intégrer les marques de césures optionnelles uniquement au moment de l’affichage des billets et des commentaires, sans changer la manière dont ils sont enregistrés dans la base de données. Cela va réduire un peu les performances d’affichage à chaque fois qu’un billet sera affiché mais en contrepartie le volume de données enregistrées sera moins élevé.

En conséquence, je vous recommande de désactiver l’option de mise en place de la césure optionnelle, au moins tant que je n’aurais pas publié une nouvelle version du plugin.

Plugin Typo 1.3 pour Dotclear 2.1

Finalement je ne vais pas attendre et vous livrer la version telle qu’elle est à ce jour. Je m’occuperai du complément lorsque les éléments dont j’ai besoin seront intégrés au moteur, j’espère pour la prochaine version.

Pour résumer[1] il y a dorénavant la possibilité d’appliquer la mise en place de la césure optionnelle au billets et aux commentaires, et ce pour les langues suivantes :

  • français ;
  • anglais ;
  • allemand ;
  • espagnol ;
  • hollandais ;
  • suédois.

Pour l’instant le choix de la langue se fait exclusivement sur la langue par défaut spécifiée pour le blog. Ce qui revient à dire que tous les billets et commentaires seront traités de la même manière quelle que soit la langue réellement utilisée pour les écrire. C’est une limitation que j’espère temporaire mais qui ne devrait pas gêner énormément, en tout cas sur les blogs monolingues.

J’ai d’autre part modifié légèrement le choix des options dans l’administration pour qu’on puisse activer indépendamment l’une de l’autre chacune des options proposées, remplacements typographiques et césures, billets et commentaires.

Le plugin devrait être mis à jour rapidement sur Dotaddict et en attendant vous pouvez le trouver en pièce jointe de ce billet.

Joyeux Noël les gens :-)

Notes

[1] Tout le détail des fonctionnalités prévues est précisé dans ce billet.

Plugin Typo 1.3 pour Dotclear 2.2 - Teasing

Pour Dotclear 2.2 ? Non, non vous n’avez pas la berlue ! Ce n’est pas une version déjà disponible et d’ailleurs mon plugin, dans cette nouvelle version ne l’est pas plus (enfin presque). Et puis si ça se trouve, ce dont j’ai besoin pour les nouvelles fonctionnalités ne sera peut-être pas du cortège des changements apportés avec la prochaine version de Dotclear. J’ai demandé quelques aménagements via le système de ticket de Dotclear, et il faut maintenant qu’un grand gourou prenne le temps de s’en charger — personnellement j’évite de faire ça moi-même, la dernière (et première) fois que j’ai touché au code de Dotclear j’ai cassé la version livrée quelques jours après ! — et en attendant je vais vous lister ce que j’ai prévu pour la prochaine livraison :

La moulinette

La moulinette dont je parle est en fait le moyen d’appliquer les fonctions de remplacement typographique dans une sélection de billets, via le menu Action sur les billets sélectionnés disponible en bas de la page qui liste les billets du blog dans l’administration. En effet, jusqu’à maintenant il fallait ouvrir et enregistrer tous les billets sur lesquels vous souhaitiez ces transformations pour qu’elles soient prises en compte. Avec ce système il sera aisé de les appliquer à tout l’historique de votre blog en quelques clics.

D’ailleurs pour une version ultérieure, il serait possible de faire de même avec les commentaires, par contre pour les pages je suppose que vu le nombre réduit de celles-ci sur nos blogs il n’est pas absolument indispensable de proposer cette fonction. Mais si la demande est forte, rien ne s’y opposerait bien sûr.

La trancheuse

La trancheuse ou césure optionnelle pour les billets et si vous le souhaitez pour les commentaires et ceci pour les langues suivantes :

  • français ;
  • anglais ;
  • allemand ;
  • espagnol ;
  • hollandais ;
  • suédois.

En pratique, ce système insèrera des césures optionnelles (­) dans vos billets (extraits et contenus) pour qu’ensuite les navigateurs puissent s’en servir pour vous proposer un gris typographique du plus bel effet. Ce système prend tout son sens sur un texte justifié et rend la lecture plus facile — ce qui ne reste qu’une opinion personnelle et somme toute relative. Quoiqu’il en soit vous pourrez l’appliquer aux billets ou aux commentaires ou aux deux, pour autant que le plugin soit activé pour le blog.

Le plugin utilisera le système de césure en fonction de la langue spécifiée pour le billet (voir les langues disponibles ci-dessus), sachant que les commentaires du même billet seront présumés écrits dans la même langue. Comme pour les remplacements typographiques le plugin ne touchera pas au balises qui permettent d’insérer du code source dans vos billets. En détail les balises XHTML ignorées sont <code>, <pre>, <script>, <kbd> et <math>.

Pour illustrer le fonctionnement, voilà le code XHTML du paragraphe précédent, celui qui commence par « Le plugin… », une fois que la césure a été insérée :

<p>Le plu&shy;gin uti&shy;li&shy;sera le sys&shy;tème de césure en fonc&shy;tion de la lan&shy;gue spé&shy;ci&shy;fiée pour le billet (voir les lan&shy;gues dis&shy;po&shy;ni&shy;bles ci-des&shy;sus), sachant que les com&shy;men&shy;tai&shy;res du même billet seront pré&shy;su&shy;més écrits dans la même lan&shy;gue. Comme pour les rem&shy;pla&shy;ce&shy;ments typo&shy;gra&shy;phi&shy;ques le plu&shy;gin ne tou&shy;chera pas au bali&shy;ses qui per&shy;met&shy;tent d&#8217;insé&shy;rer du code source dans vos billets. En détail les bali&shy;ses XHTML igno&shy;rées sont <code>&lt;code&gt;</code>, <code>&lt;pre&gt;</code>, <code>&lt;script&gt;</code>, <code>&lt;kbd&gt;</code> et <code>&lt;math&gt;</code>.</p>

La cerise

La cerise sur le gâteau pourrait être l’application des remplacements typographiques dans les titres des billets, ou alors de pouvoir activer la césure sans activer les remplacements typographiques, ou bien encore proposer des langues supplémentaires pour la césure, ou je ne sais quoi encore mais vous avez certainement des idées, non ?

En attendant, ce plugin dans sa version intermédiaire — il se base sur la langue par défaut du blog pour choisir le système de césure applicable — est en œuvre ici.

Z’êtes jaloux j’suis sûr !

Plugin Typo 1.2 pour Dotclear 2.1

Une nouvelle version du plugin Typo qui profite d’une petite nouveauté de la future version 2.1 de Dotclear. Cette fois ci, vos commentateurs pourront vérifier l’application des transformations en prévisualisation, avant enregistrement.

Toutes les informations concernant ce plugin sont décrites dans ce billet.

Plugin Typo 1.1 pour Dotclear 2.0

Une nouvelle version du plugin Typo qui a su se faire oublier de tous une fois installé. Cette fois ci, il est possible de le désactiver pour un blog et de plus il est possible d’activer les transformations effectuées par ce plugin aux commentaires postés. En effet, il n’y a pas de raison que vos lecteurs et commentateurs ne profitent pas eux aussi de cette amélioration.

Toutes les informations concernant ce plugin sont décrites dans ce billet.

Plugin Typo 1.0 pour Dotclear 2.0

Liminaire

J’avais dit que je ne publierai plus ici, eh bien j’ai un peu changé d’avis, en tout cas pour ce qui concerne mon côté geek. La version 2.0 (codename Můstek) est sortie et je ne pouvais manquer le rendez-vous fixé. Voilà un travail qui a pris de longs mois et a usé pas mal d’entre nous, à commencer par le patron himself. Finalement un moteur qui ronronne dans pas mal d’endroits, une équipe qui en fait autant après avoir bouclé le code et tout ce qui tourne autour — la documentation, le site Dotaddict pour les extensions, thèmes, plugins et tips, etc. Je crois que chacun a mérité de contempler le chemin parcouru. Bravo à tous \o/

Les copains en parlent aussi :

Présentation

Pour fêter dignement la sortie de la version finale de Dotclear 2.0 Můstek, je vous propose le premier plugin compatible avec cette version[1] qui offre les fonctions de remplacements typographiques suivants, et ce quel que soit le mode d’édition de vos billets :

  • Les espaces standards sont remplacés par des espaces insécables :
    • devant le caractère :
    • devant le caractère ;
    • devant le caractère ! et ?
    • après un caractère ¡ et ¿
    • après le guillemet français ouvrant « et avant le guillemet français fermant »
    • comme séparateur de millier (exemple 10 000)
    • devant une unité (exemple 12 kg)
  • Les quotes informatiques (droites) sont traitées comme suit :
    • les ", ‘‘ et '' autour d’un mot ou d’un groupe de mot sont remplacées par des et (curvilignes)
    • les ,, devant ou derrière un mot ou un groupe de mot sont remplacées par des (curvilignes, utilisées en double ou en combinaison avec un ou un )
    • les ' autour d’un mot ou d’un groupe de mot sont remplacées par des et (curvilignes)
  • Les << et >> sont remplacés respectivement par des « et des » (formes françaises « mot », finnoise »mot» et allemande »mot«)
  • Les doubles-tirets -- sont remplacés par un (en mode wiki, pensez à insérer un caractère d’échappement \ devant le double-tiret car il a une signification particulière)
  • Trois points consécutifs ... et . . . sont remplacés par un

Notez que ces transformations ne sont pas appliquées pour ce qui se trouve encadré par les balises <pre>, <code>, <kbd>, <script> et <math>. Et vous pouvez utiliser le caractère d’échappement \ devant les quotes informatiques, les doubles-tirets ou les trois points si vous ne voulez pas qu’ils soient transformés.

Ces transformations sont appliquées pour tous les billets au moment de l’enregistrement, pour le châpo et le contenu, y compris pour les billets de types spéciaux utilisés par certains plugins (Gallery, Pages, Related, …). Elles sont également appliquées dans le cas où vous utilisez un client XML-RPC pour créer ou modifier vos billets.

ToDo éventuel

  • Application optionnelle aux commentaires et rétroliens
  • Réglage fin des transformations autorisées
  • Rajout des espaces insécables nécessaires si absentes

Crédits

Version PHP SmartyPants & Typographer
Copyright (c) 2005-2006 Michel Fortin
http://www.michelf.com/
All rights reserved.

Original SmartyPants
Copyright (c) 2003-2004 John Gruber
http://daringfireball.net/
All rights reserved.

Édition du 30/09/2008

Nouvelle version du plugin disponible (voir ce billet)

Édition du 29/10/2008

Nouvelle version du plugin disponible (voir ce billet)

Notes

[1] Il vous faudra mettre à jour celle que vous avez si vous voulez en profiter car ce plugin n’est pas compatible avec les versions Beta et RC disponibles jusqu’à maintenant.

Plugin Chemin de Fer - Vrac d'idées

Ce matin, après avoir publié mon dernier billet de ma série Vos billets s'il vous plaît, il a fallu que je rajoute à la mimine ce billet dans la liste que je tiens à jour dans un autre billet. En faisant cet ajout je me suis dit qu'il serait sympa pour le lecteur d'avoir un système de navigation qui lui permette de lire ces billets en particulier et seulement ceux-ci.

J'ai pensé que je pouvais toujours créer une catégorie supplémentaire ou bien utiliser un mot-clé particulier mais j'estime que cela revient à détourner l'usage que j'en fait normalement, avec le risque ensuite de rendre plus confus la navigation par ici. De ce constat est née l'idée d'un plugin Chemin de Fer (Flat Plan en anglais).

L'idée maîtresse est la suivante : donner la possibilité à l'auteur de définir ses propres listes de billets et permettre aux visiteurs de parcourir cette liste de billet en billet. Une pagination ciblée en quelque sorte.

De là on peut prévoir, côté auteur :

  • une gestion des listes de billets avec toute la mécanique nécessaire pour les construire à partir de la liste des billets existants, les ordonner, …
  • un titre, un état de publication (oui/non) pour chacune des listes, un ordre d'affichage pour la liste des listes

Et côté lecteur :

  • des liens de navigation spécifiques comprenant :
    • un lien vers le billet précédent de la liste s'il existe
    • un lien vers le billet suivant de la liste s'il existe
    • un lien vers le premier billet de la liste
    • un lien vers le dernier billet de la liste
    • un lien vers une table des matières de la liste (voir ci-dessous)
  • une liste des billets appartenant à la même liste que le billet courant (pseudo table des matières)
  • une liste des listes publiées de billets dans la sidebar

Plus tard, on pourra éventuellement décider :

  • qu'un billet peut se trouver dans plusieurs listes bien que cela puisse probablement poser quelques soucis lorsqu'on affichera tous les liens de navigation pour chacune des listes
  • qu'un système de génération automatique de liste puisse être développé sur un ou plusieurs critères (auteur, dates, …)

Et puis on envisagera de prendre en compte ce nouveau système de regroupement dans le plugin Table des matières.

D'un point de vue plus technique, il est probable qu'une gestion de métadonnées côté billets et la création d'une table particulière pour les listes suffira pour le stockage des paramètres.

Z'en pensez quoi les gens ?

Plugin Table des matières 1.21

toc Nouvelle version du plugin Table des matières

Vu le nombre croissant des billets sur les blogs, certains commencent à éprouver des difficultés à obtenir une table des matières complète chez certains hébergeurs qui limitent la mémoire disponible pour les scripts PHP. J’ai donc mis en place un mode qui limite autant que faire se peut l’empreinte mémoire maximum du plugin. Ce mode est accessible en utilisant la fonction displayTocLowMemory() à la place de la fonction displayToc() dans le fichier template.php de votre thème[1].

Pour vous donner une idée des gains et des pertes du mode économe, j’ai effectué quelques mesures sur une base de 1200 billets (soit environ 1 billet par jour pendant 4 ans) et j’obtiens une empreinte mémoire pour la table des matières[2] égale à :

  • 8 Mo en mode standard, donc impossible sur un hébergement ne donnant pas au moins 16 Mo de mémoire aux scripts PHP
  • 0,8 Mo en mode économe, soit 10 fois moins, pour un temps d’exécution 1,9 fois supérieur dû au nombre supérieur de requêtes SQL effectuées dans la base de données

D’autre part, toujours pour la même raison, j’ai rajouté la possibilité de paginer les listes de billets en fonction du regroupement demandé (mois, auteurs, catégories, initiales de titre et mot-clés). Notez que si cette option est activée, elle provoquera l’affichage du menu en première page, même si l’option est désactivée dans le fichier de configuration. De plus cette option bénéficie automatiquement du mode mémoire limité décrit ci-dessus. Cette option permet d’obtenir une gestion à peu près équivalente au mode Archives de Dotclear 2.

Cette option est disponible dans le bloc intitulé Options de présentation sur la page d’administration du plugin.

Changements

  • Mise en place d’un mode économe en mémoire au détriment d’une légère augmentation du temps de traitement et du nombre de requêtes effectuées dans la base de données.
  • Mise en place d’une pagination des listes de billets par groupe.

La documentation associée à ce plugin se trouve dans ce billet. Si vous avez des remarques ou des demandes, faites-les ici.

Notes

[1] Vous pouvez également utiliser le 4ème paramètre de la fonction displayToc() qui permet de spécifier le mode voulu (true pour le mode économe, false pour le mode standard). Par défaut le plugin fonctionne dans le mode standard.

[2] Cette valeur ne tient pas compte du la mémoire utilisée par le module MySQL.

- page 1 de 11