php

Le temps de la migration

Je viens d'effectuer une migration du blog d'un framework PHP homemade à Django :

  • Tous les commentaires et shouts antérieurs à l'espace membre ont été rattachés à un compte utilisateur, existant ou créé pour l'occasion. J'ai relié tant que possible les anciens pseudos aux pseudos actuels (Toinou et Antoine vers Solidus par exemple)
  • Les shouts et commentaires historiques ont été nettoyés : non éditables, ils contenaient de l'HTML
  • Le plugin de tagging en Javascript a été réécrit - il passe de 380 à 250 lignes
  • La mise à jour de l'avatar se fait désormais via l'objet FormData natif sur les navigateurs récents, ce qui permet de supprimer l'iframe utilisée jusqu'ici
  • Une couche de cache niveau template permet de rendre le chargement du blog plus rapide
  • Un flux RSS des derniers hors-contexte a été ajouté
  • Le blog s'appuye désormais sur un framework, ce qui le rend plus stable, robuste et extensible

Des effets de bord sont peut-être visibles ici et là, merci de me les remonter via la shoutbox ou les commentaires.

MVC + HTML5 + jQuery 1.7

La différence à l'affichage est très faible mais depuis hier le blog a connu sa plus grosse refonte : refonte de la base de code PHP, balisage HTML5 et optimisation du Javascript.

Mon intention originale était d'utiliser PDO, l'interface de base de données de PHP à travers mes classes, mais je suis rapidement rendu compte que ma base de code n'était pas durable. J'ai donc réimplémenté un patron d'architecture Modèle-Vue-Contrôleur perso, que j'ai développé à partir de mes expériences avec Django, WordPress et Joomla.

Durant le développement, je me suis également frotté à Doctrine - un ORM PHP - avant d'abandonner face au rapport flexibilité/complexité clairement négatif. J'ai l'impression que certains cherchent à faire du Python ou du Ruby avec PHP, et cela se ressent à travers des choix de design inadaptés au langage.

Côté HTML5, pas grand chose à se mettre sous la dent pour l'instant, car à part le balisage sémantique et l'attribut placeholder (qui permet de pré-remplir un champ de formulaire) je n'ai rien introduit.

Quoiqu'il en soit, j'espère que vous apprécierez les petites touches de nouveauté, dont celles apportées à la shoutbox, qui mettent en avant la possibilité de poster.

Logo HTML5