Journal First KISS

Posté par  .
Étiquettes : aucune
0
5
juil.
2008
Ah, les CMS... Pour un usage personnel il en existe toute une floppée qui font basiquement tous plus ou moins la même chose : à partir d'un gabarit de page, ils vous permettent d'inclure du contenu via une interface d'édition plus ou moins pas pratique, ils s'appuient sur un langage dynamique comme PHP et souvent sur une base de données style MySQL, tout ça pour générer du contenu qui sera en majeure partie statique.

Alors pour les amateurs de MinimaliCMS, j'annonce l'alpha1 de Tiny Web Toolbox, mon premier "programme" (snif) :

  • c'est un simple script shell censé être portable sur tout shell POSIX, de Bash à busybox en passant par les shells BSD et le ash de Hawaii, afin que même votre téléphone portable ou votre routeur puissent se transformer en serveur web

  • il génère des pages statiques. Plus léger, plus rapide, plus sécurisé. Sauvez des chatons en utilisant moins de ressources !

  • il met à jour les pages lorsque le gabarit a changé, tout en travaillant sur des pages d'un seul bloc (pas de distinction fichier source / fichier généré)

  • il transforme les liens absolus en liens symboliques pour que vous puissiez tester votre site n'importe où sans installer de serveur http en local

  • on peut le hacker facilement dans tous les sens

  • on peut l'utiliser partout où on a accès à un shell, en local ou à distance, en éditant les pages avec son éditeur préféré

  • il n'impose pas de syntaxe particulière, écrivez votre contenu en HTML pur, ou avec LaTeX, ou avec txt2tags, ou markdown, ou ce qu'il vous plaît

  • il permet d'automatiser certaines tâches, comme l'écriture de la date de modification ou du titre de la page

  • il propose de faire des sauvegardes au cas où mon superbe code faire disparaître tout le contenu des pages

  • il vous fournit l'arme ultime contre les spams de commentaires : vous mettez un lien mailto ou un petit formulaire, et vous gérez ça vous-même

  • on fait ce qu'on veut avec le gabarit HTML et la CSS, il n'y a aucune contrainte

  • s'il vous manque quelque chose, que vous avez écrit une fonctionnalité utile, que vous avez amélioré le code, envoyez-moi la modification et ce sera inclus, vive le libre (licence MIT)

  • vous avez l'honneur de consulter mon premier "programme", écrit sûrement d'une façon qui pique les yeux, on en pleure de bonheur

  • j'imagine donc que c'est un joli champ de bugs ; ça tombe bien, c'est l'époque de la récolte


  • À télécharger sur http://konstelacioj.info/twt/ !

    Merci à tous ceux ici qui m'ont aidé lorsque j'ai galéré avec le code !
  • # Bon courage

    Posté par  . Évalué à 6.

    Écrire un CMS en lange de script shell, c'est courageux.

    J'aime bien aussi le fait que ça génère des pages statiques, pour les performances, c'est un vrai plus.

    Envoyé depuis mon lapin.

  • # Demo ?

    Posté par  . Évalué à 5.

    J'espérais quelques pages sur ton site pour montrer un exemple d'utilisation.... mais heuu, quand je vois la page d'accueil qui contient seulement :
    Rien
    C'est vide pour le moment parce qu'il n'y a rien d'intéressant.

    Ça montre que ça gère des contenus complexe ^^ (je parle d'image/hyperliens entre les pages/ect...).

    Enfin, ce n'est que le début. Bon courage.
    • [^] # Re: Demo ?

      Posté par  . Évalué à 2.

      Voilà c'est corrigé.
      Il faut dire que j'ai fini le script aujourd'hui, alors il faut le temps de migrer quelques pages. Attention, le site lui-même est en version alpha ;-)
  • # tant de cms...

    Posté par  (site web personnel) . Évalué à 5.

    Ah, les CMS... Pour un usage personnel il en existe toute une floppée
    et un de plus?

    Pour faire des pages statiques, il existe déjà énormement d'outils.

    Sinon, c'est quand meme un beau travail pour un script shell, pas de doute :)
    • [^] # Re: tant de cms...

      Posté par  . Évalué à 2.

      L'avantage ici, c'est que ce n'est pas un CMS à proprement parler, mais une boîte à outils pour gérer un site web, ce qui laisse toute liberté sur la manière de faire son site.

      J'ai cherché des outils qui le faisaient, je n'en ai pas trouvé. txt2tags, markdown et cie imposent leur syntaxe et manquent de souplesse quant au HTML généré : comment j'ajoute des attributs alt, title ou rel, ou des ancres, ou des classes/ids persos sur certains éléments, etc ? S'il y a d'autres outils pour bosser sur du HTML, ça m'intéresse :-)
      • [^] # Re: tant de cms...

        Posté par  . Évalué à 2.

        je ne sais pas pour markdown, mais avec txt2tags tu peux utiliser le système de macro et de préprocesseur pour étendre à l'infini la syntaxe.
        Exemple:

        http://ifiction.free.fr/txt2tags/configifiction.txt

        Bien sûr, cela ne retire pas les qualités de ton outils TWT

        Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

    • [^] # Re: tant de cms...

      Posté par  (Mastodon) . Évalué à 2.

      > Pour faire des pages statiques, il existe déjà énormement d'outils.

      J'en cherche un en ce moment, tu pourrais donner une petite liste s'il te plait ? ;)
      • [^] # Re: tant de cms...

        Posté par  . Évalué à 2.

        Movable Type ([http://www.movabletype.org/]) est sous GPL et par défaut génère du HTML statique.
        Exemple :
        [mt:entries]
        [mt:entrytitle /]
        [/mt:entries]

        Ici, tu boucles sur des entrées (doc du tag là : [http://www.movabletype.org/documentation/appendices/tags/ent(...)]) et entrytitle te donne le titre de l'entrée en texte standard (non-htmlisé). Tu peux donc décorer de la manière que tu veux. L'avantage, c'est que tu bénéficies d'une souplesse considérable et tu obtiens exactement ce que tu veux en terme de rendu : tu peux filtrer par exemple n'importe comment avec cette balise (par blog, par catégorie, par tag, etc...).

        Ensuite, c'est une solution qui ne conviendra probablement pas à l'auteur du journal :
        - c'est gros, plein de fonctionnalités et il ne recherche peut-être pas tout (gestion des commentaires, trackbacks, etc...)
        - c'est une interface web et j'ai l'impression qu'il veut quelque chose en ligne de commande
  • # Konstelacioj

    Posté par  (site web personnel) . Évalué à -7.

    C'est une bonne idée d'avoir choisi un nom de domaine en espéranto.
    Mais l'espéranto, c'est beaucoup plus qu'un simple catalogue de jolis mots pour programmeurs et webmestres en mal d'inspiration (ceci dit sans vouloir t'offenser).

    Pourquoi ne pas aller jusqu'au bout de la démarche, en rédigeant la doc de ton outil dans cette langue ?
    • [^] # Re: Konstelacioj

      Posté par  . Évalué à 9.

      Pourquoi ne pas aller jusqu'au bout de la démarche, en rédigeant la doc de ton outil dans cette langue ?
      Ça fait doucement rigoler cette remarque.
      D'une part, Konstelacioj n'a jamais été cité comme le nom du programme.
      Ensuite, si tu veux traduire sa doc' en espéranto, en sanskrit, ou même en klingon, ça m'étonnerait qu'il refuse le machin.
      Et enfin, ça peut paraître surprenant, mais quelqu'un qui code, déjà, il aime pas toujours faire de la doc' (Parce que c'est long, qu'il trouve ça chiant, qu'il faut déjà documenter le code, qu'une doc' de qualité, c'est pas facile à faire), alors, pourquoi il aurait envie de la traduire ?
      Surtout dans un langage parlé par 3 péquins dans le monde. Et d'autant plus pour un petit programme pas encore diffusé mondialement et dont les utilisateurs seront essentiellement des geeks… qui ont environ 3 milliards de fois plus de chance de parler l'anglais que le klingon l'espéranto (Ou une de ses nombreuses variantes, qui feraient passer les créateurs de BÉPO pour des feignasses en manque d'inspiration).

      Enfin, la remarque de l'espéranto sur le nom, c'est son site, il fait ce qu'il veut. Quand on voit tous les noms de programmes qui sont en Anglais (Aller, au hasard, Windows) ou en Français (Au hasard, encore, Pâturage), personne ne vient râler parce que "Tu comprends, l'anglais/le français/le japonais/le copte, ce sont pas que des catalogues de jolis mots pour programmeurs".
      • [^] # Re: Konstelacioj

        Posté par  . Évalué à 2.

        Je pense que la proportion d’esperantistoj doit justement être assez forte chez les geeks (le genre de gars qui se fait son pilote bépo pour son OpenSolaris sur Z80, rien que pour le principe).
        • [^] # Re: Konstelacioj

          Posté par  . Évalué à 5.

          Oui, comme il y a une proportion de klingonistes assez forte. Ça change pas que par rapport à la proportion d'anglophone, ben, c'est négligeable, d'autant plus chez les geeks.
      • [^] # Re: Konstelacioj

        Posté par  (site web personnel) . Évalué à 3.

        Et enfin, ça peut paraître surprenant, mais quelqu'un qui code, déjà, il aime pas toujours faire de la doc' (Parce que c'est long, qu'il trouve ça chiant, qu'il faut déjà documenter le code, qu'une doc' de qualité, c'est pas facile à faire), alors, pourquoi il aurait envie de la traduire ?

        Parce qu'un programme c'est dur à faire, alors ça doit aussi être dur à lire !
      • [^] # Re: Konstelacioj

        Posté par  (site web personnel) . Évalué à 1.

        > Ça fait doucement rigoler cette remarque.

        Mon commentaire aura donc servi à quelque chose.

        > D'une part, Konstelacioj n'a jamais été cité comme le nom du programme.

        Et je n'ai jamais prétendu que c'était le cas...

        > Et enfin, ça peut paraître surprenant, mais quelqu'un qui code, déjà, il aime pas toujours faire de la doc [...] alors, pourquoi il aurait envie de la traduire ?

        Je n'ai pas parlé de "traduire".
        Il est toujours possible de l'écrire directement en espéranto :)

        > Enfin, la remarque de l'espéranto sur le nom, c'est son site, il fait ce qu'il veut.

        Je n'ai jamais dit le contraire.

        > personne ne vient râler parce que "Tu comprends, l'anglais/le français/le japonais/le copte, ce sont pas que des catalogues de jolis mots pour programmeurs".

        Je n'ai pas "râlé".
        J'ai juste posé une question et fait une suggestion.

        Je réagis simplement au fait que je vois régulièrment apparaître des programmes, des sites internet, des associations dont les noms sont en espéranto, mais qui ne cherchent pas à aller plus loin.

        Les personnes qui parlent mal le français ou l'anglais, mais qui parlent correctement l'espéranto (et ça représente plus de 3 personnes) peuvent se casser le nez sur des sites dont le nom est en espéranto, mais pas le contenu.

        Je trouve juste ça dommage et je tenais à le signaler.
    • [^] # Re: Konstelacioj

      Posté par  (site web personnel) . Évalué à 4.

      > Pourquoi ne pas aller jusqu'au bout de la démarche, en rédigeant la
      > doc de ton outil dans cette langue ?

      Peut être que tout simplement il ne le parle pas !

      Tous mes programmes ont des noms bretons, plutôt en vannetais d'ailleurs mais malheureusement, je ne le parle pas. Peut être un jour...

      On peut aimer une langue et ne pas la parler.
      • [^] # Re: Konstelacioj

        Posté par  . Évalué à 2.

        C'est tout à fait ça, je parle esperanto comme une vache espagnole :-)
        • [^] # Re: Konstelacioj

          Posté par  (site web personnel) . Évalué à 1.

          Mon commentaire n'était pas à prendre comme une critique personnelle, mais plutôt comme un encouragement.

          A part ça, je peux fort bien comprendre que tu souhaites consacrer plus de temps à développer ton outil qu'à apprendre cette langue.
  • # autre minicms.

    Posté par  . Évalué à 0.

    salut,

    bon évidemment ce n'est pas pour nourir un troll mais d'autres cms, qui n'utilisent que du bash, existent:

    http://www.suckless.org/wiki/tools

    http://repo.cat-v.org/werc
    • [^] # Re: autre minicms.

      Posté par  . Évalué à 2.

      Héhé, manque de pot, ce sont des outils qui n'utilisent pas Bash mais rc, le shell de Plan9. Ils ont une dépendance sur les outils Plan9, dommage pour la portabilité. Sinon merci pour les liens, ça a l'air intéressant, je vais y jeter un oeil.

      En passant j'ai un problème bizarre avec werc : 9,2Mo compressé, 116Ko décompressé, je ne sais pas comment il a créé son archive...
  • # Erreurs

    Posté par  . Évalué à 1.

    J'obtiens qq erreurs :
    Do you want to make a backup of your pages in case something goes wrong ? (Y/n)
    read: 287: Illegal option -e
    test: 287: y: unexpected operator
    test: 287: Y: unexpected operator
    test: 287: yes: unexpected operator
    test: 287: YES: unexpected operator
    Skip making backups.
    index.html updated


    Sinon, c'est une trés bonne idée ce script ! Continue le !
  • # Tiens, j'ai fait pareil

    Posté par  . Évalué à 1.

    Je suis en train de faire un petit script shell qui me permettra de bloguer sur un site web.

    Ca ressemble à ce que tu fais. Un script shell qui me génère mes pages, et hop.

    Il ne me reste plus qu'a implémenter les commentaires, mais là, en script shell, je ne vois pas trop comment faire...
    • [^] # Re: Tiens, j'ai fait pareil

      Posté par  . Évalué à 2.

      Tant que le serveur peut utiliser des scripts shells en tant que CGI... Mais bon courage, c'est galère à sécuriser, et il faut réussir à récupérer le contenu envoyé, codé avec des %XY au lieu des caractères spéciaux.

      Jette un oeil à Diri, qui contient un script awk qui permet de décoder ces caractères, même si je ne sais pas ce que ça vaut si tu utilises de l'UTF-8 avec des caractères codés sur un nombre variable d'octets... Mais ça m'intéresse si c'est faisable ;-)
    • [^] # Re: Tiens, j'ai fait pareil

      Posté par  . Évalué à 1.

      Il y a moyen de voir à quoi ressemble le script ? :-) On pourrait merger les deux pour éviter de dupliquer le boulot.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.