Mathieu le 15 avril 2010

Merci à XDebug qui m’a permis de résoudre un long problème de connexion au site.

En quelques coups de cuillère à pot, me voici allégé d’un fardeau.

Tout a commencé lorsqu’en local, le processus de logging-in (connexion) sur le site sur ma machine de « dev » fonctionnait bien, mais pas sur le sote pré-prod sur mon serveur dédié OVH.

La faute à quoi ? Un cookie récalcitrant qui s’initialisait donc en local et NON sur le dédié. La raison, les « headers already sent »; en gros, du code HTML se serait subrepticement glissé avant l’initialisation des cookies (setcookie()). Alors, après étude du code, je voyais en effet un espace (ouioui, fruit d’un appui sur votre barre espace) qui se serait glissé avant LA procédure d’initialisation des cookies. Mais QUID de la réelle raison ? Rien dans mon code, pas un « print », pas un « echo » mal placé, nada, que tchi.

Le site étant tout de même bien mieux fichu que le précédent (sans entrer dans les détails), je me suis longtemps demandé si Smarty en était la cause, mais aucun appel, aucun display() dans les rangs.

Je ne me voyais pas éplucher les dizaines de scripts, alors j’ai débuggé, tout simplement, une habitude souvent passée à la trappe par le passé, faisant confiance à la taille modique de mes réalisations.

L’erreur était sournoise, dissimulée, à la fin d’un fichier de configuration, cette fichue balise « ?> » avait senti le besoin manifeste d’ajouter un espace après, donnant « ?>  » (moi, je dis que c’est la faut à monsieur Eclipse), donc pas d’interprétation après cette butée syntaxique, juste du rendu HTML d’un fichu espace.

A vos balises nomdediou !

Mathieu le 25 septembre 2009

smarty
(billet technique)
Peu de mises-à-jour depuis un temps mais beaucoup de travail « dans l’ombre ». Mon CV n’a toujours pas fait réagir à la mairie de Montreuil… à suivre (j’ose pas rappeler dans l’immédiat).
Bref, SMARTY ! Depuis quelques années, je vais et viens sur ce concept de développement, ce moteur de template. A défaut d’adopter une autre techno comme Symfony (oui, c’est pas un template engine mais bon), je me suis dit qu’on pourrait y gagner sur un projet de cette ampleur (grand mais pas trop non plus). Smarty permettra un gain de ressources; grosso modo, lorsque le site monte en charge, j’ai mis un système de cache bien sympathique avec un gain probable de 70% de requêtage SQL et encore d’avantage sur les source. Couplé à un CRON efficace pour les appels XML vers l’extérieur, la somme des efforts devrait payer.
Autre avantage, j’ai refactorisé et bien séparé toutes les couches code et rendu, m’ouvrant en grand les possibilités de portage en live pour les mobiles ou la version accessible. Tout le code du moteur (sans exception) a été revu, offrant un maximum d’abstraction et mon petit pêché mignon serait de mettre en place une platerforme SOAP, why not ?

Enfin, à terme, cela permettrait (j’y songe) à ouvrir des possbilités de personnalisation poussées pour les utilisateurs, y compris les développeurs ainsi que les futurs blogueurs de la plateforme montreuil.net souhaitant intégrer des modules sur leurs blogs respectifs. C’est pas du Netvibes à la sauce montreuil.net… ça sera juste un défi personnel mais surtout la possibilité d’impliquer les utilisateurs et les mettre en position de « proposeurs » de nouveautés.

To be continued…