Version 0.9.2 de Templeet

Posté par  (site web personnel, Mastodon) . Édité par Benoît Sibaud. Modéré par Fabien Penso.
Étiquettes :
0
7
nov.
2002
PHP
La nouvelle version de Templeet est désormais disponible. Templeet dispose désormais d'un installateur automatique qui vous facilitera la tâche. Templeet est un moteur de template, utilisé ici-même, qui vous permettra de tout faire (weblog, galerie photos, etc). Il supporte plusieurs base de données, gère les sites multi-langues, offre un cache très performant (1milliard de hits / mois sur un PII 400), et toute l'API PHP est disponible.
Cette version devrait être la dernière avant la 1.0, tout retours est bienvenue.

Aller plus loin

  • # Génération de pages statique

    Posté par  . Évalué à 0.

    Y'a un moyen de faire un contenu statique afin de faire un site html pour un cdrom ?
    j'ai cherché rapido dans la doc, mais j'ai rien vu.
  • # Re: Version 0.9.2 de Templeet

    Posté par  . Évalué à 1.

    ya un mode emacs de prévu bientôt ? :)

    (pas de troll vi emacs ;)
    • [^] # Re: Version 0.9.2 de Templeet

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

      J'aimerais bien en faire un ouais, en plus ce ne doit pas être dur.
    • [^] # Re: Version 0.9.2 de Templeet

      Posté par  . Évalué à 0.

      cela donnerait un outil puissant :)
    • [^] # gni ?

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

      http://www.djefer.com/dacode/index.htm(...)

      Cela a seulement _presque_ rien à voir.

      "La première sécurité est la liberté"

      • [^] # Re: gni ?

        Posté par  . Évalué à 1.

        Je me posais la question... modelixe vous connaissez ( http://modelixe.phpedit.com/(...) ) ? Quelqu'un l'a déjà comparé à Templeet... ? Vous en pensez quoi par rapport à templeet ?

        Voilà je comptais faire une petite appli d'admin des comptes clients (avec quelques outils d'admin) pour les clients d'un serveur... et j'ai commencé ave modelixe, mais comme j'entends passablement parler de templeet... je me posais la question...

        --
        thinair
        • [^] # Re: gni ?

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

          Bon, si je vais regarder les exemples, le premier par exemple; je vois 1. le code PHP 2. le code du Template, on a donc :

          1. PHP :

          <?
          include("ModeliXe.php");

          $test> SetModeliXe();

          $urls["0"] = "www.phpinfo.net";
          $urls["1"] = "www.phpindex.com";
          $urls["2"] = "www.phpedit.com";
          $urls["3"] = "www.ilovephp.com";
          $urls["4"] = "www.phpfrance.com";
          $urls["5"] = "www.phpfr.com";
          $urls["6"] = "faqfciwap.free.fr";
          $urls["7"] = "clauer.free.fr";
          $urls["8"] = "www.php.net";

          $couleurs["0"] = "#E0AB9A";
          $couleurs["1"] = "#9BB0F9";
          $couleurs["2"] = "#9DD89D";
          $couleurs["3"] = "#E9E66B";


          srand((double)microtime()*1000000);
          $indice = rand(0,8);

          srand((double)microtime()*1000000);
          $indice2 = rand(0,3);

          $test -> MxImage("logo", "../images/petitlogo.gif", "Un petit site au hasard", "border='0'");
          $test -> MxUrl("url", "http://".$urls(...)[$indice]."/");
          $test -> MxText("texte", "Nous sommes le ".date("d/m/Y").", il est ".date("H:i:s").".
          \n");
          $test -> MxAttribut("couleur", $couleurs[$indice2]);

          $test -> MxWrite();
          ?>

          2. Le template :

          <html>
          <head>
          <title>ModeliXe - la solution template !</title>
          <link>
          </head>

          <body>
          <table>
          <tr>
          <td>
          &nbsp;
          </td>
          </tr>
          <tr>
          <td>
          <mx:image id="logo"/>
          </td>
          </tr>
          <tr>
          <td>
          - Exemple nos 1 -
          </td>
          </tr>
          <tr>
          <td>
          &nbsp;
          </td>
          </tr>
          <tr>
          <td>
          <mx:text id="texte"/><br/>
          Cette page a été construite dynamiquement, la couleur du fond et le lien sont construits aléatoirement.<br>
          <br>
          </td>
          </tr>
          <tr>
          <td>
          <a>Le lien mystérieux</a>
          </td>
          </tr>
          <tr>
          <td>
          <br/>
          <br/>
          <br/>
          Bon PHP avec ModeliXe, Théo ;o)
          </td>
          </tr>
          <tr>
          <td>
          &nbsp;
          </td>
          </tr>
          </table>
          </body>
          </html>


          En Templeet tu ferais ta page normalement, puis tu pourrais rajouter un truc genre :

          ~set('siteweb',~split(';','monsiteweb;monsiteweb2.com;monsiteweb4.com'))
          un site web aléatoire : ~get('siteweb[~rand(0,2)]')

          qui remplacerait avantageusement le code ci-dessus.

          C'est juste un exemple rapide, mais en gros tu n'as plus à faire de php, le nombre de ligne est bien plus réduit.
          • [^] # Re: gni ?

            Posté par  . Évalué à 1.

            Interessant... je vais m'aventurer dans la doc de templeet alors...

            Merci fabien,

            --
            thinair
            • [^] # Re: gni ? smarty.php.net ?

              Posté par  . Évalué à 1.

              j'aimerais bien voir la meme comparaison de 2 fichiers sources entre
              smarty et templeet...

              par avance, merci !
          • [^] # Re: gni ?

            Posté par  . Évalué à 1.

            En Templeet tu ferais ta page normalement, puis tu pourrais rajouter un truc genre :

            ~set('siteweb',~split(';','monsiteweb;monsiteweb2.com;monsiteweb4.com'))
            un site web aléatoire : ~get('siteweb[~rand(0,2)]')


            En PHP tu ferais ta page normalement, puis tu pourrais rajouter un truc genre :

            <?php> $siteweb = array('monsiteweb', 'monsiteweb2', 'monsitewe4.com');
            echo "un site web aléatoire : ".$siteweb[rand(0,2)]; ?>


            C'est sûr que sans PHP, "le nombre de ligne est bien plus réduit" :-)
            • [^] # Re: gni ?

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

              Ca, c'est mieux :
              <?php
              $siteweb>
              En plus, c'est évolutif :), même si un peu moins rapide...

              Sans vouloir être désagréable, PHP est à la base un système de templates. Faire un système de templates par dessus permet en général de limiter le nombre de fonctions... Au fur et à mesure des besoins, on finira par avoir tout php dans le système de template...
              Rasmus trouve ca idiot et je pense pareil.
              Je sais c'est mal(tm) de dire du mal(tm) de linuxfr, flagellez moi.
              • [^] # Re: gni ?

                Posté par  . Évalué à 1.

                Rasmus trouve ca idiot et je pense pareil.

                Y a eu des discussions là-dessus ?
                T'aurais un pointeur à filer ?

                Merci :)
                • [^] # Re: gni ?

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

                  J'ai pas retrouvé le discours original mais nexen y fait référence dans sa news ici : http://dev.nexen.net/news/gen.php3/2002/10/06/1095,0,1,0,0.html(...) .
                  • [^] # Re: gni ?

                    Posté par  . Évalué à 2.

                    C'est un peu violent comme opinion. Les templates ont leur intérêt quand ils présentent un langage accessible à un graphiste web (qui ne sait pas faire de PHP), et qu'ils incluent une abstraction supplémentaire vis-à-vis des méthodes d'accès et de sélection des données. Bien sûr c'est valable pour les systèmes bien foutus (je ne suis pas sûr qu'il y en ait à l'heure actuelle ;)

                    Par contre le problème de Templeet c'est qu'il ne sépare pas du tout la logique d'application de l'habillage, ce qui en fait un PHP-bis... écrit en PHP. On ne voit pas trop l'intérêt de faire une surcouche à PHP si c'est pour continuer à écrire directement ses requêtes SQL et ses traitements de variables dans le HTML ;)
                    • [^] # Re: gni ?

                      Posté par  . Évalué à 0.

                      1) rien ne t'empeche de faire ton templeet de préremplissage de variable, puis d'en appeler 1 qui va les afficher, comme ça tu sépares le contenu de la forme!
                      C'est juste que Fabien code pas comme ça et personnelement c'est ce que je fais aussi

                      2) Moi j'ai regardé quelque langage de template (smarty et 2 autres) et ça m'a franchement pas emballé !
                      je voulais faire un truc et j'avais commencé en php, j'ai mis moins de temps à apprendre templeet et tout refaire en mieux que de continuer mon truc, pcq en php ça devenait trop prise de tête!
                      De plus pouvoir faire ~fonction_php direct, ça permet de ne pas brider inutilement et stupidement templeet.

                      Maintenant moi je trouve ça plus rapide à développer que du php et si templeet te plait pas, justement t'as le choix prend autre chose!
                      • [^] # Re: gni ?

                        Posté par  . Évalué à 1.

                        Maintenant moi je trouve ça plus rapide à développer que du php et si templeet te plait pas, justement t'as le choix prend autre chose!

                        Merci du conseil, vieux, mais, heu, t'inquiète pas, je suis assez grand.
                      • [^] # Re: gni ?

                        Posté par  . Évalué à 1.

                        Il est clair que chacun choisit ce qu'il préfère mais ça n'empêche pas de voir les inconvénients d'un autre système. Malgré l'énergie déployée par Fabien à le présenter comme LE nouveau système de template, templeet n'en est pas un. Quel est l'intérêt à vouloir le présenter comme tel alors qu'il ne l'est pas? Je ne comprend pas.
                        De plus, j'ai des doutes concernant la maitenance d'un gros site écrit en templeet en cas de reprise par un autre développeur. C'est carrément un nouveau langage à apprendre. Templeet couvre toutes les fonctions disponibles dans php? Donc, tu dois forcément te retrouver à faire du php à un moment ou un autre ou constamment attendre que la nouvelle version de templeet couvre les fonctions désirées (je compte sur vous pour me corriger si j'ai faux;-).
                        Un système de template permet par définition, une séparation entre la présentation et le code pour permettre à un graphiste et un développeur de travailler en même temps sur la même page. Je ne vois pas comment on peut arriver à celà avec templeet. Merci d'éclairer ma lanterne et par la même occasion, de me dire pourquoi il faut absolument que templeet soit un système de template.
                        • [^] # Re: gni ?

                          Posté par  . Évalué à 1.

                          C'est carrément un nouveau langage à apprendre. Templeet couvre toutes les fonctions disponibles dans php? Donc, tu dois forcément te retrouver à faire du php à un moment ou un autre ou constamment attendre que la nouvelle version de templeet couvre les fonctions désirées

                          Templeet n'a pas besoin d'être mis à jour pour utiliser les fonctions de la dernière version de PHP, il suffit que la dernière version de PHP soit installée pour que ça marche.
                          Autrement dit, ~function() appellera automatiquement la fonction 'function' en PHP (si une fonction du même nom n'existe pas dans les modules templeet, évidemment).
                          • [^] # Re: gni ?

                            Posté par  . Évalué à 2.

                            Autrement dit, ~function() appellera automatiquement la fonction 'function' en PHP (si une fonction du même nom n'existe pas dans les modules templeet, évidemment).

                            Autant pour moi. En gros, tu fais:
                            ~function() au lieu de faire <?> et tout ça dans ta page html...
                            Ce n'est toujours pas à mes yeux un système de template et j'ai du mal à comprendre l'intérêt de templeet à ce niveau.
                            Néammoins, peux-tu me parler un peu du processus de parsage des pages, des spécificités du cache (peut-on cacher uniquement certaines portions de la page?) et me donner un exemple de code de connexion à une bdd permettant d'utiliser la fonction ~list("SQL")?
                            Merci.
                            • [^] # Re: gni ?

                              Posté par  . Évalué à 1.

                              Moi non, parce que ça fait un moment que j'ai pas regardé Templeet (par manque de temps), mais je pense que le début de doc de templeet.org, ainsi que les abonnés à templeet-user, devraient pouvoir te renseigner.
                            • [^] # Re: gni ?

                              Posté par  . Évalué à 1.

                              ~function() au lieu de faire <?> et tout ça dans ta page html...

                              Oups, dacode m'a censuré.
                              Tu auras sans doute compris que je voulais écrire la même fonction entre les balises php.
                              • [^] # Re: gni ?

                                Posté par  . Évalué à 1.

                                Oups, dacode m'a censuré.

                                Là, précisément, ce sont les templates linuxfr utilisant Templeet, pas daCode :)
                                • [^] # Re: gni ?

                                  Posté par  . Évalué à 0.

                                  J'osait pas le dire...
                        • [^] # Re: gni ?

                          Posté par  . Évalué à 1.

                          j'suis pas sur que t'es lu ce que j'ai marqué avant
                          • [^] # Post constructif ;-))

                            Posté par  . Évalué à 2.

                            Si mais je crois que c'est toi qui n'as pas compris ;)

                            Si templeet est un système de templates "parce que tu peux coder la séparation des données et de la présentation toi-même", alors l'assembleur et le cobol sont aussi des systèmes de templates. Ce qui ne veut pas dire grand'chose, tu en conviendras.
              • [^] # Re: gni ?

                Posté par  . Évalué à 1.

                Ben, dans Templeet, tu as tout PHP dans le système de template, mais avec un cache puissant et bien foutu derrière.
                • [^] # Re: gni ?

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

                  Tu rajoutes quand même une couche qui n'est à mon avis pas nécessaire. Tu peux mettre un système de cache sans rajouter les ~machin qui trainent.
                  Je n'ai pas regardé templeet parce que le simple mot "template" me saoule (trop entendu, trop à la mode) donc je me trompe peut-être. N'hésite pas à me montrer où je fais erreur.
                • [^] # Re: gni ?

                  Posté par  . Évalué à 1.

                  oui, c'est vrai, avec ~eval("string php"), tu peux effectivement assimiler tout le code php. Moi aussi je suis un peu perplexe a l'heure actuelle concernant les templeetes ... Ca fait un peu macro-commandes, voir batch windows, oulala. Cependant, force est de constater que les sites a base de template marche plutot bien et offre un panel fonctionnel assez interessant de la à attribuer la qualité et le succes du site au templates, il faut voir.

                  ~jump(~url(~random()))

                  bonne journée ...
                  • [^] # Re: gni ?

                    Posté par  . Évalué à 1.

                    Tu peux aussi simplement utiliser les fonctions PHP dans Templeet. stripslashes() devient juste ~stripslashes(), par exemple.
          • [^] # Re: gni ?

            Posté par  . Évalué à 1.

            L'equipe de Modelixe a commencé un port de PHP vers le C en incluant ce moteur de template
            directement dans le code de PHP.
            Ce qui doit a mon avis accelerer l'execution par rapport a Modelixe en PHP ou Templeet.

            Mis a part le fait que s'il est ecrit en PHP, on peut l'installer sur n'importe quel serveur sans avoir a recompiler PHP,
            pourquoi n'avoir pas developpé Templeet ainsi ?
            (apres tout, vous avez la main sur les serveurs linuxFR !)
            • [^] # Re: gni ?

              Posté par  . Évalué à 1.

              Je crois que c'était prévu, je ne sais pas si c'est toujours d'actualité.
            • [^] # Re: gni ?

              Posté par  . Évalué à 2.

              Il y a déjà une version de templeet écrite en python, on en parle plus (parce qeu l'auteur n'a plus le temps) mais ça commençait à bien fonctionner.

              <histoire>Au début, dites si je dis des conneries, "templeet" enfin plutôt son concept était un module apache écrit en C par Pascal Courtois...</histoire>
            • [^] # Re: gni ?

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

              Parce que vu le système de cache, la majorité des pages servies sont statiques et donc le module php n'est même pas utilisé.
              Le gain serait donc négligeable la plupart du temps.
  • # Re: Version 0.9.2 de Templeet

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

    un milliard de hits !!

    merci coincoin ;)
    • [^] # Re: Version 0.9.2 de Templeet

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

      \o/ Mickey !!!

      L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire

  • # Pourquoi SQL?

    Posté par  . Évalué à 1.

    Templeet supporte plusieurs bases de donnees, mais que des bases qui necessitent un serveur SQL. C'est dommage.

    Est-ce-qu'il est prevu d'utiliser des alternatives plus legeres comme BerkeleyDB, DynDB, GDBM, voire SQLite?
  • # Re: Version 0.9.2 de Templeet

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

    Juste pour (re)signaler que je trouve que la news principale (celle ci pour l'instant) se voit beaucoup moins que les autres et passe plutot inapercue dans la page principale
  • # smarty template engine "officiel" de PHP

    Posté par  . Évalué à 1.

    comment templeet se compare à smarty ?

    http://smarty.php.net/(...)
  • # Principe des templates

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

    Bonjour,

    Je me posais une question ....
    Le but des templates n'était t'il pas de séparer le fond de la forme ??

    Or avec Templeet on mélange les deux, du coup je ne vois pas trop l'intérêt.
    Autant directement tout ecrire en PHP directement non ? Au gagne au moins le temps du parsage.

    Je prefere le systeme de la phplib,modelixe ou de smarty a celui (enfin surtout je comprends mieux leur interet.

    zapoyok
    • [^] # Commentaire supprimé

      Posté par  . Évalué à 1.

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

    • [^] # Re: Principe des templates

      Posté par  . Évalué à 1.

      Tu peux très bien faire 1 template avec dedans le code de traitement, puis appeler un deuxième pour le template de mise en forme!

      Moi personnellement je préfère faire comme ça

Suivre le flux des commentaires

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