Les textes du renard

L'auteur de ce sujet a trouvé une solution à son problème.
Staff
Auteur du sujet

Bonjour tout le monde,

Ici SpaceFox, renard navigant dans les immensités de l'univers, développeur en Java et en Python de temps à autres, et écrivain à ses heures perdues. Le Java c'est surtout professionnel ou pour des tests, j'ai découvert la véritable pratique de Python et Django en contribuant à Zeste de Savoir. Quant au dernier point, peut-être que vous êtes déjà tombés sur ce vieux topic sur le Site du Zéro (à l'époque, c'était encore le Site du Zéro).

Eh bien cette année encore, je vais participer au NaNoWriMo, qui consiste en gros à écrire un maximum pendant le mois de novembre. Et c'est là qu'arrive le projet…

Les textes du renard

Genèse

J'ai un certain nombre de textes à présenter. Bon d'accord, pas assez, mais quand même. J'avais envie de faire un site pour les rendre accessible au public (sous licence CC-BY-NC-ND, parce que je ne crois pas à la liberté au sens "librement modifiable" dans les œuvres littéraires – mais ce débat risquerait de nous entraîner trop loin).

Et plutôt que de m'héberger un blog dans lequel je ne maîtrise rien, je me suis dit "pourquoi pas jouer avec Django pour voir ce qu'on peut lui faire cracher en peu de temps" ?

Ça, c'était vendredi soir (le 24 octobre). Là j'écris ces lignes le mardi 28 octobre à 24h36 (il n'y a pas d'erreur), et je peux vous présenter quelque chose. En ayant fait autre chose presque tout le WE.

Comme quoi, hein.

Généralités et avancement

Les fonctionnalités indispensables et donc implémentées sont les suivantes :

Fonctionnalités que je ferai un jour si j'ai le temps :

  • Possibilité de mettre des commentaires pour les lecteurs
  • Flux RSS des nouveaux textes / mises à jour
  • Partages sociaux
  • Export dans divers formats (PDF, ePub, …)

Fonctionnalités que je ne souhaite pas gérer au moins dans un futur proche :

  • Auteurs multiples. C'est mon site, je me fiche d'avoir d'autres auteurs dessus. Je sais, c'est égoïste.

Objectifs

Deux objectifs principaux ont guidé mon développement :

  1. Simplicité
  2. Simplicité

Là non plus il n'y a pas d'erreur.

Le premier concerne le code en lui-même, le second la présentation. Le code parce que je n'ai pas envie de réinventer la roue. Quant au site, il est prévu pour lire du texte : sur écran c'est vite casse-pieds, alors il faut simplifier la vie au maximum à l'utilisateur.

Le projet et son originalité

J'ai donc développé en quelques heures (et bien moins si j'était 1. meilleur en Python, 2. meilleur en Django et 3. que j'avais rationalisé tous mes petits bouts de développement) :

Les textes du renard

D'un point de vue fonctionnel, le seul maître mot, c'est "lisibilité". Ca implique concrètement :

  • Une police spécifique
  • Une largeur de ligne de 80 colonnes environ
  • Pas de justification : les moteurs d'affichage des sites web sont infoutus de gérer des césures (et le peu qui le font coupent comme des porcs), donc la justification est immonde surtout sur des colonnes relativement étroite
  • Une interface simplissime réduite au minimum

Résultat : passé le haut de la page, il n'y a plus que le texte, sur une colonne centrale, à l'écran. Fonctionnellement je pense que c'est assez réussi, donc.

D'un point de vue technique / back, c'est du Django 1.7, Python 2.7, MySQL 5.5. Pourquoi ? Parce que Python 2.7 et MySQL 5.5 c'est ce que j'ai déjà sur mon hébergement. Rappelez-vous : "simplicité" : je n'ai pas envie (et pas le temps) de me lancer dans l'étude d'un double hébergement Python 2 / Python 3.

La mise en page est faite avec markdown, qui a en plus la gentillesse d'accepter le formatage HTML, ce qui m'a bien aidé dans certains cas.

Pour ceux que ça intéresse, le code est disponible sur Github et sous licence MIT (parce que par contre je crois au libre dans l'informatique). L'arbre de commit est sans doute immonde, de même qu'il y a très probablement des horreurs dans le code.
Entre autre le fait que la plupart des pages ont tendance à charger toute la base pour s'afficher… du coup, le site étant principalement statique, j'ai collé un gros cache sur l'intégralité de la chose.

Oui, je sais…

D'un point de vue technique / front, c'est du Bootstrap, que je n'avais jamais touché avant. Là j'en vois qui font des crises cardiaques. Oui, je charge Boostrap pour un site qui ne fait à peu près rien (sérieusement : il n'y a même pas une seule image !).

Et vous savez quoi ? J'en suis très content. Non seulement ça m'a permis de faire exactement ce que je voulais en quelques lignes ; mais en plus ça me permet de gérer ce genre d'horreurs de mise en page sans ajouter le moindre CSS spécifique à la nouvelle, uniquement en jouant avec le formatage HTML et les classes CSS.

Alors oui, je charge Bootstrap + 2 polices spécifiques pour chaque page, mais je considère que ce n'est pas grave étant donné que ce sont des textes littéraires donc des pages sur lesquelles on reste longtemps.

Voilà ce que j'ai à vous montrer.

Je vous remets le lien : Les textes du renard

Si vous voulez tester la lisibilité avec un vrai texte, préférez Inattendu, qui est le meilleur texte du site (puisque c'est le seul a avoir été publié…)

Qu'en pensez-vous ?

Édité par SpaceFox

Staff

Un design sobre mais qui colle tout à fait au site, une lecture agréable, l'assurance de couvrir du mobile au large desktop… très bon projet !

Petite suggestion, tu pourrais en xs et sm transformer les border right et left des box gauche et droite au profil de border bottom et top.

Llama ◦ FAQ PHPTuto WAMP

+0 -0

Bien content de tomber sur ton projet ! D'habitude, je ne suis pas fan de textes écrit par des « amateurs », mais je me suis laissé prendre et j'en ai lu quelques uns et franchement, ce n'est pas mal ! En tout cas, perso, j'accroche bien !

Pour parler du site, je suis également fan. Certes, c'est sobre, simple et sans image, mais ça reste comme dit plus haut, canon ! Puis malgré la simplicité de la chose, ça reste tout même bien présenter et fait !

Tout ça pour dire, que le site à direct attiré dans mes favoris !

Édité par Flori@n.B

Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte