-
Notifications
You must be signed in to change notification settings - Fork 3
Prise de notes
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
Écrire un script permettant de générer un exécutable de Makefly afin de l'exporter en paquet Debian (ou autres paquets).
Un Makefile est d'usage pour :
- définir les répertoires par défaut de l'installation finale (genre de PREFIX)
- générer les liens entre les différents fichiers en fonction des répertoires de l'installation finale
- poser une copie des éléments nécessaires dans un dossier "2beinstalled" (par exemple)
- installer les fichiers résultants à l'aide de la commande
make install - prévoir aussi la désinstallation des fichiers
Nous pourrions par exemple générer :
- un dossier /lib qui contient les bibliothèques Lua
- un exécutable /usr/bin/makefly qui appelle les bons fichiers de /lib et puisse être utilisé depuis n'importe quel dossier du système
Si Makefly est utilisable depuis n'importe où et installable sur un système, il devient intéresser de :
- faire un .rockspec (pour être installable depuis luarocks) Cf. https://github.com/keplerproject/luarocks/wiki/Rockspec-format
- faire un fichier Makefile d'installation
- packager Makefly en .deb, .rpm, etc. pour différentes distributions
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 ?
Autre idées :
- Trier les billets par année, mois, puis date afin d'obtenir une URL plus sympa pour le référencement
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 ?
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)
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
Il faudrait pouvoir paralléliser les tâches dans Makefly afin d'améliorer le temps d'exécution.
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"
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).
Trouver un outil de test afin de pouvoir générer plusieurs blogs.
Liens :
Permettre la traduction en plusieurs langues du produit :
- documentation
- sortie console de la commande makefly
- contenu du blog (résultat public)
- site web
- blog (en plusieurs langues)
- Permettre l'utilisation/génération/maintenance de plusieurs blogs
- Générer le blog en plusieurs langues (probablement utiliser la fonctionnalité de génération de plusieurs blogs)
- Permettre la personnalisation de l'URL
Écrire Makefly en Moonscript pour simplifier la génération du code, la lecture, la maintenance, etc. ? Cela fait partie du KISS.