La Tortue Facile : 3 ans déjà

Anniversaire

Je m'en suis rendu compte il y a peu de temps, mais mon site La Tortue Facile fête aujourd'hui ses 3 ans d'existence. Et que le temps passe vite.

Il y a 3 ans, j'étais passionné par les tortues et Counter-Strike (Rien n'a changé aujourd'hui) et le site était juste un test pour mettre en application les cours du Site du Zéro, qui à l'époque arborait une superbe bannière. [1]

Et puis le temps a passé, le site a augmenté en taille et en visiteurs à ma plus grande joie et aux désespoirs de certains autres sites basés sur des forums phpBB. Je suis passé d'un petit site statique en xhtml (valide hein !!) à un monstre PHP/MySQL qui est en train d'être recodé pour permettre au site de durer.

Lire la suite >>

L'optimisation SEO sur La Tortue Facile

J'écris ce petit billet pour faire partager mon expérience sur l'optimisation de mon site La Tortue facile notamment vis à vis des moteurs de recherche qui m'apportent près de 50% de mon trafic.

Entre la toute première version et celle actuellement en production, de considérables efforts ont été fait dans divers domaine mais j'ai trop négligé l'optimisation SEO. Je vais donc vous présenter les erreurs à ne pas faire lorsque l'on conçoit un site web.

Lire la suite >>

Un peu de sang neuf pour le blog

Comme vous avez pu le remarquer, il y a eu un changement notable sur le blog, et pas seulement cosmétique avec un nouveau design, mais aussi fonctionnel. Auparavant mon blog tournait sous Dotclear mais étant donné que je développe mon propre CMS de blog (nom de code Blogolite) j'ai profité de l'occasion du transfert de mon blog depuis 1and1 vers mon serveur dédié Kimsufi.

Le transfert s'est bien passé, néanmoins des images sont mal passées (je suis en train de les réuploader) mais l'essentiel est que le blog soit fonctionnel. Si vous avez des commentaires (pour le design ça ne compte pas), n'hésitez pas. Blogolite étant en plein développement, vous avez sous les yeux une version encore incomplète : il y a notamment le formulaire de contact et le système de rétroliens qui sont inactifs, par contre l'antispam marche du tonnerre et de manière totalement silencieuse.

En revanche, l'interface avec Twitter marche du tonnerre.

Lire la suite >>

Déménager un site web sans rien perdre

carton

Pour que tout le monde suive, la situation actuelle est la suivante : j'ai mon site principal La Tortue Facile qui est hébergé chez 1and1, de même que ce blog et j'ai pas mal de projets de sites qui vont voir le jour (Blogolite entre autres). Pour éviter d'une part des frais monstrueux et d'autre part bénéficier d'une liberté dans les choix de configuration, j'ai décidé de louer il y a quelques temps un serveur dédié Kimsufi afin de tout avoir au même endroit.

Et donc logiquement je vais transférer sous peu La Tortue Facile sur le serveur dédié, néanmoins il y a un problème de taille qui se précise et auquel je n'avais pas pensé. Il faut savoir qu'un site web est composé principalement de scripts PHP, de fichiers divers et d'images. Et mon site propose aux membre d 'uploader des photos de tortues sur le site, et même de créer des galeries pour les mettre en valeur. Le problème c'est que j'ai plus de 75 Mo de photos à transférer depuis le serveur de 1and1 à mon serveur dédié. Non seulement la taille est assez importante mais en plus il ne faut pas que j'en perde en route (plus de 700 photos plus les miniatures), donc un transfert via mon ordinateur est à exclure (50ko via le ftp les bons (et rares) jours). Je recherche donc une solution pour faire voyager tout ce petit monde d'un serveur à un autre, si vous avez une idée je suis preneur.

La bonne nouvelle, c'est que pour la base de données cela va en revanche très bien se passer car j'utilise depuis le début les transactions et les clefs étrangères, ce qui m'assure d'une base de données propre et intègre. d'ailleurs à ce sujet je vais essayer de finir mon tutoriel sur les transactions car elles ne sont pas utilisées à tord alors qu'elles pourraient rendre de grands services.

Lire la suite >>

Le codage d'un wiki : questions et réflexions

Lors de mon précédent billet j'avais présenté mon projet de réaliser moi même un wiki dédié aux tortues. Avec l'avancement du projet, les premiers tests qui montrent que je suis sur la bonne voix, les problèmes sur lesquels je bloque, etc. De nombreuses questions et idées germent, c'est l'occasion d'en parler.

A la recherche du diff parfait

Que serait un wiki sans diff ? Pas grand chose étant donné que comparer 2 versions d'un document deviendrait très vite laborieux, des petits malins en profiteraient pour y semer la pagaille. Cette difficulté m'a donc poussée à faire un choix :

  • Coder mon propre diff : Si c'est quelque chose intéressant à coder, il n'est pas non plus nécessaire de réinventer la roue étant donné qu'il existe d'autres solutions. J'ai très vite abandonné cette idée.
  • Utiliser le paquet PEAR Text_Diff : Disponible ici, il permet d'utiliser la fonction native diff de Linux. Cette voix me séduit particulièrement mais cela me pose le problème d'installer un paquet pour PHP5, chose que je ne sais pas encore faire. De plus il faut un serveur dédié mais ça ce n'est pas un problème rédhibitoire.
  • Utiliser un script PHP existant : les scripts de wiki existants sur le marché ont tous un système diff intégré, il ne reste plus qu'à faire son choix. Très vite j'ai trouvé 2 scripts qui m'ont semblé être adapté à mon utilisation, celui de Mediawiki (utilisé par Wikipédia et Dokuwiki) mais qui est une usine à gaz. Et l'autre est celui de Wordpress car ce CMS est livré avec un système de diff pour comparer 2 versions différentes d'un billet. Entre les 2 mon coeur balance, celui de Wodpress étant favori.

Le choix du diff étant presque réglé, d'autres fonctionnalités apparaissent à l'horizon. Plus particulièrement les liens entre les différentes pages pour éviter les pages orphelines et voir comment les pages sont reliées entre elles. Le problème des pages orphelines est en parti corrigé par le fait que chaque page de wiki créé automatiquement un topic dans le forum (sauf pour certains types de pages mais j'y reviendrai plus tard). Et pour détecter les liens pointant vers d'autres pages, il n'y a rien de mieux que les Regex.

Le titre des pages : choix primordial

Tous les wikis reposent sur le même principe, Un titre correspond à une page et une seule, les doublons, abréviations, raccourcis, surnoms, noms non officiels, etc sont autant de page qui doivent exister mais qui doivent rediriger vers la page que l'on souhaite, d'où l'idée de créer des pages de redirection. Par exemple la page Tortue d'hermann redirigera automatiquement vers Testudo hermanni, bref faire en sorte que le débutant et l'expert retombent tous les 2 sur la même page. Cela permettra aussi lors du changement du nom de la page de mettre un lien pour rediriger les anciens liens.

Redistribuer le code : une idée naissante

C'est une idée à laquelle je n'ai pas encore trop réfléchi. Car si un code source lisible par tous offre bien des avantages, il y a aussi pa smal d'inconvénients qui sont à prendre en compte.
Les avantages : l'ouverture d'un code source permet de détecter plus facilement des bugs, de discuter sur les performances et les capacités, et d'améliorer plus rapidement le wiki. Cela permet aussi d'intéresser des développeurs susceptibles d'utiliser ce script et donc d'y ajouter des fonctionnalités, voire en faire un fork.
Les inconvénients : ils sont à mon goût assez nombreux. Tout d'abord il y a le problème de la sécurité, étant donné que le wiki sera mis en production et le code source dévoilé, un codeur mal intentionné est capable de trouver des failles permettant des actions "préjudiciables" pour le wiki. Il y a aussi le suivi du code, à chaque changement faire un log des modifications, assurer le suivi des bugs, etc. De plus il y en a toujours plusieurs qui viendront demander comment ça marche, comment on l'installe, bref du temps perdu pour moi. Et puis il y aura toujours l'inévitable chieur qui essayera de me démolir en critiquant méchamment mon code (c'est mal commenté, c'est mal indenté, moi j'aurais pas fait comme ça, etc).

Ne voulant pas m'embarquer dans de multiples projets, la publication du code n'est qu'une idée naissante, donc pas la peine d'attendre pour le moment. Si toutefois vous avez des retours d'expérience, des idées sur des avantages et des inconvénients d'un code open source je suis toute ouïe.

Lire la suite >>