Journal Web / séparation contenu et forme

Posté par  (site web personnel) .
Étiquettes : aucune
0
5
fév.
2003
Salut,

Je suis actuellement en train de faire un site pour des personnes qui souhaiteraient le mettre a jour, mais qui n'ont pas de grandes connaissances en info, et aucune en programmation. Il faudrait donc une manière simple de créer des articles, des liens entre les articles, etc..

Ca peut se faire avec des balises (un peu a la HTML), mais en simplifié par exemple. J'ai essayé cette solution en utilisant le xml_parser de PHP, mais ca me donne pas pleine satisfaction : si on veut réutiliser les tags HTML normaux, ca passe pas.

Quelqu'un a des solutions ? J'ai pas essaye SPIP, mais ca m'avait l'air trop gros pour ce que je veux faire (j'ai pas d'equipe de redaction, tout ca).

Merci pour vos conseils !
  • # Re: Web / séparation contenu et forme

    Posté par  . Évalué à 3.

    Wiki : peut être un peu crade, mais en le modifiant pour l'adapter à tes besoin, on peut sans doute arriver a des chose pas trop moches.
    • [^] # Re: Web / séparation contenu et forme

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

      Je crois que c'est un peu compliqué pour ce que je veux faire : j'ai pas du tout besoin d'ajouter des commentaires en bas des articles, etc.. Il n'y a qu'un seul (ou deux redacteurs, mais qui travaillent dans le même bureau) pour les articles. Donc pas besoin de gestion de cohérence : juste un langage simple pour décrire les articles, mais suffisamment souple pour qu'on puisse quand meme faire des trucs compliques en HTML (ca serait alors moi qui les ferait).
  • # Re: Web / séparation contenu et forme

    Posté par  . Évalué à 4.

    Ton besoin n'est pas super explicite à mes yeux mais bon mes 0.2€ :
    http://xml.apache.org/cocoon/index.html(...)
    • [^] # Re: Web / séparation contenu et forme

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

      Ca, ca m'a l'air assez complexe a comprendre, mais interessant.

      J'explique mieux mon besoin. Je suis en train de creer un site (présentation, design, etc...). Les personnes qui vont mettre du contenu dans le site (sous forme d'articles) ne connaissent pas la programmation et encore moins le HTML.

      Donc je voulais simplement qu'elles puissent écrire des fichiers .xml avec des balises tres simples (article, langue, italique, gras, etc...) pour ecrire les articles. Mais en meme temps, moi je vais aussi peaufiner la mise en page de qques articles avec des tableaux compliques, des trucs plus evolues que le langage de base ne permet pas.

      J'ai pu définir un langage de base avec xml_parser de PHP, mais dès qu'il s'agit d'utiliser des balises HTML non reconnues par mon parser, ca marche plus...

      Bref je veux un truc simple et compliqué en meme temps ;-)

      Thomas
      • [^] # Re: Web / séparation contenu et forme

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

        Je suis dans le meme cas, si tu trouve une solution, fait partager.


        à la limite, toi tu n'a pas besoin d'utiliser le parser, et les autres n'ont pas à faires des pages compliquées. donc toi tu peut les mettre direct en html.

        Moi j'avais pensez à Word pour les utilisateurs mais il produit pas du code conforme au w3c alors c'est galere.
      • [^] # Re: Web / séparation contenu et forme

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

        Bien que tu sembles déjà avoir rejeté cette solution, je pense vraiment que SPIP correspondrait à ton besoin : il est moins lourd qu'il n'y parait, à peu près toutes les fonctions sont optionnelles (commentaires, sondages, postcriptum sont désactivables)...

        La saisie des articles pour les rédacteurs se fait en ligne et est très simple, avec des balises simplifiées (ex. mettre le texte entre {} pour l'avoir en italique ou en {{}} pour l'avoir en gras) tout en laissant la possibilité de mettre des balises HTML. L'ajout d'une image ou d'une pièce jointe à un article se fait aussi à la manière d'un "wizard".

        "L'admin" du site a la joie de pouvoir peaufiner sont site en éditant les squelettes avec un macro langage propre à SPIP mais assez simple (et proche du HTML).

        Bon, moi ça fait qu'une semaine que j'ai découvert SPIP, mais déjà je me régale.
      • [^] # Re: Web / séparation contenu et forme

        Posté par  . Évalué à 1.

        Une solution à ton problème réside peut-être dans DocBook :
        http://www.docbook.org(...)

        DocBook définit une DTD très complète pour rédiger des ouvrages en SGML ou XML, mais tu peux très bien employer un sous-ensemble - que tu définis toi-même, ou bien l'un de ceux qui existent sur le Web.

        Je suis moi-même en train d'écrire quelques scripts pour générer complètement un site à partir d'une arborescence XML, avec transformation à travers DocBook + XSL, et l'utilisation de CSS2 pour la présentation finale.
        http://dsoulayrol.free.fr(...)

        Merci de ne pas trop prêter encore d'attention au contenu :)

        Pour voir un autre genre d'application, vois aussi ce site sur lequel j'ai méchament piqué le concept et qui propose son système de génération en téléchargement (le mien ne devrait pas tarder) :
        http://www.pipouyou.net/(...)

        Il existe aussi un projet WebSite (http://docbook.sourceforge.net/projects/website/index.html(...)) qui se base sur DocBook pour produire des sites Web simples.
        • [^] # Re: Web / séparation contenu et forme

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

          Ah ben c'est du propre :). T'aurais pu au moins le piquer gentiment.

          C'est pas méga à jour ce qui est sur mon site mais en gros :
          - ca gère une infime sous-partie de docbook mais c'est pas bien dur de rajouter des tags supplémentaires si nécessaire
          - ca permet de faire des pages simples genre la page d'accueil
          - ca permet d'afficher des articles docbook (pas dans le tar.gz qui traine sur le site mais dans la version qui tourne) genre http://www.pipouyou.net/articles/docbook/ecrire(...)
          - ca utilise dom/xslt et y a du cache
          - ca utilise mod_rewrite pour faire des jolies urls :)

          Si ca intéresse qqun, je peux mettre à jour le tar.gz. Je vais certainement le faire même si ca n'intéresse personne :]

          C'est un peu roots mais ca tourne plutôt bien et je l'utilise pour faire tourner trois sites.
      • [^] # Re: Web / séparation contenu et forme

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

        Pour mon modeste site, j'utilise http://www.jnegre.org/styloplume(...) , qui permet une fois que tu as écris ta feuille de style XSL, de pondre des pages à la vitesse de la lumière. Par exemple, le code d'une boîte est:

        <sp_box>
        <sp_caption>Titre</sp_caption>
        <sp_content>bla<tag_html_ou_perso>bla</tag>bla</sp_content>
        </sp_box>

        Ainsi, je peux définir des "extensions" au HTML sans problème. Le menu à gauche est stocké dans un fichier à part, comme ça les modifs sont centralisées.

        Avec ça, je peux générer des pages statiques qui pulse (le cas pour mon site), ou dynamiques qui rament sur Free ;-).

        </pub>

        Jérôme
  • # Re: Web / séparation contenu et forme

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

    Moi je dis Spip. Sans hésitation.
    • [^] # Re: Web / séparation contenu et forme

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

      Bon d'accord, promis je vais essayer SPIP... Mais je l'avais deja installe, y'a tout plein de fichiers partout, alors que moi j'ai besoin d'un truc tres simple.

      En plus le Wizzard est en ligne (dans un formulaire) et ca, ca me plait pas du tout, parce que le redacteur a une connexion RTC.

      Enfin faudrait que je regarde la tete du Wizard pour voir comment ca fonctionne cette bete la.
      • [^] # Re: Web / séparation contenu et forme

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

        bah oui, mais si tu nous dis pas tout (que tes rédacteurs sont en connexion RTC)... le débit sera suffisant pour SPIP, par contre, faut avoir du forfait illimité parce que c'est chiant d'être pressé pour écrire son article...

        Et puis non, il n'y a pas tout plein de fichier partout... tout est à la racine ! ;-)

        Tous les articles sont dans la base SQL, il n'y a que les photos qui sont /images... et globalement, il n'y a que très peu à toucher aux fichiers (sauf pour éditer les squelettes...)
        • [^] # Re: Web / séparation contenu et forme

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

          Justement la connexion est pas illimitée.

          Mais je vais essayer SPIP quand meme. Meme si je reprends pas l'ensemble du truc, ca peut etre utile de voir comment eux ils ont fait.

          Mais franchement l'idee d'ecrire des fichiers textes en .xml me convenait bien aussi.... Sauf pour faire des trucs un peu customs.

          En plus autre problème avec SPIP : les articles sont prevus pour etre en une seule langue. Avec mon format XML maison, je peux mettre dans un meme fichier l'article dans les 3 langues différentes (j'ai besoin de francais, anglais et hollandais).

          Y'a des gens qui ont utilise le xml_parser de PHP ?
          • [^] # Re: Web / séparation contenu et forme

            Posté par  . Évalué à 1.

            Avec upload du fichier a partir d'un fichier en local ca ne vas pas ?
            Peut être HS : pour le problème de tag HTML, il y a un DTD de HTML.

            HS : je vais faire la promo de mon truc de labo en java : http://gendiapo.sf.net(...) permet d'éditer du xml avec la mise en page comme y faut, le gras est mis en gras etc... (cf screenshot)
            sinon ya http://www.xmlmind.com/xmleditor/(...)
          • [^] # Re: Web / séparation contenu et forme

            Posté par  . Évalué à 2.

            Salut Thomas

            Pour ton site, je te conseille vivement SPIP. Apres avoir voulu faire un site maison, j'ai fini par découvrir SPIP et francement, meme si il n'y a qu'une personne chargé de la rédaction des articles, c'est vraiement génial comme truc... meme si en effet, il ne supporte pas a ma connaissance les sites multilangues (je vais me renseigner).

            Concernant la prise en main de SPIP, je peux te donner un coup de main pour démarrer, tu verra c'est tres simple en fin de compte.

            Tiens moi au courant.
            • [^] # Re: Web / séparation contenu et forme

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

              Je vais essayer SPIP voir ce que ca donne. Dès que j'ai l'ADSL on voit ca ensemble Bouil ?

              En tout cas merci de vos réponses.
              • [^] # Re: Web / séparation contenu et forme

                Posté par  . Évalué à 1.

                J'ai pu définir un langage de base avec xml_parser de PHP, mais dès qu'il s'agit d'utiliser des balises HTML non reconnues par mon parser, ca marche plus...

                Pour ce qui est de ce probleme, il te suffit d'importer le namespace de la DTD xhtml (puisque c'est un dialecte xml), et le tour est joué.

                Dès que j'ai l'ADSL on voit ca ensemble Bouil ?

                Pas de problemes. Tiens moi au courant.
          • [^] # Re: Web / séparation contenu et forme

            Posté par  . Évalué à 1.

            Message-ID 32903.80.67.170.17.1044273025.squirrel@rezo.net et réponses suivantes sur news://news.gmane.org sur gmane.comp.web.spip.dev

            Apparement, rien n'est prévu pour SPIP en ce qui concerne les sites multilangues, la solution avec SPIP semble etre soit
            - Plusieurs copies de l'article, un par langue
            - Autant de SPIP par langue (un répertoire et une BDD par langue)

            Pas terrible....
  • # Re: Web / séparation contenu et forme

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

    Je vais paraitre idiot mais tu cherches un lagage simple, ressemblant au xml, qui permete d'utiliser les tags html simples ....

    Pourquoi ne pas simplement utiliser html ?
    ben oui, html est justement le langage simple dont tu as besoin.

    SI tu te contente des quelque balises utiles (p br li ul hX a em strong blockquote) ca devrait te suffire. Et le jour où tu as besoin d'un truc plus complexe ... ca marchera direct.
    Si tu veux avoir un layout commun tu fais un header et un footer en insérant ton html au milieu.
    Ben oui, c'est ca qu'on utilisait y'a quelques temps et ca marche toujours tres bien, je doute meme qu'on arrive à faire plus simple.

    Je n'aime pas cette mode qui voudrait que faire 150 surcouches soit plus simple. Ce que tu veux faire ce n'est pas du postscript ou du pdf, c'est du html : un langage simple et descriptif par nature, il a été fait pour être traité à la main. Si en plus tu te limites à une description fonctionnelle simple (tu laisses une CSS s'occuper de la présentation) tu auras _le_ jeu de tags limité que tu veux.


    Mieux ..... sous apache existe meme le mod_layout qui va coller ton header et footer automatiquement à la requete donc tu n'auras meme pas à faire l'intégration et tu pourras poser tes petits articles comme ca dans ton répertoire sans chercher à comprendre.


    Perso je reste dubitatif qu'utiliser un subset de docbook, puis passer par une xsl afin de générer des html finaux soit plus simple pour un petit site avec des besoins restreints. Tu me parlerai d'un site avec des centaines d'articles tres complexes sur lesquels il faut assurer une cohérence alors oui, mais on n'en est pas là.
    • [^] # Re: Web / séparation contenu et forme

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

      J'y ai pensé effectivement, et ca reste a mes yeux une des solutions les plus intéressantes, sauf pour l'histoire du support multilingue : il faut un fichier pour chaque article dans chaque langue, alors qu'en xml, je peux faire un fichier par article, fichier contenant les n langues du site.

      Mais sinon a part ca, c'est vrai qu'en jouant avec CSS un bon include au debut et a la fin, on a quelque chose de vraiment interessant.

      Thomas
      • [^] # Re: Web / séparation contenu et forme

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

        En même temps un fichier par langue ca a l'avantage de pouvoir faire une traduction au fur et à mesure.

        Avec la négociation de contenu apache tu références page.html et apache va décider seul d'envoyer page.html.fr ou page.html.en en fonction de la requete. Ca sélectionne tout seul ce qui est dispo ou pas. Du coté gestion des langues c'est tout de même presque mieux que d'envoyer tout comme un bourrin : le client n'a besoin en général que d'une langue, pas 150.

        Ceci dit c'est vrai qu'en meme temps ca fait pas mal de fichiers.
        • [^] # Re: Web / séparation contenu et forme

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

          D'un autre coté, mon fichier XML qui contient les trois langues est parsé au niveau du serveur, donc le client ne recoit que le fichier HTML final, après éliminations des 2 langues qui ne servent a rien ...

          Moi je trouve que les trois langues dans un seul fichier c'est plus pratique. On verra bien a l'usage.
  • # Re: Web / séparation contenu et forme

    Posté par  . Évalué à 1.

    Pourquoi ne pas faire un tout bete fichier xsl qui associé a un fichier xml (avec la syntaxe qui te plait) va te donner du HTML ?
    Perso j'avais developpé un petit proto comme ca pour un projet de Fac et ca marchait tres tres bien.

    On avait meme un outil qui nous generait le xml a partir de fichiers RTF (ca peut etre sympa pour tes utilisateurs) et on automatisait ca par l'intermediaire d'une interface d'envoi d'articles...

    Ensuite tu as différents fichiers XSL qui vont s'arranger pour te faire les différentes mise en page (affichage des titres + auteurs, résumé, article complet...).
    • [^] # Re: Web / séparation contenu et forme

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

      Est-ce que avec ton XSL y'avait moyen d'utiliser les tags HTML directement.

      Par exemple dans mon langage XML, je veux definir les balises perso : article, section, langue, titre, etc...

      Mais je veux pouvoir quand meme utiliser en plein milieu du XML des balises natives HTML (table, tr, td, etc...), en conservant tous les attributs associes.

      Est-ce possible ?

      Avec xml_parser de PHP c'est possible, mais faut les lister toutes, avec leurs attributs (pas propre et un peu lourd).
      • [^] # Re: Web / séparation contenu et forme

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

        Est-ce que avec ton XSL y'avait moyen d'utiliser les tags HTML directement.

        On fait tout ce qu'on veut avec XSL, regarde l'exemple dispo sur http://www.jnegre.org/styloplume/index.html(...) : la page mélange des tags perso (sp_page) avec des tags HTML (p). Et y'a absolument pas besoin de définir tous les tags HTML: tu fais une règle pour chacun de tes tags perso, puis la règle par défaut qui copie le reste (donc logiquement le HTML)
        • [^] # Re: Web / séparation contenu et forme

          Posté par  . Évalué à 1.

          Le probleme que pose Thomas (qui me corrigera si je me trompe) n'est pas l'inclusion de HTML dans la feuille de style, c'est l'inclusion de balises HTML dans son fichier XML de base, sachant qu'il désire utiliser une DTD pour son document XML.

          Ce qu'il faut savoir, c'est qu'un document XML n'a pas forcement besoin de DTD pour etre parsé, mais que si il en posede une le parseur va vérifier que le document est conforme, et sinon, génèrera une erreur.

          Tout en utilisant une DTD, la solution est je crois d'utiliser les namespaces xml comme ceci par exemple :

          http://www.yoyodesign.org/doc/w3c/xml-namespace/Overview.html#scopi(...)

          dernier exemple de la section 5.2, ou document XML inclu un tableau HTML.
          • [^] # Re: Web / séparation contenu et forme

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

            Ca m'a l'air interessant ca ;-)

            Faudrait vraiment que j'approfondisse l'histoire de XML + DTD + XSL. Si j'ai bien compris :
            XML : le document en lui meme
            DTD : une description du langage, pour pouvoir verifier la validite du document
            XSL : l'expression "graphique" des balises utilisées dans le XML et définies dans la DTD.

            C'est quoi les outils a utiliser pour générer tout ca ?

            Thomas
            • [^] # Re: Web / séparation contenu et forme

              Posté par  . Évalué à 1.

              XSL : l'expression "graphique" des balises utilisées dans le XML et définies dans la DTD.

              XSL est bien plus que ca. C'est un language de transformation de documents XML vers un peu ce qu'on l'on veut. On peut ecrire une feuille XSL pour transformer des documents XML (qui suivent une certaine DTD, comme par exemple DocBook) en documents HTML, en document RTF, en un autre document XML (qui suivera par exemple une autre DTD)... un peu tout ce que l'on veux entre autres.

              C'est quoi les outils a utiliser pour générer tout ca ?

              On peut utiliser Sablotron depuis PHP. Il existe aussi mod_xslt qui integre un processeur xslt dans apache (je n'ai rien testé de tous cela)

              Pour des info plus completes sur XML, XSLT et tout ca, faut demander au gourou: Glandium... !!!
          • [^] # Re: Web / séparation contenu et forme

            Posté par  . Évalué à 1.

            tu peux aller regarder fop sur le site de oreilly, ils ont fait un arrangement pour que la feuille XSL de fop convertisse les attributs gras, italique et souligné (ici ds l'exmple c'est en pdf, mais ce n'est pas très compliqué à modifier pour toi) :

            suivre l'url : http://www.xml.com/pub/a/2001/01/24/xsl-fo/index.html(...)
      • [^] # Re: Web / séparation contenu et forme

        Posté par  . Évalué à 1.

        Je pense que ca doit etre possible...
        Mais ptete bien que tu devras declarer les balises en questions dans la feuille XSL...

        A vrai dire ca remonte a quelques années, et comme je ne pratique plus trop tout ce qui est XML/XSL/HTML/PHP/etc., je suis pas trop capable de te le dire...

        Je voudrais pas dire de grosses conneries, mais si tu as un truc style :
        <article>
        <auteur>Machin Bidule</auteur>
        <resume>...</resume>
        <contenu>Il etait une fois une <_b_>princesse</_b_>...
        </contenu>
        </article>

        Je pense que ca doit passer sans que tu ais a transformer le <_b_> explicitement dans la feuille XSL... a tester...

        Note : Vous aurez compris que le <_b_> c'est pour outrepasser le code de Templeet qui me l'affiche en bold... (pas envie de me faire chier avec les codages de caracteres HTML aujourd'hui moa...)
  • # Re: Web / séparation contenu et forme

    Posté par  . Évalué à 1.

    Spip n'est pas compliqué et possède deux niveaux d'interface. Sinon dans le genre facile et pas prise de tête tu as le Mini Portail http://www.aldweb.com/articles.php?lng=fr&pg=63(...)
  • # Re: Web / séparation contenu et forme

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

    Finalement, j'ai réussi avec XML parser a faire passer tous les tags HTML que je voulais de manière automatique. Y'a encore quelques améliorations à faire, mais ca va venir ;-)

    Ceci dit j'ai quand meme regardé du coté de XSL, mais ca me semble trop poussé pour les besoins que j'ai. Quant a l'utilisation de CSS, je les utilise maintenant à plein régime (grâce à Nicolas Bouillon), mais ca ne suffit pas, justement à cause du problèmes des 3 langues.

    Merci de tous vos conseils en tout cas, même si je n'utilise pas tout, j'ai découvert tout plein de trucs.

Suivre le flux des commentaires

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