Blogue

Suite à Multi-Safari

Ceci est une suite à l’entrée Multi-Safari, qui explique une méthode pour faire fonctionner plusieurs versions de Safari simultanément sur le même ordinateur.

Cette technique fonctionne bien sur Panther, cependant le résultat est moins probant sur Tiger. Avec Tiger, je suis capable de faire fonctionner Safari 1.x pour Jaguar sans problème, mais toutes les versions de Safari faites pour Panther ne fonctionne pas du à un problème de dépendance de framework. Il semble que les versions de WebKit pour Panther sont liés à des frameworks privés ou à des symboles privés dans des frameworks publiques. Ces frameworks et symboles sont disparuts avec Tiger, donc WebKit ne se chargera pas et Safari ne réussira pas à démarrer.

Vous n’avez peut-être pas tout compris ce jargon de programmation, mais le résultat final est que j’ai amandonné l’idée de faire marcher Safari 1.2, 1.2.3 et 1.3 sur Tiger.

Si vous avez une piste de solution, n’hésitez pas à la partager.


Sim Daltonisme

Voici le dénouement d’un projet que j’ai commencé il y a près d’un an, mais que j’avais arrêté faute de performances acceptables. Maintenant, avec GCC 4 et son autovectorisation, ainsi que quelques autres optimisations, j’ai accéléré le processus suffisamment pour le rendre intéressant. Voici Sim Daltonisme 1.0, première version de mon simulateur de daltonisme temps-réel pour Mac OS X.

Je n’ai pas grand chose à ajouter à ce qui est déjà écrit sur la page du logiciel, si ce n’est que pour parler de l’icône. La photo est divisée en deux cadres, à gauche l’image est passée dans le filtre de protanopie (daltonisme vert-rouge) de Sim Daltonisme, à droite c’est le filtre de tritanopie (daltonisme bleu-jaune) et tout autour l’image n’est pas filtrée.

Sous la photo se trouve trois spectres: celui du milieu est tout à fait normal tandis que les deux autres sont passés, comme l’image plus haut, par les filtres de protanopie et tritanopie.

Comme vous pouvez le voir, j’ai créé cet icône en 512 par 512 pixels, donc quatre fois la résolution d’un icône Mac OS X. Il a ensuite été réduit pour former les versions 128, 48, 32 et 16 pixels.


PHP Markdown Extra 1.0

Il y a quelque temps j’introduisais PHP Markdown Extra, une version spéciale de PHP Markdown avec quelques fonctions supplémentaires. Ajouté à la syntaxe standard de Markdown: une gestion plus intelligente des blocs HTML, la possibilité de traiter la syntaxe Markdown à l’intérieur de ces blocs, les tableaux simples, les listes de définition et une petite modification à la règle de l’emphase avec traits soulignés. Aujourd’hui, je règle quelques bogues, j’ajoute un une nouvelle fonction et je porte le numéro de version à 1.0.

Avez-vous déjà essayé de créer des liens vers d’autres sections d’un même document avec Markdown ? C’est quelque peu pénible car il faut alors écrire les titres dans leurs balises HTML afin de pouvoir leur assigner un attribut « id ». Cet attribut est nécessaire pour créer un lien vers un titre. Dans le but d’enlever ce tour peu élégant, PHP Markdown Extra propose une nouvelle syntaxe:

Titre 1            {#titre1}
=======

## Titre 2 ##      {#titre2}

En utilisant cette syntaxe, les titres auront leur propre attribut « id » et vous serez capable de diriger un lien vers eux de cette façon:

[Lien vers le titre 1](#titre1)

PHP Markdown Extra s’installe partout où PHP Markdown peut être installé (WordPress, TextPattern, etc.). Il est disponible à partir de la page d’accueil de PHP Markdown. Vous pouvez aussi consulter la description de la syntaxe PHP Markdown Extra.

Finalement, si vous appréciez ce logiciel et voulez m’encourager à continuer son développement, je vous invite à faire un don en indiquant que c’est pour PHP Markdown Extra.


Un peu plus sur Réflex

Désolé. Réflex ne sera pas prêt en août comme j’avais promis. J’ai essayé de me donner une date limite un peu trop vite en me disant qu’un peu de pression me ferait travailler plus rapidement, mais ça n’a pas marché du tout. Je crois que ça aurait pu se faire en respectant le délais, mais pas sans compromettre un bon design, quelque chose que je n’aime pas et que j’ai décidé de ne pas faire.

Je pense que le projet devient un peu plus gros que ce que j’avais prévu initialement, ce qui explique en partie ce retard. Présentement Réflex comprend:

  • un étage d’abstraction de la base de donnée avec une syntaxe entièrement en PHP pour les requêtes;
  • un gestionnaire de base de donnée qui crée et détruit les tableaux et les champs selon les spécifications des modules;
  • une classe « record » qui ressemble à « active record » dans Ruby on Rails;
  • un système par événement qui permet beaucoup d’automatismes;
  • un système de patron de page qui peut compiler les pages en code PHP dynamic, en page statique ou en un mélange des deux;
  • une interface d’administration complètement basé sur des points d’encrage exploitables par les modules (à compléter);
  • des modules de base pour les pages statiques, des blogues et des commentaires (à compléter).

Comme je l’ai dit précédemment, l’idée derrière Réflex est d’avoir une bonne plateforme pour créer des application web qui peuvent partager la même base de donnée tout en rendant très flexible la conception du site web (incluant les URL). Ce qui lie ces deux concepts est un système de patron inspiré de celui de Movable Type, mais qui peut traiter des types de données arbitraire et non pas seulement les entrées et les commentaire d’un blogue.

Bon, je crois que j’en ai assez dit pour l’instant. Je ferais mieux de retourner travailler si je veux que ce soit prêt un jour. Sentez-vous libre d’ajouter votre opinion, vos commentaires, vos suggestions, vos questions à la discussion ci-dessous.



  • © 2003–2024 Michel Fortin.