cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sébastien ARBOGAST <argog...@sympatico.ca>
Subject Re: Structure d'un site sur 3 colonnes
Date Mon, 14 Mar 2005 17:38:16 GMT
En fait je n'ai aucun problème avec la forme que ça peut prendre. Je 
sais que l'idée c'est de faire ça avec du CSS et tout mais mon problème 
c'est plus pour produire la page XHTML.
Histoire de repréciser un peu ce que je veux faire, l'idée c'est que 
pour n'importe quelle page de mon pipeline, je voudrais appliquer une 
procédure apply-theme qui "emballe" le contenu de ma page dans un joli 
paquet XHTML.
En gros ce que je voudrais faire c'est regroupement au sein d'un même 
traitement (le fameux apply-theme)
1- la récupération des contenus périphériques : entete, menu de 
navigation, menu contextuel et pied de page (un pipeline pour chacun 
pour pouvoir récupérer les données d'une base par exemple)
2- l'aggrégation de ces 4 contenus avec celui de la page passée en 
paramètre pour produire une vue du style :

<view>
    <header>Titre/Logo</header>
    <navigation>
        <menu>Item1</menu>
        <menu>Item2</menu>
    </navigation>
    <page>Mon contenu
    <contextual>
        <action>Action1</action>
        <action>Action2</action>
    </contextual>
    <footer>Copyright machin chose</footer>
</view>

3- la transformation XSLT de cette vue en une page XHTML :

<html>
    <head>
        <link rel="stylesheet" type="text/css" src="css/main.css"/>
    </head>
    <body>
        <div id="main">
            <div id="north">Titre/Logo</div>
            <div id="west">
                <a href="...">Item1</a><br/>
                <a href="...">Item2</a><br/>
            </div>
            <div id="center">Mon contenu</div>
            <div id="east">
                <a href="...">Action1</a><br/>
                <a href="...">Action2</a><br/>
            </div>
            <div id="south">
                Copyright machin chose
            </div>
        </div>
    </body>
</html>

La sortie du point 3 pourrait être sérialisée (ou alors transformée 
d'abord pour localiser l'interface).
Et pour l'entrée de ce traitement "apply-theme", il y aurait deux éléments :
1 - Le contenu de la page requise, issu d'un pipeline aussi
2 - Les paramètres de la requête pour pouvoir adapter le rendu des 
différents éléments d'interface en fonction.

Pour ce qui est de faire la feuille de style CSS pour faire en sorte que 
mes div dans ma page xhtml apparaissent correctement à l'écran, j'en 
fais mon affaire. Ce qui me pose plus de problème c'est de partir du 
contenu de la page en XML pour arriver au contenu de la vue en XHTML 
avec toute l'interface du thème.

Je sais que j'en demande un peu beaucoup, d'autant plus que l'idée me 
vient de OPS où c'est un truc qui se fait par défaut grâce à un 
processeur (le pendant des pipelines de cocoon) "epilogue" qui est 
toujours appliqué en bout de chaîne et qui intègre même la 
sérialisation. Bon loin de moi l'idée de faire de la pub pour cet autre 
projet mais je suis dans une phase de test, avec comme objectif de 
déterminer lequel des deux outils colle le mieux à ce que je veux faire.

Merci d'avance pour votre aide.

Sébastien ARBOGAST

pierrick henry a écrit :
 >
 > Je sais pas si c'est la bonne solution mais le plus simple à mon avis
 > c'est d'utiliser des CSS.Au fait je suis aussi de Rennes mais de l'ifsic
 > en iup miage et je suis aussi en train de decouvrir cocoon.
 > Regarde le site http://openweb.eu.org ca te donera des idées
 >
 >
 >
 >> From: daneel <daneel@epseelon.org>
 >> Reply-To: users-fr@cocoon.apache.org
 >> To: users-fr@cocoon.apache.org
 >> Subject: Structure d'un site sur 3 colonnes
 >> Date: Mon, 14 Mar 2005 06:12:58 -0600
 >>
 >> Bonjour,
 >>
 >> Je m'appelle Sébastien ARBOGAST, je suis élève-ingénieur en informatique
 >> à l'INSA de Rennes. En ce moment et depuis le mois d'août, je suis à
 >> Montréal (CANADA) pour ma dernière année et mon projet de fin d'études.
 >>
 >> C'est justement ce projet qui m'a amené à Cocoon. Je fais mon stage dans
 >> un laboratoire de l'Ecole Polytechnique de Montréal, le LARIM (pour
 >> Laboratoire de Recherche en Réseautique et Informatique Mobile) et mon
 >> projet c'est de proposer une architecture de gestion de contenu adaptée
 >> à la mobilité des services. En clair ce que je veux faire c'est une
 >> espèce de CMS qui ne diffuse pas le contenu sur du HTTP comme le font la
 >> plupart des CMS traditionnels, mais uniquement en Web Services, de façon
 >> à pouvoir faire appel à une passerelle pour diffuser effectivement sur
 >> différents média (un jour le Web à travers des portlets mais pour
 >> l'instant surtout le Wap, iMode, MMS et compagnie). Je n'ai rien trouvé
 >> de similaire pour l'instant et si vous en connaissez, je vous serai
 >> reconnaissant de me le faire savoir. Mais j'ai pensé qu'il pourrait être
 >> intéressant d'avoir un outil qui simplifie le développement de services
 >> mobiles en utilisant les dernières technos serveur.
 >>
 >> Toujours est-il que pour ce genre de choses, un framework XML
 >> s'imposait. J'ai testé Orbeon Presentation Server : intéressant mais
 >> encore trop marginal. Et là je suis en train de me familiariser avec
 >> Cocoon depuis une petite semaine donc je suis vraiment un pur newbie.
 >> J'ai eu un peu de mal à accéder à cette mailing liste donc j'ai laissé
 >> ma question sur un forum de developpez.com mais je pense que j'ai plus
 >> de chances de trouver de l'aide sur cette liste alors je vous forwarde
 >> ma question :
 >>
 >> Bonjour,
 >>
 >> Dans la série "je découvre Cocoon", je suis maintenant en train
 >> d'essayer d'établir la structure de base de mon application.
 >> Dans un premier temps, je vise une structure assez classique de ce
 >> genre :
 >> Code:
 >>
 >> -----------------------------------
 >> |                north            |
 >> -----------------------------------
 >> | west |      center      |  east |
 >> -----------------------------------
 >> |                south            |
 >> -----------------------------------
 >>
 >> Oh le beau BorderLayout ! Eh oui je viens du Java...
 >> Vous allez me dire, c'est un design classique et il existe plein de
 >> tutoriels pour ça ! C'est vrai et je les ai essayés et soit ils sont
 >> beaucoup trop compliqués (et que je t'utilise des actions et des
 >> selectors et des... eh doucement je démarre !) soit ils ne remplissent
 >> pas mes objectifs.
 >>
 >> Bon plus concrètement voilà comment je vois les choses :
 >> - la cellule "north" ça sera pour l'entête avec éventuellement des
 >> onglets paramétrables (histoire que l'onglet correspondant à la
 >> section courante soit en avant par exemple mais bon ça c'est pas
 >> prioritaire) et des petits boutons genre "contact", "choix de la
 >> langue", "choix du thème", etc.
 >> - la cellule "west" ça sera pour le menu de navigation : comme mon
 >> appli sera un CMS, l'idée c'est d'avoir un menu de navigation sous
 >> forme d'arborescence comme dans la console d'admin de tomcat, mais bon
 >> pour ça on verra plus tard
 >> - la cellule "east", je sais pas encore ce qu'il pourra y avoir
 >> dedans, des informations contextuelles par exemple, mais bon je
 >> préfère la prévoir au cas où
 >> - la cellule "south", c'est pour le copyright, les "powered by" et
 >> tout le tremblement.
 >> - et le meilleur pour la fin : la cellule "center ça sera pour le
 >> contenu effectif de la section courante, de la page appelée.
 >>
 >> Au niveau de mon pipeline voilà comment j'aimerais que les choses
 >> s'agencent
 >> 1 - je charge la page xml depuis un fichier
 >> 2 - j'applique le thème
 >> 2.1 j'aggrège le contenu xml des différentes cellules autour de celui
 >> de la page pour arriver à une structure du type
 >> Code:
 >>
 >> <view>
 >>   <header/>
 >>   <navigation/>
 >>   <page/>
 >>   <contextual/>
 >>   <footer/>
 >> </view>
 >>
 >> 2.2 je passe tout ça à la moulinette XSLT pour en ressortir une page
 >> XHTML 1.1 Strict (tant qu'à faire)
 >> 3 - je localise en utilisant le transformer adequat
 >> 4 - je sérialise
 >>
 >> Comme vous vous en doutez peut etre le gros de la difficulté pour moi
 >> se situe au niveau de la notion de thème : en fait j'aime bien l'idée
 >> de pouvoir changer l'apparence d'une application à la volée donc
 >> j'aimerais bien que la transformation qui consiste à appliquer le
 >> thème soit "à part". Par exemple je n'aime pas trop l'idée de faire un
 >> truc du genre :
 >> Code:
 >>
 >> <map:pipeline>
 >>   <map:match pattern="*">
 >>     <map:aggregate element="view">
 >>       <map:part src="header.xml"/>
 >>       <map:part src="navigation.xml"/>
 >>       <map:part src="content/{1}.xml"/>
 >>       <map:part src="contextual.xml"/>
 >>       <map:part src="footer.xml"/>
 >>     </map:aggregate>
 >>     <map:transform type="xslt" src="stylesheets/view2xhtml.xsl"/>
 >>     <map:transform type="i18n"/>
 >>     <map:serialize type="xhtml"/>
 >>   </map:match>
 >> </map:pipeline>
 >>
 >> Parce qu'alors le chargement de la page se fait à l'intérieur de la
 >> procédure d'application du thème que je voudrais externaliser. Ce que
 >> je voudrais c'est un truc du genre:
 >> Code:
 >>
 >> <map:pipeline>
 >>   <map:match pattern="*">
 >>     <map:generate src="content/{1}.xml"/>
 >>     <!-- Application du thème par appel d'une ressource par exemple si
 >> c'est possible -->
 >>     <map:transform type="i18n"/>
 >>     <map:serialize type="xhtml"/>
 >>   </map:match>
 >> </map:pipeline>
 >>
 >>
 >> Pour l'instant je n'ai aucune idée de comment je peux faire ça. Peu
 >> m'importe pour l'instant le paramétrage des différents éléments pour
 >> faire en sorte par exemple que le lien de la page chargée soit en
 >> surbrillance dans le menu de navigation.
 >>
 >> Je ne sais pas si je suis très clair. S'il vous manque des données
 >> n'hésitez pas à demander, je repréciserai.
 >> Merci beaucoup par avance pour toute l'aide que vous pourrez m'apporter.
 >>
 >> daneel
 >>
 >> ---------------------------------------------------------------------
 >> Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
 >> Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
 >> Autres commandes : mailto:users-fr-help@cocoon.apache.org
 >>
 >
 >
 >


---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Mime
View raw message