Blogue

PHP Markdown Lib

Il est rendu l’heure pour PHP Markdown de devenir une librairie PHP bien encapsulé plutôt qu’un petit fichier qui tente de faire tout pour tout le monde.

Aujourd’hui, j’annonce la branche Lib de PHP Markdown. Elle contient les deux mêmes parseurs que l’on trouve dans PHP Markdown et PHP Markdown Extra, mais sans tout l’enrobage. C’est un paquet fait pour être une librairie, et seulement une librairie. Les deux parseurs sont placées dans l’espace de nom Michelf :

\Michelf\Markdown
\Michelf\MarkdownExtra

Oui, un espace de nom, donc ça prend PHP 5.3 ou plus récent.

La branche Lib est compatible PSR-0 pour permettre le chargement automatique des classes de parseur. C’est aussi un paquet Composer maintenant, disponible sur Packagist.

Trois branches

Donc présentement nous avons trois branches de PHP Markdown. Voici une sommaire de chacune :

PHP Markdown
La version originale de PHP Markdown est celle qui implémente la syntaxe Markdown tel que définie sur Daring Fireball (voir traduction ici). Ça inclus une fonction globale Markdown, une classe pour le parser, ainsi que diverses interfaces pour s’intégrer à Wordpress, Smarty, ou pour remplacer un parseur Textile.
PHP Markdown Extra
La branche Extra s’est ajouté il y a longtemps maintenant pour ajouter des fonctions à la syntaxe de base de Markdown. Une classe dérivée du parseur de PHP Markdown implémente les fonctions supplémentaires, et le tout est emballé exactement de la même façon dans un seul fichier les mêmes interfaces de plugin.
PHP Markdown Lib
La branche Lib est une nouvelle branche contenant une libraire PHP moderne qui peut s’intégrer à plusieurs choses. Contrairement aux deux autres, cette branche ne contient aucun code de plugin. Elle nécessite PHP 5.3 ou plus récent.

PHP Markdown Lib débute à la version 1.3. J’ai pensé à débuter à 1.0, mais faire ça rendrait certain rapports de bogues plus difficile à interpréter (ce n’est pas tout le monde qui sait quelle branche ils utilisent). Voilà pourquoi le numéro de version est différent.

La suite des choses

L’année prochaine, en 2014, seule la branche Lib continua d’être mise à jour.

PHP Markdown et de PHP Markdown Extra continuront d’être accessibles sur la page de la version classique, mais à partir de l’année prochaine les mise à jour incluant les correctifs de bogues et les nouvelles fonctions du parseur Extra iront exclusivement à la nouvelle branche Lib.

Si comme beaucoup d’entre vous vous utilisez PHP Markdown en tant que plugin Wordpress, vous pouvez toujours l’utiliser, elle n’arrêtera pas de fonctionner du jour au lendemain. La réalité cependant est que je n’ai pas le temps d’améliorer les choses au fur et à mesure que Wordpress évolue. Avec le temps qui passe, beaucoup d’autre plugins basé sur PHP Markdown ayant une meilleure intégration sont apparut. Je n’ai pas de recommandation à faire pour l’instant, mais si vous avez des suggestions à faire ne vous gênez pas me les faire parvenir, j’écrirai peut-être quelque chose à ce sujet dans les mois qui suivent.

Laisser derrière les versions de PHP plus anciennes me permettra de simplifier la maintenance et aussi d’utiliser de nouvelles fonctions du langage dans le code. En se débarrassant du code de support pour Wordpress, la branche Lib me permettra de me préoccuper davantage des choses reliés au traitement de la syntaxe.

C’est le temps pour PHP Markdown de devenir une libraire PHP en bon et dû forme au lieu de l’hybride qu’il a été dans son enfance. À compter d’aujourd’hui, la version Lib prend la vedette sur la nouvelle page de PHP Markdown. Faites-moi part de vos questions si vous en avez.


iCloud est génial, mais préoccupant aussi

Est-ce que je m’inquiète pour rien ? Supposons que je crée un nouveau document et que je commence à y inscrire quelque informations confidentielles, tel des mots de passe importants, un numéro d’assurance sociale ou des choses je de doit garder pour moi en vertu d’une entente de confidentialité. Ensuite je sauvegarde le document localement sur mon ordinateur. Rien ne devrait avoir filtré en dehors de mon ordinateur, n’est-ce pas ? Vrai en général, mais pas vous utilisez Mountain Lion et que vous avez iCloud d’activé, puisque tous vos documents « non sauvegardés » sont automatiquement sauvegardés sur iCloud maintenant.

Apple rend difficile de ne pas envoyer vos données à Apple. Ces documents pourraient inclure des données que quelqu’un d’autre vous a confié. Est-ce que vous brisez la confiance de cette personne en plaçant ses données sur iCloud ?

Comment est-ce que cela affecte votre responsabilité en cas de fuite ? Je suis pas mal certain que les termes légaux de iCloud protègent Apple si un pirate pénètre leur système et vole des données, ou si un employé pas content se laisser acheter, ou si le gouvernement du pays qui héberge le centre de données décide de faire quelque chose avec. Mais au final, c’est moi qui sera en faute pour avoir envoyé une copie au loin, hors de mon contrôle et dans une juridiction étrangère.

Alors voici mon conseil : ne placez rien sur iCloud qui causerait des problèmes si révélé au public, ou si espionné par un compétiteur. Avec Mountain Lion, ça veux dire sauvegarder le document localement avant d’écrire quelque chose de confidentiel à l’intérieur. Moi, je garde simplement iCloud désactivé, c’est plus simple.

Mais plus préoccupant pour moi est la tendance générale de tout stocker sans trop y penser sur des services comme iCloud/DropBox/SkyDrive/Google Drive. J’ai bien l’impression que la plupart des gens ne réalisent pas les implication de stocker tout en ligne. Je m’inquiète pour leurs informations confidentielles. Je m’inquiète aussi pour mes propres données confiées à des gens que je connait, gens qui pourrait les éparpiller sur internet sans réaliser qu’ils les rendent aussi accessibles à des tiers qui n’ont à peu près aucune responsabilité à assumer si la confidentialité est brisé.


Multi-Safari 5

Je ne fait généralement pas d’annonce pour les nouvelles versions de Multi-Safari. Ce que je fais généralement quand une nouvelle version de Safari sort, en excluant les mise à jour mineures : je crée un paquet à partir de la version installé sur mon ordinateur avant d’appliquer la mise à jour. Ensuite je rend disponible les fichiers et je met à jour la page.

Sauf qu’en réalité ne n’ai jamais hébergé les fichiers moi-même de peur de dépasser ma maigre allocation de d’espace de stockage et de bande passante. Ceci a contribué à rendre les choses compliquées pour moi, et ça explique pourquoi il n’y a pas eu de nouvelle version durant l’année précédente.

Hier, j’ai changé d’hébergeur (lors de la la grande mise à jour du site) pour un qui offre plus de stockage et de bande passante. Je vais donc tenter d’héberger les fichiers moi-même. Peut-être que ça va me montrer que toutes ces années le problème qui m’effrayais n’existait pas vraiment. Ou peut-être qu’il existe. Je verrai, parce qu’enfin je vais être capable de mesurer la popularité de ces fichiers et la bande passante requise.

Donc aujourd’hui je rend disponible trois nouvelles versions de Multi-Safari 5 (deux provenant de OS X Lion, une de Snow Leopard) hébergées directement sur mon serveur. Et s’il apparaît que ça devient trop taxant pour le serveur, je passerai à des liens « coralisés ».

Si tout va bien, les prochaines mises à jour arriveront plus rapidement.


Petite révolution, haute résolution

Depuis près d’un an maintenant que j’avais le projet de faire une série d’ajustements sur ce site. C’est maintenant chose faite. Le site a changé de domaine et changé de système de gestion, le blogue remplace les commentaires par un système de suivi plus flexible (pour moi), et finalement le site est prêt pour la haute résolution.

Le domaine

Pourquoi changer ? Simple petit geste de protestation contre le gouvernement des États-Unis qui se permet de saisir des domaines « .com » pour des sites qui opèrent à l’étranger dès qu’ils violent une de leurs loi. N’étant pas citoyen des États-Unis, je préfèrerais ne pas avoir à me soumettre à deux juridictions si c’est possible. Et donc c’est fait.

En passant mon domaine à « .ca », et en utilisant un hébergeur canadien avec un registraire canadien sur le domaine racine du Canada, tout reste en juridiction canadienne. Ce n’est pas que je m’attendais à avoir des soucis avec mon « .com » (qui existe encore en tant que redirection), mais pourquoi prendre des risques inutiles ?

Le système de gestion

Ce site web est maintenant construit avec Piecrust. Tout le site est composé de pages statiques « compilées » localement sur mon ordinateur et synchronisées avec le serveur web. Ceci me permet notamment de stocker tout le site dans un dépôt git, et donc de créer des branches, faire des essais, etc. Des pages statiques sont aussi ce qui risque le moins de briser au niveau du serveur. Je suis plutôt satisfait du résultat.

C’est aussi beaucoup plus simple de maintenir des copies de secours quand il n’y a pas de base de données et que tout est déjà une copie de ce qui se trouve sur mon ordinateur.

Au revoir les commentaires

Les commentaires sont remplacés par des notes de suivi. Bref, si vous avez quelque chose d’intéressant à ajouter, écrivez moi et je l’ajouterai dans les notes de suivi si je le juge pertinent. Ou écrivez le sur votre blogue et j’ajouterai un lien. En fait vous n’aurez peut-être pas besoin de me le signaler : si je vois quelque chose en rapport avec une entrée du blogue je l’ajouterai moi-même. C’est un peu un intermédiaire entre ajouter une mise à jour à la fin du texte et ajouter un commentaire. Le concept me plaît, on verra ce que ça donne.

Remarquez que les anciens commentaires restent tous accessibles. C’est seulement le formulaire pour ajouter un commentaire qui n’y est plus. Envoyez-moi un courriel et j’ajouterai une note à la place.

La haute résolution

Cette mise à jour se débarrasse de pratiquement toutes les images au profit de règles CSS pour les dégradés, les ombres et les coins ronds (les images sont encore utilisées par les navigateurs qui ne supportent pas ces fonctions cependant). Les images qui subsistent sont toutes en double résolution (deux fois plus de pixels en largeur et en hauteur que l’affichage à grandeur standard) ou en vectoriel (en utilisant le format SVG). Vu que le nombre d’image est limité, ça n’aura pas beaucoup d’impact sur la bande passante ou en vitesse.

Bien qu’il soit à la mode de justifier tout ces changements en fonction de l’écran « Retina » du nouveau Macbook Pro et du dernier iPad, ces changements profiterons aussi à bien d’autres qui n’ont pas le dernier modèle : tous les utilisateurs qui utilisent la fonction zoom de leur navigateur auront un bien plus beau rendu maintenant. En fait, je suis un peu surpris que l’omniprésence de la fonction zoom dans les navigateurs n’ait pas poussé les concepteurs web à s’attaquer à ces problèmes de résolution plus tôt.

Enfin, l’idée de faire un site web qui reste élégant à haute résolution semble faire son chemin maintenant. Mieux vaux tard que jamais.



  • © 2003–2024 Michel Fortin.