Les textes du renard

a marqué ce sujet comme résolu.

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 ?

Ça fait un moment que je cherche une solution de ce genre pour mon usage personnel. Du coup, j'ai regardé avec attention et, ma foi, c'est canon. Je n'ai pas regardé le code, je parle juste du produit fini : ça en jette.

+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 !

Petite citation personnelle :

LaTeX, c’est de la merde, mais on n’a pas mieux.

Moi, un soir, en pleine rédaction d’un article scientifique

Si tes .tex n’ont pas d’images, tu gagnerais peut-être à regarder du côté de tectonic, qui cherche à ramener latex en 2017.

+1 -0

Ha si, y’a des images (surtout dans les critiques de bouquins). D’ailleurs, ça m’a cassé les pieds, mais du côté de Pandoc du coup – qui a l’option qui m’intéressait pour définir un dossier racine pour les images, mais cette option n’est pas encore dans une version publiée…

PS : pour éviter de me re-planter, je verrouille ce topic-ci. Il faut maintenant aller ici pour discuter de mon site et de ses aspects techniques.

Ce sujet est verrouillé.