Skip to content
Olivier DOSSMANN edited this page Jan 11, 2016 · 9 revisions

Prochaine version : 0.5

L'axe principal de cete nouvelle version devrait être : KISS. Ce qui en fait une tâche difficile.

Il faut que l'utilisateur puisse se sentir à l'aise dans l'installation, la configuration et l'utilisation de Makefly :

  • utiliser des commandes simples pour l'installer
  • avoir une configuration intuitive (JSON ou YAML ?)
  • avoir un exécutable Makefly (ou autre nomination ?) pour gérer les billets, compiler le blog et publier le contenu

Installation

Écrire un script permettant de générer un exécutable de Makefly afin de l'exporter en paquet Debian (ou autres paquets).

Architecture

Revoir la manière dont est conçu le moteur de blog pour permettre de générer :

  • de la documentation
  • un site vitrine (site statique avec quelques pages)
  • un blog

Peut-être voir pour faire plusieurs templates à cette fin ? Mais si on veut un blog avec des pages statiques, comment procéder ? Ou bien les 3 à la fois ?

À ce moment, peut-être n'est-ce que la page d'accueil qui va donner un template "global" afin de dire si on voit la documentation en premier, un mode blog, ou bien le site vitrine avec la page index.md qui se trouve dans le dossier pages.

Serait-il possible d'utiliser le pattern "Factory" afin de générer ce qu'il faut ?

Documentation

Le wiki de Github n'est pas bon pour cela car on ne garde pas d'historique.

Exporter la documentation dans une branche à part pour permettre d'avoir la documentation de chaque version :

  • un tag = 1 version donnée
  • sinon on a toujours la dernière version

Quel format choisir pour la documentation ?

  • Makefly lui-même ?
  • Asciidoctor ?

Les dépôts

Idée : utiliser plusieurs dépôts git dans le même dépôt ? Comme ça les tests et la documentation sont ailleurs mais peuvent être générés si on a bien configuré le fichier pour git-repo (ou similaire).

Il faudrait pouvoir choisir soit d'avoir UN dépôt qui contient tout, soit un dépôt par axe principal :

  • tests
  • documentation
  • principal (code de base)
  • scripts de génération de la documentation, de génération des archives compressées du projet pour une version donnée, etc.

Il serait intéressant d'avoir les branches suivantes sur le dépôt principal :

  • master (seulement les versions stables et les tags de version)
  • dev (la branche en développement constant)
  • weblog (le blog du projet)
  • perso (ma branche)

Bibliothèques

Il serait intéressant d'utiliser :

  • lua-resty-template pour faciliter la création des templates
  • lua-resty-libcjson ou lua-cjson (de openresty)
  • une bibliothèque pour la parallélisation des coroutines

Parallélisation

Il faudrait pouvoir paralléliser les tâches dans Makefly afin d'améliorer le temps d'exécution.

Publication d'une nouvelle version de Makefly

Lister les points à suivre pour publier Makefly :

  • Adapter le Changelog pour mettre la date du jour
  • Ajouter un nouveau tag sur le dépôt
  • Générer la documentation
  • Publier la documentation
  • Générer les archives compressées de la nouvelle version
  • Tester les archives
  • Publier les archives
  • Mettre à jour le site web
  • Ajouter une news sur le blog
  • Ajouter une news sur LinuxFr
  • Éditer le Changelog sur la branche DEV pour se mettre en mode "trunk"

Docker

Générer un fichier Docker qui permette d'utiliser ledit Docker comme commande "makefly" sur l'hôte local (avec une option --volume par exemple).

Clone this wiki locally