title:      À la recherche du site parfait
slug:       a-la-recherche-du-site-parfait
date:       2006-07-04 12:09:23
type:       post
vignette:   images/logos/site_parfait.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

<p>Comme <a href="https://larlet.fr/david/biologeek/archives/20060527-il-va-y-avoir-du-changement/">vous le savez</a>, je suis en pleine réflexion sur l'avenir de ce site. Au risque de spoiler un peu la suite, j'aimerais avoir votre avis sur quelques points car après tout <strong>vous</strong> êtes les principaux intéressés non&nbsp;? ;-)</p>

<p>L'utilisation de <a href="http://www.djangoproject.com/">Django</a> en guise de moteur modifie complètement ma conception de création d'un site en séparant distinctement les trois parties principales que sont&nbsp;: le modèle des données, les vues permettant d'y accéder et les templates mettant tout ça en forme.</p>


<h2>Modèle de données</h2>


<p>Commençons par le principal, le contenu.</p>


<p>Je suis assez frustré avec Dotclear depuis pas mal de temps car j'aimerais disposer de billets longs (articles) et de billets cours (brèves). Je sais bien que c'est possible avec cet outil mais ça demande pas mal de bidouilles. Et les bidouilles, il faut généralement les réitérer à chaque mise à jour ce qui peut s'avérer délicat (et long !) lorsqu'elles deviennent un peu trop importantes.</p>


<p>Avec Django c'est très simple à faire, il suffit de deux classes (bon malheureusement pour l'instant on ne peut pas utiliser l'héritage ce qui serait bien-pratique-mais-en-développement). Les articles seront assez semblables aux billets actuels et les brèves comporteront une majorité de liens avec quelques commentaires associés (une sorte de blogroll enrichie avec commentaires possibles pour parler le blogueur).</p>


<p>Enfin, les articles seront regroupés par tags avec une catégorie principale qui nous sera utile par la suite. Pour les brèves, je pense qu'il est inutile de les classer. Je veux aussi avoir la possibilité de créer une arborescence avec mes tags.</p>


<p>Ok, donc maintenant qu'on a la trame, passons à l'accès aux données.</p>


<h2>Vues et URLs</h2>


<p>C'est la partie encore indécise, partant du principe que les articles sont quasi-intemporels (contrairement aux brèves), j'ai pensé qu'il serait plus significatifs de placer dans l'URL la catégorie principale de l'article. On aurait ainsi&nbsp;:</p>


<pre> /Logiciels-libres/Ubuntu/comment-casser-xorg</pre>


<p>Ce qui permettrait d'accéder directement ensuite à la catégorie concernée (Ubuntu), voire à son parent (Logiciels libres). En revanche au niveau des brèves, ce serait plutôt&nbsp;:</p>


<pre> /2006/07/04/les-designs-gris-ont-la-cote</pre>


<p>Ce qui permettrait d'accéder aux archives de la même manière. Les archives devront regrouper les articles et les brèves donc je ne sais pas encore si je vais conserver le jour dans l'URL étant donné que je poste moins d'un article par jour.</p>


<p>Mais pourquoi ne pas avoir fait comme tout le monde une arborescence qui commence par <q>/archives</q>, <q>/post</q> et <q>/breve</q>&nbsp;? Tout simplement car c'est à mon avis inutile (surtout en termes de référencement) et que Django me permet de m'en passer assez facilement.</p>


<h2>Template et design</h2>


<p>J'ai beaucoup d'idées, surtout en termes d'ergonomie et pas mal d'inspiration à force de parcourir les sites de pointures du web design mais rien n'est encore définitif. A priori, le site sera scindé en deux colonnes principales consacrées aux articles à gauche et aux brèves à droite (pas vraiment original mais bon quand c'est bien... c'est bien). En ce moment j'hésite beaucoup entre un fond clair ou un fond foncé. Le foncé était plutôt à la baisse ces dernières années mais j'ai l'impression qu'il revient en force en ce moment (dans la palette des gris notamment). L'idéal étant peut-être d'alterner les deux&nbsp;? de proposer les deux fonds&nbsp;? J'aimerais avoir votre avis là-dessus.</p>


<p>Voila où j'en suis dans la refonte, lorsque j'aurais terminé je détaillerais beaucoup plus le code qui m'aura permis d'arriver au résultat. Le <a href="https://larlet.fr/david/biologeek/archives/20060617-traduction-francaise-de-la-documentation-de-django-le-framework-web-python/">tutoriel sur Django</a> étant très bien pour comprendre comment ça marche mais de reflétant pas vraiment la complexité de création d'un véritable site.</p>
