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 10KB

title: Contenus + templates + URL + agencement = interfaces slug: contenus-templates-url-agencement-interfaces date: 2007-03-08 23:49:11 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

J'ai l'habitude de dire qu'une fois cette étape passée, 80% du travail est accompli (mais malheureusement pas du temps, je suis déjà en retard sur le planning...). Il s'agit de préciser les contenus précédemment retenus, d'identifier les différents templates à afficher et leur associer une URL. Si en plus j'arrive à agencer les différents contenus sur la page de manière ergonomique je passe à 85% :-).

Contenus

À cette étape, il faut faire la liste de tous les blocs qui vont être présents sur le site. Cela peu sembler long et fastidieux mais c'est autant de temps gagné pour la suite donc allons-y :

  • billet
  • liste de billets
  • derniers billets
  • meilleurs billets
  • contenu relatif au billet
  • brève
  • liste de brèves
  • dernières brèves
  • meilleurs brèves
  • liste de brèves en attente
  • brèves d'un mois particulier
  • liste de commentaires
  • derniers commentaires
  • formulaire nouveau commentaire
  • archives
  • mois
  • tag
  • recherche
  • flux RSS
  • information contextuelle
  • informations auteur
  • contact auteur
  • formulaire de contact
  • informations site
  • informations légales

Je crois avoir fait le tour, en cas d'oubli il sera toujours possible d'ajouter un bloc a posteriori. J'en profite pour un avertissement plus général, je décris la refonte en live sans connaître préalablement le résultat donc il est bien entendu possible qu'il y ait ensuite des ajustements pour la version finale... bloguer une refonte dont l'issue est connue distillée petit à petit serait frustrant pour vous et très ennuyeux pour moi !

Templates

Vous avez sûrement remarqué le premier découpage de la liste par thématique, il s'agit maintenant de regrouper les blocs par type d'affichage en distinguant les contenus, les listes de contenus, les informations annexes et les éléments de navigation.

Je profite de cette séparation en templates pour associer une URL à chacun des templates.

Contenus

  • billet : c'est le contenu majeur du site, il doit être mis en valeur à chaque instant. L'URL retenue pour cette ressource est /catégorie-principale/titre-du-billet/ en raison du référencement et de l'intérêt moins important de la date dans ces publications (on s'écarte clairement d'un blog, je sais).
  • brève : c'est le contenu annexe, il doit être accessible sans prédominer sur les billets. L'URL est /année/mois/titre-de-la-brève/ pour bien appuyer le fait que ces brèves sont ponctuelles et associées à une date. Je trouve que l'ajout du jour est superflu compte-tenu du rythme de publication.

Listes de contenus

  • liste de billets : cette ressource sera accessible via l'URL /journal/ et affiche les x derniers billets, c'est l'une des seules qui ne va pas changer...
  • liste de brèves : cette ressource sera accessible via l'URL /bistrot/ et affiche les y dernières brèves.
  • archives : j'ai une légère indécision là-dessus, je sais que l'URL sera /archives/ et que les liens de tous les billets et de toutes les brèves seront accessibles mais je ne sais pas encore dans quel ordre ni comment rendre possible le réarrangement par date/tag. J'hésite aussi à mettre une timeline au passage (je me demande comment ça n'a pas encore explosé sur les blogs ça, surtout que c'est relativement simple à mettre en place).
  • mois : présente la liste des billets et des brèves du mois considéré via l'URL /année/mois/ (pour garder la cohérence, /année/ renverra probablement sur /archives/)
  • tag : présente la liste des billets associés à ce tag. J'ai longtemps réfléchi à la possibilité de chainer les tags mais j'ai finalement renoncé car il est difficile de représenter cette possibilité de façon ergonomique ensuite (la seule solution intéressante est d'ajouter un + après les tags comme le fait un plugins de Wordpress je crois mais c'est difficilement compréhensible pour le visiteur). J'avais aussi pensé à faire des URL à saisir à la main du style /+python/+django/-quotidien/ auxquelles on aurait facilement pu ajouter /feed/ à la fin pour avoir un flux sur mesure mais je me suis dit que j'étais vraiment un sale geek (mais bon ça irait plus vite que de passer par des pipes, soit).

Informations annexes

Il s'agit des pages informatives ne dépendant pas des contenus.

  • accueil : contient principalement les informations site, utiles pour permettre au visiteur de cerner d'un seul coup d'œil l'espace sur lequel il vient d'atterrir.
  • contact : contient les informations auteur et les différentes façon de le contacter.

Éléments de navigation

Comme vous avez pu le remarquer, il y a de nombreux blocs de contenu qui ne sont pas encore utilisés. Ce sont principalement les éléments de navigation qui seront utilisés lors de la prochaine étape, lors de l'agencement des blocs sur les différents templates répertoriés.

Agencement

Je comptais vous faire un petit schéma pour l'occasion mais j'ai un peu la flemme de dégainer l'excellent inkscape donc ça restera du texte, soyez attentifs ;-). On peu déjà raisonnablement découper la page en trois éléments distincts (entre parenthèses les identifiants pour les billets futurs), en sachant que le design restera sous le format deux colonnes avec la deuxième colonne prenant plus d'importance :

  • Le haut de page (header) se divisant en 4 sous parties (2colonnes x 2 bandes) :
    • l'identité visuelle (logo) en haut à gauche ;
    • le menu (menu) en haut à droite ;
    • les informations spécifique (information) en bas à gauche, c'est la seule partie variable du haut de page, elle s'adapte au contenu en fournissant des informations sur la page affichée ;
    • la recherche (search) en bas à droite.

Le but de cette partie est d'être légère et fonctionnelle tout en étant esthétiquement réussie car c'est la première chose vue par le visiteur et le temps de réaction est très très court.

  • Le contenu (content) divisé en 6 parties (2 colonnes x 3 bandes) :
    • La première colonne contient le contenu principal, les liens connexes, les commentaires (dans le cas des listes toute cette colonne est dédiée au contenu) ;
    • La seconde colonne contient la navigation (variable selon le contenu) et l'abonnement aux flux RSS.
  • Le pied de page (footer) divisé en 2 parties (2 colonnes) :
    • le nuage de tags pour la partie importante (si possible ciblé) ;
    • un lien vers la description de l'auteur sur l'autre colonne.

Pour les pages annexes, le contenu et le pied de page sont susceptibles de changer en fonction des pages :

  • L'accueil doit à la fois présenter le site et l'auteur, tout en proposant des liens vers les publications les plus pertinentes. Je me demande s'il vaut mieux lier les dernières parutions ou bien les meilleures.
  • La page de contact permettra d'en savoir plus sur l'auteur et comment le contacter, d'accorder les crédits et les mentions légales et d'indiquer comment récupérer les sources du site (je mettrais en place un dépôt pour ça).

Bon cette partie était un peu indigeste mais elle a le mérite de m'éclaircir les idées en les écrivant ici. Je n'ai pas détaillé tous les blocs, notamment la navigation on verra ça plus tard.

Retour à django

Grâce à l'identification des templates et à leur agencement, on commence à voir se dessiner l'héritage possible entre les différents templates. Les différentes URL évoquées donnent un aperçu de ce que va être notre urls.py et les blocs récurrents permettent de distinguer les templatetags dont nous aurons besoins par la suite. Encourageant tout ça, prochaine étape : le modèle de données.

À noter également qu'il est dès à présent possible de réfléchir au futur design en parallèle des développements. Tiens d'ailleurs ce design, on le change ?