Articles sur le thème "Symfony"

On ne rigole pas avec l'encodage...

Posté par cyrille le 20/09/2007 dans sfSimpleBlog, symfony

2 jours que je me prends la tête avec des problèmes d'encodage sur mes blogs... Le premier problème vient de l'encodage de ma base de données MySQL. Je n'ai pas encodé mes tables en utf8 alors que c'est le jeu de caractère utilisé par sfSimpleBlog... Je m'en suis rapidement rendu compte, mais comme apparemment Symfony réencode les données issues de la base, le résultat était parfait et j'ai laissé courir. Erreur... ON NE RIGOLE PAS AVEC L'ENCODAGE ou on s'en mord très vite les doigts. 

Ensuite conceptuellement sfSimpleBlog n'est pas exempt de défauts. Il est bizarre qu'une version "url friendly" de chaque titre de post soit enregistrée dans la base de données alors que ce n'est pas le cas pour les tags. Du coup pour peu que le développeur qui choisit d'installer ce plugin ne réfléchisse pas beaucoup, il s'en mord très vite les doigts (j'avais plus de doigts j'ai attaqué les moignons).

Et enfin il existe un problème récurrent avec php, l'utilisation du couple de fonctions urlencode/urldecode fait disparaitre l'encodage unicode. Visiblement le système de routing de Symfony ne corrige pas ce problème. Et le développeur qui n'a plus ni doigts, ni moignons, verse une petite larme...

Je crois que le jour où je serais parfaitement à l'aise avec l'encodage de caractères le développement web n'aura plus aucun charme pour moi.

Création d'une communauté fr pour Symfony

Posté par cyrille le 29/08/2007 dans Symfony

Jusqu'à présent les utilisateurs anglophobes de Symfony n'ont que 2 façons d'échanger à propos de leur framework préféré :

Une communauté francophone devrait rapidement voir le jour avec comme support un portail ( ce portail devrait être accessible à l'url www.symfony.fr ).

L'idée me plaît beaucoup. Je suis parfaitement à l'aise pour lire l'anglais mais quand il s'agit de m'exprimer c'est autre chose... Je ne me vois même pas faire un rapport de bugs de peur de ne pas pouvoir orienter les développeurs correctement...

Donc avoir un réel espace d'échange francophone je suis pour. Pour autant je ne suis pas totalement convaincu du résultat. Lorsque j'ai débuté le développement avec Symfony j'ai été un peu désarçonné par la mutiplicité des ressources disponibles (forum+wiki+mailing list+documentation officielle+Symfony cookbook+snippets repository+canaux irc+tutoriel Askeet). Si ce nouveau portail permet réellement une meilleure collaboration des utilisateurs francophones expérimentés et une meilleure orientation des utilisateurs débutants, super. Mais si nous ne parvenons qu'à mettre en ligne quelques ressources supplémentaires, ce sera une belle perte de temps...

Pour l'instant des idées sont échangées à propos de la création de ce portail sur le groupe Google suivant :

On refait la déco

Posté par cyrille le 17/07/2007 dans design, sfSimpleBlog, symfony, template

Ce blog est basé sur le plugin sfSimpleBlog. Ce plugin offre les fonctionnalités de base d'un blog, sans fioriture. Personnellement ça me convient parfaitement.

Je n'étais pas décidé à passer des heures sur le template de mon blog, j'ai donc opté pour le minimum syndical : 1 image pour le logo, 1 image pour le background, 5 images pour les titres des menus, 1 police différente du template par défault et 1 couleur différente pour les liens.

La mise en place tout de même n'a pas été évidente. Certains éléments du layout par défault ne sont pas isolables avec des sélecteurs css. Il a donc fallu que je retouche aux templates du plugin.

Le templating n'est pas vraiment un point fort de Symfony. La logique est assez facile à comprendre mais à l'utilisation ça n'est pas très agrèable. Les fichiers web (images, css, javascript) sont isolés dans un répertoire spécifique. Les templates (nom donné à tous les fragments html) sont dispersés dans toutes l'application. Et tout incite à la multiplication de ces fragments (pour la réutilisabilité, pour isoler les fragments ne nécéssitant pas de logique métier pour être généré...). Au final on se retrouve très souvent à travailler un design avec 10 fichiers html ouverts et un seul fichier css (parce que ça n'est pas simple de travailler avec 10 fichiers html et 10 feuilles de style...), alors que ce que j'apprécie c'est exactement l'inverse. 

Mais ce défault majeur a évidement son pendant positif. Le framework est construit autours d'une architecture en cascade. Tous les éléments définis à un niveau d'une application sont redéfinissables au niveau inférieur. Le système de plugins de fait pas exception. Véritable sur-couche, il est facile de réécrire les templates d'un plugin ou d'étendre son comportement. C'est ce que j'ai fait sur ce blog. J'ai redéfini à l'intérieur de mon application l'ensemble des templates de la colonne droite et le layout principal.

Bon le résultat n'est pas grandiose... je ne suis pas graphiste mais ça fait plaisir de se sentir chez soi :)