Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

article.md 9.7KB

title: ★ Objectifs et motivations de la refonte de ce blog slug: objectifs-et-motivations-de-la-refonte-de-ce-blog date: 2007-02-24 20:00:24 type: post vignette: images/logos/biologeek.png contextual_title1: Biologeek (enfin) propulsé par Django contextual_url1: 20080423-biologeek-enfin-propulse-par-django contextual_title2: Ajout des flux RSS, du sitemap et des commentaires avec Django contextual_url2: 20070623-ajout-des-flux-rss-du-sitemap-et-des-commentaires-avec-django contextual_title3: De Dotclear à Django : migration des données et redirections contextual_url3: 20070523-de-dotclear-a-django-migration-des-donnees-et-redirections

Je comptais faire un premier billet listant les différentes étapes de la refonte mais je me suis finalement ravisé, je n'aime pas spoiler les bonnes séries ;-). Tout ce que je peux vous dire c'est qu'il y aura une dizaine d'étapes et qu'en comptant une étape par semaine environ ça nous amène vers fin avril (les étapes paraissent longues mais c'est surtout la rédaction du billet associé qui prend du temps...). Étant donné qu'on travaille mieux avec des jalons, je fixe arbitrairement le 23 avril comme date de mise en production.

Lorsque je débute un projet, j'aime bien commencer par une phrase clef qui permet de garder le cap tout au long du projet (certains appellent ça le bug n°1 par exemple). Voici celle choisie pour cette refonte :

Accroître la flexibilité de l'application de manière à davantage mettre en valeur le contenu existant et permettre d'augmenter l'interactivité du site en proposant de nouveaux contenus.

Explications point par point :

Accroître la flexibilité de l'application

C'est la raison essentielle de cette refonte : reprendre le contrôle du code de l'application dont je me sers pour avoir la liberté de faire ce qui me plaît facilement et rapidement. Je ressens une énorme frustration actuellement à ne pas pouvoir ajouter les fonctionnalités qui me semblent intéressantes sans devoir passer par un plugin (lorsqu'il existe...). D'autant que je dois avoir une aversion au moins équivalente pour PHP de celle que j'ai pour Java (hop un petit troll au passage ça fait pas de mal ;-)).

En contrepartie, il y a un travail conséquent à réaliser, même avec un framework web. Heureusement des snippets commencent à voir le jour un peu partout permettant d'accélérer ce développement avec Django, pour ajouter des trackbacks, des pingbacks ou même une identification via OpenId, c'est autant de boulot en moins. Alors bien sûr le prix à payer est énorme puisqu'il s'agit de recoder une application complète mais justement cela va me permettre de faire la distinction entre les différents contenus.

Il y a aussi de nombreuses limitations propres à Dotclear 1 qui m'énervent (syntaxe wiki exotique, administration, etc) et je voudrais en profiter pour changer tout ça. Je ne fais pas ici le procès de Dotclear qui est un formidable outil de blog et qui doit surement avoir corrigé certaines de ces irritations dans sa version 2 mais je crois qu'un outil de blog n'est tout simplement plus adapté à ce que je veux faire ici.

Un autre inconvénient est bien sûr l'hébergement, j'ai la chance de connaitre un hébergeur de qualité mais je suis conscient qu'il n'en est pas de même pour tout le monde.

davantage mettre en valeur le contenu existant

Le contenu actuel est un pré-requis à la refonte (qui serait sinon un nouveau départ), j'ai commencé à passer en méta-données les premières images que je mettais en dur dans le code, c'est un travail fastidieux. J'essaye au passage de corriger quelques fautes d'orthographes grâce à Firefox, c'est marrant c'est toujours les mêmes :-). Par ailleurs, j'ai enfin trouver un convertisseur python wiki2xhtml, merci David ! Ce n'était pas un point bloquant car j'aurais pu me baser sur le html mais c'est toujours plus agréable si je veux éditer de vieux billets.

En ce qui concerne la mise en valeur, le sondage précédemment réalisé va m'être d'une grande aide. Je n'ai pas encore fignolé les vues (c'est l'objet de la prochaine itération) mais c'est bien parti. Les billets ne seront plus basés sur leur date de publication mais sur leurs tags. Enfin je ne me suis pas encore décidé entre tags ou tags + catégorie principale. J'ai bien envie aussi de rajouter des billets et des liens externes relatifs aux billets de façon manuelle.

Il reste deux problèmes auxquels je veux tordre le cou :

La pagination

Ça fait un moment que j'y pense et plus j'y pense plus je me dis que c'est crétin de mettre de la pagination sur un affichage antéchronologique car le contenu d'une URL change à chaque nouveau billet. Il y a deux solutions à ma connaissance :

  • tout mettre sur la même page mais dans ce cas là interviennent les problèmes d'indexation par les moteurs de recherche et de temps de téléchargement lors des visites. Je pourrais ne mettre que les introductions des billets pour alléger la page mais vous n'aimez pas ça non plus...
  • mettre en place un défilement infini (enfin presque) comme vous pouvez le voir sur l'agrégateur d'Humanized. C'est un concept intéressant même s'il faut des alternatives au niveau du référencement et de la mise en favori d'une page donc ça devient un peu lourd.

Ces deux solutions ne sont pas très satisfaisantes, peut-être avez-vous mieux à proposer ?

Le référencement

Les URL du site vont forcément changer. Ce n'est pas une limitation de Django, c'est plus un blocage personnel à conserver « index.php » dans chacun de mes liens. Alors bien sûr un tas de redirections vont être mises en place pour ne pas perdre les visiteurs et... les moteurs de recherche. Cela signifie que toutes les pages vont être réindexées lors de la refonte. À ce moment là, pourquoi ne pas changer de nom de domaine ? Je crois savoir que Google se base sur l'ancienneté des noms de domaines mais est-ce un frein suffisant ? J'aime pas trop orienter mes décisions en fonction du PR donc ça reste à déterminer...

augmenter l'interactivité du site en proposant de nouveaux contenus

Une nouvelle partie va apparaître sur ce site : le bistrot. Ça fait longtemps que j'attends de pouvoir faire ça, la rubrique Ailleurs actuelle étant trop réductrice. Il s'agit à la fois d'un filtre à la masse d'information quotidienne qui peut transiter sur la toile mais aussi une occasion de vous faire participer à ce filtrage en proposant vos brèves. Je ne sais pas encore si ça peut marcher, je voudrais vraiment que cette partie se distingue des digg-like par la qualité des brèves/liens proposés. Je commencerais sûrement en solo pour donner le ton mais je compte implémenter quelque chose dans ce sens, ça pourra aussi être l'occasion d'être un peu plus léger.

Une identification via OpenID est aussi envisagée bien entendu avec la liberté que ça laisse pour faire des comptes utilisateurs personnalisés.

Concernant maintenant les contenus qui vont disparaître, la page sur la syndication probablement (ce sera l'objet d'un billet) et les liens en partie remplacés par les brèves. La page contact sera étoffée d'un « à propos de l'auteur » qui vous semble important à la lecture d'un blog.

Au final, pas mal de boulot mais rien d'irréalisable avec un peu de volonté (et beaucoup de temps ;-), prochaine étape : les interfaces.

Étapes de la refonte réalisées :