Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

METAL = CSS?

11 réponses
Avatar
pec
Je suis en train de créer un site avec Python, j'aimerais que mes
différentes pages aient les mêmes en-têtes et pieds-de-page, puis-je
utiliser une macro METAL? Je suis novice en python et la doc sur le
simpleTAL est assez courte... Est-ce qu'un pourrait me renseigner ou
m'indiquer la technique à utiliser?

Merci

Pec

10 réponses

1 2
Avatar
Rakotomandimby (R12y) Mihamina
( Wed, 09 Mar 2005 16:41:01 +0100 ) pec :

Je suis en train de créer un site avec Python,


Oui mais sur quel serveur?
Parceque TAL et METAL, je n'en ai entendu parler que sur Zope.
Mais j'avoue que je n'ai pas cherché à savoir si sur Apache y avait
moyen de l'utiliser...

--
L'ASPO a pour but de démocratiser l'acces a l'informatique. Une de ses
activité est l'infogerance (http://aspo.rktmb.org/activites/infogerance)
Tél: + 33 2 38 04 26 04 ou + 33 6 33 26 13 14 (France)

Avatar
Bruno Desthuilliers
Je suis en train de créer un site avec Python, j'aimerais que mes
différentes pages aient les mêmes en-têtes et pieds-de-page, puis-je
utiliser une macro METAL?


Oui.

Je suis novice en python et la doc sur le
simpleTAL est assez courte...


Regarde la doc de Zope, elle est plus complète.

Est-ce qu'un pourrait me renseigner ou
m'indiquer la technique à utiliser?


Le truc est généralement d'utiliser une 'page macro' - une macro qui
décrit l'ensemble de la page, et définit les slots à remplir par les
autres templates. Cette macro est rapellée par tous les autres templates.

ex :

# page_macro.pt

<div tal:omit-tag="" metal:define-macro="page">
<html>
<head
[blah blah blah]
</head>
<body>
<div id="page_header>
le header ici
</div>
<div id="menu_left">
<div tal:omit-tag="" metal:define-slot="menu_left">
le menu
</div>
</div>
<div id="main_content">
<div tal:omit-tag="" metal:define-slot="page_content">
le contenu
</div>
</div>
<div id="page_footer">
le footer
</div>
</body>
</html>
</div>

# template
<div tal:omit-tag="" metal:use-macro="page_macro/macros/page">
<div tal:omit-tag="" metal:fill-slot="menu_left">
ici le menu qui va bien
</div>
<div tal:omit-tag="" metal:fill-slot="page_content">
ici le contenu effectif
</div>
</div>

Merci


HTH
Bruno

Avatar
Bruno Desthuilliers
( Wed, 09 Mar 2005 16:41:01 +0100 ) pec :


Je suis en train de créer un site avec Python,



Oui mais sur quel serveur?
Parceque TAL et METAL, je n'en ai entendu parler que sur Zope.
Mais j'avoue que je n'ai pas cherché à savoir si sur Apache y avait
moyen de l'utiliser...


Apache ou pas apache, TAL est utilisable sans Zope (comme beaucoup de
choses dans Zope, d'ailleurs), soit dans l'implémentation de Zope, soit
avec SimpleTAL (une implémentation distincte).

Il y a même une version PHP !-)


Avatar
Hervé Cauwelier
Juste des précisions.

Bruno Desthuilliers wrote:
Apache ou pas apache, TAL est utilisable sans Zope, soit dans l'implémentation de Zope


Ce n'est plus vrai depuis la bêta de Zope 2.7.5.

(comme beaucoup de choses dans Zope, d'ailleurs)


ZODB surtout, mais on le récupère carrément à part. Et il vaut mieux
prendre les versions en avance sur Zope d'ailleurs. ;-)

Il y a peut-être des choses amusantes à faire avec Medusa mais bof.

--
Hervé Cauwelier
http://www.oursours.net/

Avatar
Gilles Lenfant
Je suis en train de créer un site avec Python, j'aimerais que mes
différentes pages aient les mêmes en-têtes et pieds-de-page, puis-je
utiliser une macro METAL? Je suis novice en python et la doc sur le
simpleTAL est assez courte... Est-ce qu'un pourrait me renseigner ou
m'indiquer la technique à utiliser?


Pour apprendre TAL(ES) et METAL, le mieux est de lire la doc Zope ici...

http://www.plope.com/Books/2_7Edition

Attention, le namespace TALES fourni pour Zope
(here,template,modules,...) sont spécifiques à Zope. Si tu utilises ZPT
dans une autre application Web (CGI, Cherrypy, ...) il te faudra fournir
ton propre namespace TALES.

Pour intégrer la techno ZPT dans un serveur Python (hormis Zope bien
entendu), installes roundup (un coup de google) et lis le code source
pour voir comment utiliser les Page Templates.

--
Gilles

Avatar
bruno modulix
Hervé Cauwelier wrote:
Juste des précisions.


Toujours bienvenues...

Bruno Desthuilliers wrote:

Apache ou pas apache, TAL est utilisable sans Zope, soit dans
l'implémentation de Zope



Ce n'est plus vrai depuis la bêta de Zope 2.7.5.


Il me semble avoir vu l'autre jour un projet utilisant (ou envisageant
d'utiliser, ou ayant utilisé, je n'ai fait que survoler...)
l'implémentation de TAL de Zope3.

Ceci étant, si ce n'est plus vrai depuis la 2.7.5, c'est donc que c'est
vrai pour les versions antérieures !-)

Merci en tout cas de cette précision, si ça peut éviter à certains de se
casser le nez...

(comme beaucoup de choses dans Zope, d'ailleurs)



ZODB surtout, mais on le récupère carrément à part. Et il vaut mieux
prendre les versions en avance sur Zope d'ailleurs. ;-)

Il y a peut-être des choses amusantes à faire avec Medusa mais bof.


Oui, je ne suis pas sûr que ce soit la partie la plus intéressante à
réutiliser.

<digression>
Je suis en train d'explorer ce qu'on peut faire avec mod_python, et j'ai
le présentiment qu'il y a un truc intéressant à construire avec
mod_python + TAL + (optionnel) la ZODB - un genre de mini-Zope
ultra-light, intéressant pour des applis ne nécessitant pas l'artillerie
lourde.Il existe d'ailleurs déjà un projet dans ce genre (JOTweb), il
faudrait que je prenne le temps de m'y pencher de plus près avant de
réinventer la roue.
</digression>

Bruno

--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in ''.split('@')])"


Avatar
Hervé Cauwelier
bruno modulix wrote:
Hervé Cauwelier wrote:

Ce n'est plus vrai depuis la bêta de Zope 2.7.5.


Il me semble avoir vu l'autre jour un projet utilisant (ou envisageant
d'utiliser, ou ayant utilisé, je n'ai fait que survoler...)
l'implémentation de TAL de Zope3.


Attention : Zope 2 et 3 sont deux mondes à part.

Ceci étant, si ce n'est plus vrai depuis la 2.7.5, c'est donc que c'est
vrai pour les versions antérieures !-)


Oui oui. Pour appuyer mon propos, la note dans le changelog :

« Got rid of import order dependencies in PageTemplates, TAL, and
ZTUtils. This also means that the Z2 implementation of PageTemplates no
longer works outside of Zope. »

<digression>
Je suis en train d'explorer ce qu'on peut faire avec mod_python, et j'ai
le présentiment qu'il y a un truc intéressant à construire avec
mod_python + TAL + (optionnel) la ZODB - un genre de mini-Zope
ultra-light, intéressant pour des applis ne nécessitant pas l'artillerie
lourde.Il existe d'ailleurs déjà un projet dans ce genre (JOTweb), il
faudrait que je prenne le temps de m'y pencher de plus près avant de
réinventer la roue.
</digression>


Pareil mais j'ai trouvé mon bonheur dans ikaaro. Y'a un langage de
template mais deux fois plus rapide que TAL et dix fois plus simple.

--
Hervé Cauwelier
http://www.oursours.net/


Avatar
bruno modulix
Gilles Lenfant wrote:

(snip)
Attention, le namespace TALES fourni pour Zope
(here,template,modules,...) sont spécifiques à Zope. Si tu utilises ZPT
dans une autre application Web (CGI, Cherrypy, ...) il te faudra fournir
ton propre namespace TALES.

Pour intégrer la techno ZPT dans un serveur Python (hormis Zope bien
entendu), installes roundup (un coup de google) et lis le code source
pour voir comment utiliser les Page Templates.


Pour l'intégration de SimpleTAL, voire cgi_app
http://thraxil.org/code/cgi_app/

Attention, pour les templates HTML (<> XML), SimpleTAL requiert que
toutes les chaines passées dans le 'Contexte' (le namespace accessible
au template) soit ou bien en pur ASCII, ou bien en unicode - ce qui ne
simplifie pas forcément l'utilisation. J'ai bricolé un petit module pour
'wrapper' tout ce qui est passé au template avant évaluation, en sorte
que ce problème soit géré de façon transparente pour le reste du code,
je peux le mettre à disposition si ça intéresse quelqu'un (attention,
c'est pour le moment du pur bricolage. Je comptais attendre que ce soit
un peu plus mûr, mais si ça peut rendre service en l'état...)

--
bruno desthuilliers
ruby -e "print ''.split('@').collect{|p|
p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in ''.split('@')])"

Avatar
bruno modulix
Hervé Cauwelier wrote:
bruno modulix wrote:

Hervé Cauwelier wrote:

Ce n'est plus vrai depuis la bêta de Zope 2.7.5.



Il me semble avoir vu l'autre jour un projet utilisant (ou envisageant
d'utiliser, ou ayant utilisé, je n'ai fait que survoler...)
l'implémentation de TAL de Zope3.



Attention : Zope 2 et 3 sont deux mondes à part.


J'ai cru comprendre ça !-)

(snip)

<digression>
Je suis en train d'explorer ce qu'on peut faire avec mod_python, et
j'ai le présentiment qu'il y a un truc intéressant à construire avec
mod_python + TAL + (optionnel) la ZODB - un genre de mini-Zope
ultra-light, intéressant pour des applis ne nécessitant pas
l'artillerie lourde.Il existe d'ailleurs déjà un projet dans ce genre
(JOTweb), il faudrait que je prenne le temps de m'y pencher de plus
près avant de réinventer la roue.
</digression>



Pareil mais j'ai trouvé mon bonheur dans ikaaro. Y'a un langage de
template mais deux fois plus rapide que TAL et dix fois plus simple.


Je viens d'aller jeter un oeil et ça m'a l'air bien intéressant
effectivement (je n'ai pas (pas encore...) regardé pour les templates,
mais le package iTools m'a l'air des plus prometteurs. Merci pour l'info.

--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in ''.split('@')])"



Avatar
Rakotomandimby (R12y) Mihamina
( Fri, 11 Mar 2005 09:59:47 +0100 ) bruno modulix :

mod_python + TAL + (optionnel) la ZODB


sur Apache ?
comment on fait pour avoir TAL/METAL sur Apache ? Il faut installer quoi?

--
L'ASPO a pour but de démocratiser l'acces a l'informatique. Une de ses
activité est l'infogerance (http://aspo.rktmb.org/activites/infogerance)
Tél: + 33 2 38 04 26 04 ou + 33 6 33 26 13 14 (France)

1 2