Open Time

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

Hérissons

Hérissons

Good karma

Finalement les nouveaux casques sont drôlement plus confortables et jolis que les anciens. Les gants d’hiver sont plus chauds que les mi-saisons que j’avais jusqu’à maintenant — et que je complétais de sous-gants en soie pour tenter de garder un peu de chaleur. Le nouveau top-case que je vais acquérir sous peu sera tout neuf et rutilant, pas comme l’ancien qui était moins neuf et moins rutilant.

Si je reprends le billet d’avant-hier à l’envers je dirais que mon scooter est encore en bas de l’immeuble, qu’il continue à très bien rouler, à très bien chauffer les mains et les fesses, à ne pas faire un bruit de casseroles comme l’ancien — j’avais peur qu’il ne tombe en morceaux dès que j’accélérais un peu trop —, etc, etc. Côté arrivée à Paris, vendredi soir, nous n’avons pas eu à faire la queue pour avoir une voiture (le métro est arrivé pile-poil lorsque nous nous sommes présentés sur le quai). Good karma !

Par contre toujours pas moyen d’avoir mon agent d’assurance au bout du fil et pourtant je pense qu’ils étaient ouverts aujourd’hui, j’ai remarqué que le message de leur répondeur avait été modifié. Heureusement — good karma inside — que j’ai pu enregistrer mon sinistre sur internet dès le samedi. Va tout de même falloir que je vérifie qu’ils ne me charcutent pas dans mon bonus juste parce que j’ai déclaré ça, même s’ils ne remboursent finalement rien.

Je viens d’installer un petit plugin qui va me sauver la vie plus d’une fois je le sens, avec ma manie d’écrire et d’écrire sans prendre le temps de sauvegarder. Maintenant, grâce à l’ami Biou un petit javascript se charge de ça à ma place — dès que le billet a été enregistré au moins une fois — et c’est très pratique ! Là, par exemple, je fais exprès de ne pas sauvegarder juste pour le voir fonctionner ;-)

Je me demande si cette série de bonaventures — le contraire de mésaventure n’existe pas, c’est un comble ! — va continuer encore longtemps. Pas que je sois superstitieux mais je m’habituerais bien à ce que ça continue jusqu’au 31 décembre de l’année.

Thème FallSeason 1.1

Une nouvelle version de ce thème qui intègre la gestion du menu géré par le plugin menuFreshy[1]. Si le plugin est installé et actif il est alors automatiquement utilisé pour construire le menu du thème.

Les versions 1.2 du plugin et suivantes sont directement compatibles avec cette version du thème.

Copie d'écran du thème

L’archive d’installation est disponible en téléchargement (attachée à ce billet) et sur DotAddict. Ce billet servira de centre de support pour cette version du thème.

Ce thème a trois particularités :

  1. Le menu qui peut (doit) être personnalisé. Pour cela il vous faudra jeter un œil et modifier le fichier tpl/_top.html ou utiliser le plugin MenuFreshy.
  2. Un bloc d’introduction est affichée uniquement en page d’accueil. Ce bloc utilise le dernier billet publié de la catégorie intitulée Flash si elle existe, sinon c’est un texte standard qui est utilisé. Pour modifier ce comportement — changer le nom de la catégorie, etc — je vous invite à modifier le fichier tpl/_intro.html
  3. Le formulaire de recherche est intégré dans l’entête du thème donc je vous conseille — mais vous pouvez l’ignorer — de ne pas inclure le widget correspondant dans votre barre latérale.

Enjoy ;-)

Notes

[1] Une version plus récente de ce plugin existe sur le blog de l’auteur.

Un photoblog

Je viens d’ouvrir Open Eyes, un photoblog qui reprendra entre autres les photos publiées ici. D’un point de vue technique j’ai utilisé le plugin Photoblog de Julien Mudry qu’il utilise pour ses propres besoins — je vous conseille le détour par chez lui, ça vaut le coup d’œil — et ai largement[1] modifié un thème spécialement conçu par pyeb pour l’utilisation de ce plugin.

Copie d'écran du thème Open Eyes

J’espérais pouvoir l’intégrer directement ici en l’activant dès l’affichage d’un billet de la catégorie Photo mais ça m’obligerait à modifier passablement les différents thèmes qui sont disponibles pour la visualisation de ce blog. En attendant un éclair de génie, je vais donc me contenter de dupliquer les billets photo pour alimenter le photoblog, celui-ci utilisant le même dossier média que ce blog.

Notes

[1] Il est probable que Pyeb ait du mal à reconnaître son thème Ornementals dans celui-ci, mais c’est bien celui qui m’a servi de modèle et que j’ai complété à l’aide d’un des aorakits de Kozlika (le modèle 2B) et sa base CSS pour Dotclear 2.

Plugin Private Mode : cool URI doesn't change

J’ai été amené récemment à protéger l’accès d’un blog Dotclear 2 à l’aide du plugin Private Mode développé par Osku. Ce plugin, une fois paramétré, protège tous les accès aux différentes parties du blog par un mot de passe sauf l’accès aux flux RSS générés. Pour ces derniers, une nouvelle URL fabriquée à partir du mot de passe est générée, ce qui rend inutilisable les URL standards de type http://www.domaine.tld/feed/rss2 et http://www.domaine.tld/feed/atom, ces dernières ne renvoyant plus qu’une page vide.

Le problème se pose alors pour les blogs ayant déjà des abonnés aux anciens flux. Comment leur signaler la mise en place de la protection puisque vu d’un lecteur de flux RSS, ces derniers paraissent ne plus avoir changé du tout ? Ce qu’il faudrait dans l’idéal serait de fournir un flux RSS statique indiquant qu’il y a dorénavant une protection.

J’ai un peu fouillé le code du plugin, ouvert un ticket pour demander la prise en charge des anciennes URL des flux et en attendant j’ai choisi une autre solution que je vais détailler ici.

Un prérequis que je pense obligatoire — mais je serai peut-être détrompé par quelqu’un — est qu’il faut avoir fait le nécessaire pour supprimer la mention index.php des URLs du blog. Un simple fichier .htaccess suffit à faire cela :

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php/$1
RewriteRule ^index.php$  index.php/

À défaut les URLs originales des flux seraient http://www.domaine.tld/index.php/feed/rss2 et http://www.domaine.tld/index.php/feed/atom ce qui rend impossible la technique que j’ai utilisée.

Ensuite j’ai simplement utilisé le fait qu’Apache (et probablement les autres serveurs web) teste la présence d’un fichier .html ou .php dans un répertoire donné avant tout. Donc si je crée un fichier rss2.php et un fichier atom.php dans un répertoire feed, Apache doit alors les servir lorsqu’un abonné relève respectivement le flux RSS ou ATOM.

Il suffit ensuite que ces fichiers rss2.php et atom.php génèrent un simple flux statique pour prévenir le lecteur du changement. J’ai simplement repris le code source des flux générés par Dotclear, leur ai enlevé toute la partie contenant les billets en n’en laissant qu’un seul qui me servira alors de message et c’est ce flux simplifié que je renvoie.

Voilà le code du fichier rss2.php :

<?php

header('Content-Type: application/xml; charset=UTF-8');

echo <<<EOD
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.domaine.tld/feed/rss2/xslt" ?>
<rss version="2.0"
	  xmlns:dc="http://purl.org/dc/elements/1.1/"
	  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	  xmlns:content="http://purl.org/rss/1.0/modules/content/"
	  xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
	  <title>Mon blog</title>
	  <link>http://www.domaine.tld/</link>
	  <atom:link href="http://www.domaine.tld/feed/rss2" rel="self" type="application/rss+xml"/>
	  <description>Mon petit blog à moi que j'ai</description>
	  <language>fr</language>
	  <pubDate>Wed, 08 Apr 2009 00:00:00 +0200</pubDate>

	  <copyright>© Moi-même</copyright>
	  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
	  <generator>Dotclear</generator>


	  <item>
	    <title>Private</title>
	    <link>http://www.domaine.tld/</link>

	    <guid isPermaLink="false">urn:md5:300df4c42465ce245ac2a02e5ee91a33</guid>
	    <pubDate>Wed, 08 Apr 2009 00:00:00 +0200</pubDate>
	    <dc:creator>Moi-même</dc:creator>
	    <description>    &lt;p&gt;Vous avez besoin du mot de passe pour accéder au blog et pour obtenir les nouvelles URL des flux RSS. Si vous ne le possédez pas vous pouvez en faire une demande à l'adresse suivante moi chez domaine.tld (en remplaçant chez par @ et en enlevant les espaces).&lt;/p&gt;</description>

	      </item>
	</channel>
	</rss>
EOD;

?>

Et voilà celui de atom.php qui lui ressemble comme deux gouttes d’eau ou presque :

<?php

header('Content-Type: application/atom+xml; charset=UTF-8');

echo <<<EOD
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xml:lang="fr">
  
  <title type="html">Mon blog</title>
  <subtitle type="html">Mon petit blog à moi que j'ai</subtitle>
  <link href="http://www.domaine.tld/feed/atom" rel="self" type="application/atom+xml"/>
  <link href="http://www.domaine.tld/" rel="alternate" type="text/html"
  title="Mon petit blog à moi que j'ai"/>
  <updated>2009-04-07T21:18:28+02:00</updated>
  <author>
    <name>Moi-même</name>
  </author>
  <id>urn:md5:e4c6ee9633392036a90c1798a6942634</id>
  <generator uri="http://www.dotclear.net/">Dotclear</generator>
  
    
  <entry>
    <title>Private</title>
    <link href="http://www.domaine.tld/" rel="alternate" type="text/html"
    title="Private" />
    <id>urn:md5:300df4c42465ce245ac2a02e5ee91a32</id>
    <updated>2009-04-08T00:00:00+02:00</updated>
    <author><name>Moi-même</name></author>
    <content type="html">    &lt;p&gt;Vous avez besoin du mot de passe pour accéder au blog et pour obtenir les nouvelles URL des flux RSS. Si vous ne le possédez pas vous pouvez en faire une demande à l'adresse suivante moi chez domaine.tld (en remplaçant chez par @ et en enlevant les espaces).&lt;/p&gt;
</content>
	</entry>
    
</feed>
EOD;

?>

Voilà qui permet de s’assurer que Cool URI doesn’t change ;-)

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&shy;po&shy;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 (&shy;) 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.

- page 1 de 18