Encoder son site en UTF-8… entièrement!

31 03 2010

Si j’ai encore passé presque 2 jours à me prendre la tête, cette fois-ci ça n’est pas à cause d’un bug. Non, tout allait très bien jusqu’à ce que je tombe par hasard sur un article parlant d’encoding UTF-8 avec MySQL. Et là, j’y ai découvert le chaînon manquant : l’instruction permettant de spécifier que les communications avec MySQL se font en UTF-8.

Car il ne suffit pas d’encoder sa base en UTF-8 en spécifiant l’interclassement des tables (utf8_general_ci par exemple), il faut aussi préciser que les échanges doivent s’effectuer dans tel encoding en jouant la requête suivante en début de connexion : SET NAMES "utf8"

En effet, j’avais bien remarqué qu’il y avait un souci à ce niveau là, mais j’avais contourné ça à coup de utf8_encode() / utf8_decode() et de html_entities() / html_entity_decode(). Du coup, mon site est devenu un champ de é ou de �, le temps que je reprenne tout y compris une reprise des données stockées en base. C’était laborieux mais je pense que ça valait le coup, maintenant je sais, je crois, que c’est propre!

Voilà 2 sites qui résument tout ce qu’il faut faire pour gérer entièrement un site en UTF-8.

http://j-willette.developpez.com/tutoriels/web/encoder-son-site-en-utf8/

http://electron-libre.fassnet.net/utf8.php

Faire suivre cet article :
  • Facebook
  • Twitter
  • Google Bookmarks
  • Yahoo! Buzz
  • Wikio FR
  • LinkedIn
  • Viadeo
  • del.icio.us
  • Digg
  • MySpace
  • Netvibes
  • Technorati


Script de mise en prod : gestion des magic quotes chez 1and1

8 03 2010

Il me restait encore un dernier point à aborder concernant mon petit script de mise en prod. Celui-ci est spécifique aux hébergements mutualisés chez 1and1, puisqu’il s’agit de la gestion des magic quotes qui sont activées par défaut chez cet hébergeur. Cette partie du script vise donc à les désactiver.

Vu qu’il s’agit d’un hébergement mutualisé, il n’est pas possible de modifier directement la configuration serveur de Php. Il est possible de faire la modification dans le code des pages Php, mais je préfère  différencier les aspects métiers du code et la configuration. La dernière solution est de faire la modification dans un fichier php.ini.

Contenu du fichier php.ini :
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off

Un fichier?

Oui et non : un fichier php.ini par répertoire contenant des fichiers Php.

Ce qui est un peu lourd et c’est là qu’intervient le script de mise en prod. C’est lui qui va se charger de recopier le fichier php.ini dans tous les répertoires concernés dans l’archive à distribuer. Pour faire cette opération on utilise l’instruction d’itération for. Elle n’est pas par défaut dans Ant, il faut ajouter la librairie ant-contrib (pour ma part, la version 1.0beta3 ne fonctionne pas, j’ai gardé la 0.6). Et il n’y a plus qu’à boucler sur les dossiers en excluant ceux qui n’en n’ont pas besoin comme les répertoires d’images, de css, …
<for param="folder">
 <path>
  <dirset dir="${DIST_DIR}">
   <include name="**" />
   <exclude name="*/css/**" />
   <exclude name="*/images/**" />
   <exclude name="*/js/**" />
  </dirset>
 </path>
 <sequential>
  <copy file="./php.ini" todir="@{folder}" />
 </sequential>
</for>

Plus d’infos sur le comportement des magic quotes chez PhpFrance.

Faire suivre cet article :
  • Facebook
  • Twitter
  • Google Bookmarks
  • Yahoo! Buzz
  • Wikio FR
  • LinkedIn
  • Viadeo
  • del.icio.us
  • Digg
  • MySpace
  • Netvibes
  • Technorati


1 jour, 1 bug…

15 02 2010

C’est pas le premier bug que je rencontre et certainement pas le dernier. Mais celui-ci était plutôt mesquin car assez discret mais aux conséquences assez radicales : pas d’indexation dans Google!

Mon site est à présent en ligne depuis vendredi, mais on va dire en version alpha. Pour l’instant je m’assure que tout va bien. Et tout avait l’air de bien aller : le site s’affichait correctement et se comportait comme en local sur ma machine. En voulant passer ma page d’accueil au validateur W3C, je m’aperçois qu’il ne scanne pas ma page, mais une page d’erreur… ? J’essaye aussi de faire un partage de lien sur la fan page Facebook associée au site : il associe une page d’erreur! J’ai l’impression que la lecture de mon site par des robots ne fonctionne pas et je fais le lien avec l’impossibilité d’ajouter dans Google Reader les flux RSS que je génère alors que le XML m’apparaissait comme il fallait. Mais surtout, je me suis rendu compte en utilisant Google Webmaster Tools,  que le robot de Google ne voyait aussi qu’une page d’erreur! En effet, dans Webmaster Tools, il est possible de demander une analyse tel que Googlebot le fait. En utilisant ça, j’ai débuggué petit à petit à coup d’affichage.

Lire la suite »

Faire suivre cet article :
  • Facebook
  • Twitter
  • Google Bookmarks
  • Yahoo! Buzz
  • Wikio FR
  • LinkedIn
  • Viadeo
  • del.icio.us
  • Digg
  • MySpace
  • Netvibes
  • Technorati


Installation WordPress chez 1and1

13 01 2010

Ahhhhh, j’ai passé une après-midi de m****! Après déjeuner, je me suis dit : si je mettais à jour wordpress en 2.9.1? Et j’étais partie pour plusieurs heures de galère…

Forcément, la mise à jour ne s’est pas bien passée : erreur 500! J’ai souvent des erreurs de la sorte sur ce blog (côté administration) et je commence à savoir vivre avec. Je mettais ça sur le dos des plugins que j’ai installé. C’était en partie vrai, car en en désactivant certains, j’arrivais souvent à mes fins.

Mais là, rien n’y faisait, j’ai supprimé l’installation, la base et tout réinstallé “from scratch”. Pas mieux. A la fin de l’install, j’avais une page blanche et ensuite l’administration plantait…

Dépité, je retente ma chance sur Google, au cas où, en soupçonnant mon hébergeur (1and1) de bloquer certaines options de PHP (pourquoi pas…).

Et je suis tombé sur un article qui rappelait qu’avec 1and1, il fallait modifier le fichier .htaccess pour gérer PHP5 :
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

Et c’est tout. Tous mes problèmes, d’installation automatique, de mise à jour, de plugins, d’application iphone, etc… tout ça, à cause de ces 2 lignes. L’ironie, c’est que ces 2 lignes, je les ai ajoutées depuis longtemps pour tous les autres sites que j’héberge chez 1and1! BOULET!

Faire suivre cet article :
  • Facebook
  • Twitter
  • Google Bookmarks
  • Yahoo! Buzz
  • Wikio FR
  • LinkedIn
  • Viadeo
  • del.icio.us
  • Digg
  • MySpace
  • Netvibes
  • Technorati


Smarty : un bon moteur de template PHP

21 09 2009

Petit à petit, je franchis les étapes de mon projet. Dernière en date, l’utilisation du moteur de template Smarty pour bien séparer le contenu de la forme, afin ensuite de pouvoir proposer plusieurs designs au choix.

J’ai assez peu hésité sur le choix du moteur. J’avais déjà eu l’occasion d’utiliser Smarty (mais il y a déjà quelques années sur un tout petit site) et à la lecture d’un comparatif sur developpez.com, je me suis vite rangé du côté de ce que je pense être le moteur n°1. Le seul inconvénient qu’on lui trouve est la difficulté de la syntaxe… je ne vois pas pourquoi. Ce n’est pas plus compliqué que n’importe quel langage de script, syntaxe XML ou autre.

Il y avait bien PhpLib, le moteur des forums PhpBB, que j’ai été amené à côtoyer, car c’est la solution de forum que j’ai toujours utilisée. Mais contrairement à Smarty, elle ne gère pas de cache. Et j’espère un jour avoir des soucis de performances dûs à la trop grande fréquentation de mon site! Et je serai content alors de ne pas avoir à migrer de PhpBB à Smarty. Je mets toutes les chances de mon côté dès maintenant.

Faire suivre cet article :
  • Facebook
  • Twitter
  • Google Bookmarks
  • Yahoo! Buzz
  • Wikio FR
  • LinkedIn
  • Viadeo
  • del.icio.us
  • Digg
  • MySpace
  • Netvibes
  • Technorati


Java ou PHP : Le choix d’une technologie

30 06 2009

Avant d’entrevoir les questions sur un modèle économique, le marketing, les statuts juridiques, … Il nous faut un peu parler technique!

Tout d’abord, petit point sur les origines et la situation de mon projet.

J’ai commencé par développer un site web pour un besoin personnel. Après les retours de certaines personnes qui trouvaient les fonctionnalités intéressantes et qui se disaient même prêtes à payer (c’est là que j’ai du avoir le déclic!), je me suis dit que je pourrais peut-être en faire quelque chose…

Maintenant que j’en suis à la phase de refonte plus sérieuse du site en vue de son automatisation, je suis confronté au dilemne suivant : PHP ou Java / J2EE?

Naturellement au début, dans l’optique d’un simple et modeste site, j’ai opté pour le package PHP + MySQL, facile, simple… J’ai toujours utilisé ces technos lorsque j’ai développé d’autres petits site web.

Mais maintenant que je me lance dans un projet plus conséquent et plus long terme, je me suis dis “Et pourquoi pas faire ça en Java / J2EE?”

Lire la suite »

Faire suivre cet article :
  • Facebook
  • Twitter
  • Google Bookmarks
  • Yahoo! Buzz
  • Wikio FR
  • LinkedIn
  • Viadeo
  • del.icio.us
  • Digg
  • MySpace
  • Netvibes
  • Technorati


C’est (re) parti, avec Mon Propre WordPress

25 06 2009

Comme je l’ai dit précédemment, j’ai donc opté pour www.monproprepatron.fr.

J’ai choisi mon hébergeur habituel 1&1, le pack de base PHP + MySQL + domaine revient à 28€ annuel, c’est honnête!

Téléchargement de WordPress version 2.8, puis installation. C’est vraiment très simple à installer, j’ai été bluffé. Et je rappelle que c’est une solution gratuite. Mon seul souci à été d’importer le contenu déjà créé à l’ancienne adresse. Et là j’ai été un peu embêté… Il y a semble-t-il un petit bug qui empêche l’import en 2.8. Donc j’ai du réinstallé une version 2.7, faire l’import (sans souci), puis mettre à jour en 2.8 (là aussi sans souci).

Puis, comme je suis soucieux d’optimiser le référencement (et mis en garde par le récent article d’Eric Dupin sur le contenu dupliqué), j’ai raccourci les articles déjà présents à l’ancienne adresse aux seuls premiers paragraphes, puis ajouté les liens vers les articles correspondants à la nouvelle adresse.

Malgré celà, jai l’impression de ne plus remonter dans Google qu’avec l’ancienne URL! Il m’a semblé voire www.monproprepatron.fr hier et plus aujourd’hui!

J’aurais bien utilisé la balise canonical, récemment validée par Google, mais il n’est pas possible de modifier les templates sur les blogs directement hébergé sur wordpress.com.

Maintenant, si je veux justifier tout ça et continuer à raconter mes histoires ici-même, il va falloir que je me remette sérieusement au boulot. Bien que j’ai un détail important à régler dont je parlerais d’ici peu…

Faire suivre cet article :
  • Facebook
  • Twitter
  • Google Bookmarks
  • Yahoo! Buzz
  • Wikio FR
  • LinkedIn
  • Viadeo
  • del.icio.us
  • Digg
  • MySpace
  • Netvibes
  • Technorati