Journal TempLight 1.0, un moteur de template

Posté par  .
Étiquettes : aucune
0
22
août
2006

TempLight est un moteur de template écrit en PHP5.


J'ai créé ce moteur de Template car je trouvais que ceux qui proposais des moteurs faisais des choses sales (connexion à la base de données) et était trop complexes. Pour moi un moteur de template s'arrête à la génération de texte.


Dans dans cet esprit que TempLight à été créé. Je sais que certains diront que PHP est déjà un langage de génération de texte mais je leurs répondrais que cela a des implications sur la sécurité, et que par exemple, il est plus facile de généraliser un système de cache si l'on utilise une classe de template.


TempLight est constitué de :



  • Seulement trois fonctions publiques

  • D'un seul fichier

  • D'un langage de template à la syntaxe paramétrable


TempLight permet de générer absolument n'importe quelle structure de données qu'il est possible créer avec HTML comme que des listes imbriquées.



Voilà, en espérant que vous y ferez bonne accueil. Pour l'occasion, j'ai créé un site à la sauce Web 2.0 (oui avec un logo qui se reflète) :



Le site de TempLight : http://templight.dosimple.ch/

  • # Enfin !

    Posté par  . Évalué à 8.

    Maintenant j'ai une definition claire de ce qu'est le web 2.0: c'est un logo qui se reflete !

    merci ;)

    -1
    • [^] # Re: Enfin !

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

      Ce site n'est pas web 2.0 : il propose des applications en versions stables.
    • [^] # Re: Web 2.0 = logo qui se reflète

      Posté par  . Évalué à 4.

      Maintenant j'ai une definition claire de ce qu'est le web 2.0: c'est un logo qui se reflete !

      Hypothèse :
      1/ Il affiche une image dans son code HTML.
      2 Un script javascript, parcoure l'arbre, détecte l'image.
      3/ Le JS charge l'image et soumet cette image à un bout d'appli hébergé sur le serveur web (xmlhttprequest inside !)
      4/ Ce bout d'appli qui renverse l'image et lui applique un dégradé, et retourne l'adresse de l'image inversée dans un document XML
      5/ le script javascript récupère l'adresse de cette image et modifie le DOM pour afficher ladite image sous la première.

      J'ai pas plus compliqué... Mais peut-être est-il possible de mettre plus d'ajax dans le processus.

      D'où le "web 2.0" parce qu'il y a du DOM, de l'ajax et autres mots qui rendent les sites plus décideurs compliants.
  • # Licence

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

    Tu as oublié de le préciser (je présume que ça te paraissait évident):

    TempLight est distribué sous licence GNU GPL
  • # Commentaire supprimé

    Posté par  . Évalué à 3.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: Langage de template

      Posté par  . Évalué à 2.

      "En quoi est-ce un problème de sécurité d'utiliser PHP comme language de template"

      Imagine que tu donne le droit en écriture sur le dossier des templates afin que les utilisateurs de ton système puissent changer des choses dans les templates.

      Avec du PHP dedans c'est un problème de sécurité.

      "Est-ce que TempLight est conçu pour générer différent formats ou juste changer la tronche du résultat"

      Générer différent format de quoi ? TempLight est fait pour générer du format text. Ca s'arrête là.
      • [^] # Commentaire supprimé

        Posté par  . Évalué à 2.

        Ce commentaire a été supprimé par l’équipe de modération.

        • [^] # Re: Langage de template

          Posté par  . Évalué à 1.

          "Mieux vaut utiliser un PATH d'inclusion de template. Chaque utilisateurs peut alors personnaliser sont template."

          Mouis ? Oki. Je connais pas bien toutes les possibilités du coté serveur. Mais là je suppose que tu veux dire qu'il est possible de restreindre l'éxécution d'un script PHP à un dossier particulier ? C'est bien ça ?

          En ce qui concerne la sécurité, là il est encore possible d'inclure et d'hériter n'importe quel fichier. Il faudrait confiner ces fonctions au répértoire de base du fichier passé au constructeur. Je vais faire en sorte que ça fonctionne de cette manière dans la prochaine version.

          "html, xhtml, pdf, rss, etc. c'est partout du texte."

          Templight est faire pour générer n'importe quel format texte.
    • [^] # Re: Langage de template

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      bon, recherche sur linuxfr les journaux annonçant des nouveaux moteurs de template (c'est la mode en ce moment), tu auras les réponses à tes questions, ce genre de discussion ayant déjà eu lieu mainte fois...
      • [^] # Re: Langage de template

        Posté par  . Évalué à 2.

        La dernière discussion en date à ce sujet est, à ma connaissance, https://linuxfr.org/2006/08/03/21153.html
      • [^] # Re: Langage de template

        Posté par  . Évalué à 1.


        bon, recherche sur linuxfr les journaux annonçant des nouveaux moteurs de template (c'est la mode en ce moment), tu auras les réponses à tes questions, ce genre de discussion ayant déjà eu lieu mainte fois...

        et finit systématiquement en gros troll des familles.
        En ce qui me concerne je ne vois vraiment pas l'intérêt d'un langage de template, et l'argument du "imagines que tu donnes l'accès en écriture blahblahblah".
        Si tu donnes l'accès en écriture à ton repertoire de template, déjà à mon sens c'est une grosse connerie, parce que même sans PHP ils vont pouvoir te defacer le site correct. Ensuite si tu donnes l'accès en écriture à des utilisateurs de ton système, c'est que tu leur fait confiance, sinon on retombe sur le problème précédent.
        • [^] # Re: Langage de template

          Posté par  . Évalué à 1.

          Tu ne vois pas l'interêt et je peux le comprendre. Oui on peut tout faire aussi avec PHP sans passer par un langage de template. Mais le fait de passer par là simplifie certaine chose comme la syntaxe, donne accès à des fonctions sympathique comme l'héritage (peut-on faire aussi simple en PHP ?) et pourrait permettre de réaliser un système de cache complex et unifié. Sans parler du fait que le langage de template pourrait être facilement implanté dans un autre langage de programmation.

          Pour la question de la sécurité, si l'utilisateur veut défacer son site il est bien libre de faire ce qu'il veut. Mais il ne devrais pas pouvoir défacer celui des autres. Tu vois ce que je veux dire ?
  • # Vraiment php5 ?

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

    TempLight est un moteur de template écrit en PHP5.


    mmm, bizarre.. Dans le code source, je ne vois nulle part :

    - l'utilisation d'exception
    - les indications d'accés des méthodes et propriétés (protected, public, private etc..)
    - en général, tout ce qui a trait au modèle objet de PHP5

    Pour moi, c'est du PHP4... (ce qui n'est pas forcément un mal, mais faut juste dire la vérité ;-) )
    • [^] # Re: Vraiment php5 ?

      Posté par  . Évalué à 1.

      Oui en effet c'est presque du PHP4... Mais ça ne mache pas en PHP4.

      Cela provient , à mon avis, d'un problème de référence dans une partie assez restreinte du code (dans la génération de l'arbre de Node).

      J'ai pas vraiment le temps de chercher d'où viens exactement le problème .... Mais si vous avez une idée ?

Suivre le flux des commentaires

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