Forum Programmation.php Où en est-on avec le XML

Posté par  .
Étiquettes : aucune
0
17
déc.
2004
Saluzatous,
Passionné par le XML, je voudrais faire un site entièrement basé dessus...
(Ca fait prés d'un an que j'ai ça en tête)
Comme il ne s'agit pas d'un langage de prog, je reste avec -comme moteur-, le php, qui est -pour moi-, le plus lisible !...
J'ai vu de nombreuses classes permettant les transformations xml+xslt / xsl-xsd
Soucieux d'utiliser des standards à longévité avérée ('tain comment je kiffe trop comment je parle ! :'D), en fouillant chez W3C, et en faisant des recherches, honnêtement, je m'y paume vite, entre toutes les possibilités !
Les nouvelles fonctionnalités, apportées par SPIP, Zope, Cocoon, etc... m'interressent beaucoup, mais java / python, ou autres !...
Tous les projets PHP que j'ai trouvés, semblent en stand-by !...
PHPNuke, me semble un peu dépassé -à cause de l'apparition du XML justement-
XMLNuke n'a pas l'air d'avancer, ...
Je ne trouve pas de site correspondant à mes attentes !
Qu'est-ce qui se passe ?
Quel est le problême ?
Sur quelles solutions XML s'arrêter ?
Me faudrait-il me lancer dans un new projet PHP/XML ?
Si oui, qui serait interressé ?
Mon idée est simple : prendre des concepts de gestionnaire de contenu, avec espaces personnels/forums(...), et surtout, un support de gestion du foyer, pour un LAN (Comptes, courses, rendez-vous, etc -interresser les familles, quoi !?) avec un moteur PHP pour la sécurité (par exemple), et des données entièrement en XML (en db et/ou XML-RPC), pour pouvoir faire tous types de transformations XHTML/WML/..., avec séparation Logique(PHP/XSL(T))/Données(XML)/Style(CSS)
Je sais, c'est pas nouveau, mais je trouve rien de solide ! :'(
Merci de votre indulgence, si je rêve un peu !? ... :]
  • # Tout bien pensé

    Posté par  . Évalué à 0.

    Tout bien pensé, je voudrais faire un système type réseau en étoile, avec toutes les fonctionnalités qu'on peut trouver sous X + celles publiées sur le Net, pour monter un gros serveur -d'la balle qui déchire- à tout faire ! ;)
    J'en vois déjà qui ont sursautés !... lol
    Bâh c'est bon de rêver !
    • [^] # Re: Tout bien pensé

      Posté par  . Évalué à 2.

      Bref, si je résume bien, "toutes les fonctionnalités qu'on peut trouver", elles existent, donc oilà, tu as fini ton projet :)

      En fait, si je comprend bien, tu ne sais pas ce que tu veux faire, c'est ça ? ;)
      • [^] # Re: Tout bien pensé

        Posté par  . Évalué à 0.

        Argh, d'accord, je me suis mal expliqué !...
        Je sais trés bien ce que je veux faire :
        J'ai toujours rêvé d'un bureau unique, sans icônes, avec un jeu de menus directement sur la page, le tout servi en http, ceci uniquement pour le partage, la gestion globale... Et laisser le reste de l'édition aux soins des utilisateurs, sur leurs propres bécanes (documents, médias, etc...) !
        Ce qui permet de n'avoir que 2 entités : 1 serveur de fichiers, avec applis de base de gestion + applis communautaires, + l'ordi de chaque user destiné aux travaux réels !!...
        Le navigateur est always on ! Le proxy sert déjà de passerelle, ça revient à faire une interface pour la passerelle, mais en y laissant au passage, ce qu'on veut partager ! Comme pour le solaire, si tout le monde a ça chez lui, avec les interactions à coups de XML, peut y avoir une certaine puissance !
        Design type page web, à coups de <div class id>, etc...
        Le tout comme page de fond, tout en ayant la capacité d'afficher le minimum en barre des tâches/menus automasqués et fenêtres, pour le local !...
        Pour le local, mon rêve c'est du Mozilla (et plugins) en fond de bureau !

        Avantages : Pour le user et son ordi : optimiser la zone de travail, contact direct en communautaire, et seulement ensuite en local, partager directement son job !
        Pour l'administration : un seul server-qui-fait-tout (domotique), plus facile à administrer (au moins on sait où on va passer les tunes) !
        Tout ça correspondrai parfaitement à mon parc (qui ressemble à celui de beaucoup de gens : 4 ordis : 1 serveur boosté au maxi (suivant le budget), 1 client de traffics système à gogo, 1 ordi Multimédia sur la télé/chaîne, 1 dernier dédié à la bureautique quotidienne. 2 sous Debian, 1 sous MDK(pas eu le temps de changer), un dernier windaube(eh oui, on conserve un lien pour pouvoir rester avec les contacts non-libres !)
        • [^] # Re: Tout bien pensé

          Posté par  . Évalué à 0.

          !
        • [^] # Re: Tout bien pensé

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

          $ man nfs
          $ echo 'exec mozilla' > $HOME/.Xsession

          Avec Mozilla configuré pour avoir sa page d'accueil sur l'interface que tu as écrite à coups de XML, PHP, Perl, JavaScript,... Ou alors j'ai rien compris.

          pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

          • [^] # Re: Tout bien pensé

            Posté par  . Évalué à 2.

            pour le "man nfs", je l'utilise déjà à gogo ! ;)

            "$ echo 'exec mozilla' > $HOME/.Xsession" ?
            Sans dec' !!!????...
            Je vais me pencher là-dessus !! Merci !!!!
            ;)
            • [^] # Re: Tout bien pensé

              Posté par  . Évalué à 2.

              À quand un OS en XML ? ;)

              A la BU de ma fac, Netscape (je crois peut être un autre) est lancé en tant qu'application unique (je sais pas comment on dit, mais ça ressemble à ce qui a été dit plus haut).
              • [^] # Re: Tout bien pensé

                Posté par  . Évalué à 0.

                Oui !? A quand ??... ;)

                oui, ça y ressemble, dans le sens ou le bureau devient une seule interface permanente avec le ouaib !... Mais en gardant l'intérêt du fenêtré pour tout le reste !... ;)

                En fait, je vais me faire huer, mais les javascripts sur le bureau windaube 98, m'avaient bien plus ! Dans le temps... :$ lol
  • # Commentaires

    Posté par  . Évalué à 0.

    Pourriez-vous me dire ce que vous estimez que valent ces idées ?
    Et ... depuis le temps que j'y pense -prés de 8ans-, si je dois tout bonnement les oublier ! :/ :D
  • # Utilisation du xml....

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

    Faut voir comment tu compte utilise le xml
    Simplement comme une base de donées comme on accede a mysql?
    Dans ce cas faut regarder du cote des requetes xpath sur du dom
    Faire une transformation à l'aide d'une feuille de style? Dans ce cas faut l'implanter (ou mieux chercher que moi)....
    Ou alors il faut passer par les fonctions qui vont bien mais je trouve ca lourd....
    Donc explicite un peu comment tu compte faire
    PS:moi j'utilise mod_xslt mais ca me permet pas d'utiliser de php ca qui m'emmerde bien.... (Mon but serait de faire php -> xml -> mod_xslt -> client)
    • [^] # Re: Utilisation du xml....

      Posté par  . Évalué à 2.

      Si t'es sur ton serveur, tu peux mettre une extension php qui te permet de faire la transformation XML -> XHTML via du XSLT....

      function convert($xml, $source, $user)
      {
      $interface = interface($user);
      if (!(file_exists("./xsl/$source" . "_" . $interface)))
      {
      $xsl_file = "xsl/$source" . "_html.xsl";
      } else {
      $xsl_file = "xsl/$source" . "_$interface.xsl";
      }

      $xsltproc = xslt_create();
      $arguments = array('/_xml' => $xml);
      xslt_set_encoding($xsltproc, 'ISO-8859-15');
      $resultat = xslt_process($xsltproc, 'arg:/_xml', $xsl_file, NULL, $arguments);
      xslt_free($xsltproc);
      return $resultat;
      }

      En gros, cette fonction me permettait de donner :
      1- Le contenu dans l'argument XML
      2- La page de départ dans l'argument source (utilisé pour récupérer la feuille de style)
      3- L'interface souhaitée par l'utilisateur : j'avais bidouillé un machin capable d'être à la fois utilisable en XHTML et en XUL...
      Par contre, me demande pas comment ça marche !
      • [^] # Re: Utilisation du xml....

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

        Oui ca je sais.....
        Ce qui me derange c'est que je veux faire un traitement pour une base de données (enfin non c'est pas ca enfin un traitement quelquonque) grace a php et apres ressortir du xml qui est traité par mod_xslt (ou autre) et le client recoit en xhtml
        Ce que tu me donne c'est simplement une implémentation en php du mod_xslt...
        Et je sais qu'il est possible de donner comme argument une chaine de caractères et on le traite mais je trouve qu'on perd de souplesse.....
        Je prefere largement un echo qu'un $var=$var."";
        • [^] # Re: Utilisation du xml....

          Posté par  . Évalué à 2.

          http://fr.php.net/manual/en/ref.outcontrol.php(...)

          Tu peux faire :

          <?php
          include "XSLT.php"; // Contient la fonction précédente légèrement changée
          ob_start();
          echo "<?xml version='1.0'?>";
          ?>
          < content>
          < title>AAA</ title>
          < paragraph>Hello world</ paragraph>
          </ content>
          <?php
          $resultat = traite_XSL(ob_get_contents(), "Accueil"); // Accueil te permettrait d'indiquer ta feuille de style
          ob_end_clean();
          echo $resultat;
          ?>

          C'est relativement simple, tu pourrais je crois concatener tout le "code" (4 lignes...) dans une fonction.
          (Vous me pardonnerez le massacre des balises ? :p)
          • [^] # Re: Utilisation du xml....

            Posté par  . Évalué à 2.

            J'ai commencé par étudier la structure du site :
            Pour le php, j'utilise une méthode simpliste mais efficace, qui utilise le xsltproc :
            <?php
            ...
            $xhtml=new xslt($xml, $sitemap, true, 'xsltproc');
            $xhtml->setParams(array("theme"=>_SITE_RESRC."/themes/theme0.xml",
            "categorie"=>$categorie,
            "active"=>$categorie,
            "module"=>$module,
            //"module_style"=>$module_style,
            "action"=>$action ));
            $xhtml->transform();
            echo $xhtml->output();
            ...
            ?>

            Pour le xml, j'ai séparé toutes les référence dont j'avais besoin, pour le rendre dynamique, à chaque fois un xml, associé à un xsl, contenant des balises de réfs
            contenues dans les autres fichiers xml, eux-même associés à leur propre xsl !...

            Le caneva de base : sitemap.xsl :

            <?xml version="1.0" encoding="iso-8859-1"?>
            <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform(...)">
            <xsl:output method="html" encoding="ISO-8859-15" indent="yes"/>
            <xsl:param name="categorie"/>
            <xsl:param name="module"/>
            <xsl:param name="action"/>
            <xsl:param name="theme"/>
            <xsl:param name="active"/>
            <!--xsl:param name="module_style"/-->
            <!--xsl:param name="session_id"/-->

            <xsl:include href="src/themes.xsl"/>
            <xsl:include href="src/categories.xsl"/>
            <xsl:include href="src/modules.xsl"/>
            <xsl:include href="src/actions.xsl"/>
            <xsl:include href="src/header.xsl"/>
            <xsl:include href="src/main.xsl"/>
            <xsl:include href="src/footer.xsl"/>

            <xsl:include href="src/smileys.xsl"/>
            <xsl:include href="src/misc.xsl"/>

            <!--xsl:include href="concat('categories/', $categorie, '/', $module, '/module.xsl')"/-->
            <!--xsl:import href="$module_style"/-->

            <xsl:variable name="map" select="document('src/map.xml')"/>
            <xsl:variable name="base" select="document('src/base.xml')"/>
            <xsl:variable name="style" select="document($theme)"/>
            <xsl:variable name="page" select="page"/>
            <xsl:variable name="categories" select="document('categories/categories.xml')"/>
            <xsl:variable name="modules" select="document(concat('categories/', $categorie, '/modules.xml'))"/>
            <xsl:variable name="actions" select="document(concat('categories/', $categorie, '/', $module, '/actions.xml'))"/>
            <!--xsl:variable name="infobar" select="document(concat('../sessions/',$session_id,'/infobar.xml'))"/-->

            <xsl:template match="/">
            <xsl:apply-templates select="$map/html"/>
            </xsl:template>

            <xsl:template match="insert-head">
            <xsl:apply-templates select="$page/head/*"/>
            <xsl:apply-templates select="$base/format/*"/>
            <xsl:apply-templates select="$style/*"/>
            </xsl:template>

            <xsl:template match="insert-catbar">
            <xsl:apply-templates select="$categories/*"/>
            </xsl:template>

            <xsl:template match="insert-toolbar">
            <xsl:apply-templates select="$modules/*"/>
            </xsl:template>

            <xsl:template match="insert-menubar">
            <xsl:apply-templates select="$actions/*"/>
            </xsl:template>

            <!--xsl:template match="insert-infobar">
            <xsl:apply-templates select="$infos/*"/>
            </xsl:template-->

            <xsl:template match="insert-header">
            <xsl:apply-templates select="$page/header"/>
            </xsl:template>

            <xsl:template match="insert-main">
            <xsl:apply-templates select="$page/main"/>
            </xsl:template>

            <xsl:template match="insert-footer">
            <xsl:apply-templates select="$page/footer"/>
            </xsl:template>

            <!--xsl:template match="insert-statusbar">
            <xsl:apply-templates select="$statusbar/statusbar/*"/>
            </xsl:template-->

            <xsl:template match="@*|*">
            <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
            </xsl:copy>
            </xsl:template>

            </xsl:stylesheet>

            Un exemple de fichier xml : la map de base, dans l'immédiat :
            <?xml version="1.0" encoding="iso-8859-15"?>
            < html >
            < head >
            <insert-metas/>
            <insert-head/>
            < /head >
            < body >
            < div class="page" >
            < div class="catbar" >
            <insert-catbar/>
            < /div >
            < div class="toolbar" >
            <insert-toolbar/>
            < /div >
            < div class="menubar" >
            <insert-menubar/>
            < /div >
            < div class="mainpage" >
            < br/ >
            < div class="header" >
            <insert-header/>
            < /div >
            < div class="main" >
            <insert-main/>
            < /div >
            < div class="footer" >
            <insert-footer/>
            < /div >
            < /div >
            < div class="infobar" >
            <insert-infobar/>
            < /div >
            < div class="statusbar" >
            <insert-statusbar/>
            < /div >
            < /div >
            < /body >
            < /html >
            NB : Imaginez les autres fichiers !?...

            Etc, finalement, je n'ai qu'un petit moteur PHP, des pages de transformation xsl, et des données xml trés simples, associées, ça récupère l'ensemble du site, avec chaque élément xml/xsl, customizable ! Suffit d'une interface d'édition, et une conservation des choix du user en terme de fichier customizé, que j'étais en train d'étudier !...
  • # XML à la mode

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

    XML n'est qu'un format d'échange.
    Tu veux échanger quoi et avec qui ?

    On a quand l'impression que tu veux utiliser du XML pour être à la mode.
    • [^] # Re: XML à la mode

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

      dans mes bras ...
    • [^] # Re: XML à la mode

      Posté par  . Évalué à 0.

      XML est bien plus qu'un format d'échange !
      C'est surtout une standardisation des données !
      La première fois dans l'histoire de l'informatique (NB: en 6ème :P, je dessinais des sprites sur MO5 ! mdr), qu'on donne une véritable structure aux données pour piocher celle qui nous interresse, avec un véritable langage -le xpath, entre autres- !

      Alors : "On a quand l'impression que tu veux utiliser du XML pour être à la mode."

      'faudrait peut-être que tu te penches sur la véritable portée de cette mode. Il est vrai que j'ai constaté que les acteurs du libre avaient du mal à assimiler la véritable révolution qu'a engendré le XML !?...
      Et même si ça signifie une refonte de tous les logiciels pour utiliser ce standard, si tous les logiciels utilisaient des fichiers de conf basés là-dessus, ce serait autrement plus facile de travailler avec, ensuite, que ce soit pour créer des interfaces de config, pour analyser les dépendance, bref, pour les automatismes ou simplement à la main !!!!!!

      Dans la vie, je suis plutôt anti-mode ! Je ne garde que ce qui me plait réellement, et considère comme une évolution ! Pour ça il faut avoir la capacité de concevoir ce qu'est un nouveau concept ! ;)

      A bon entendeur...
      • [^] # Re: XML à la mode

        Posté par  . Évalué à 1.

        Pardon, je n'ai pas répondu !
        Je veux échanger tout avec tout le monde ! ;)
      • [^] # Re: XML à la mode

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

        si tous les logiciels utilisaient des fichiers de conf basés là-dessus, ce serait autrement plus facile de travailler avec, ensuite, que ce soit pour créer des interfaces de config, pour analyser les dépendance, bref, pour les automatismes ou simplement à la main !!!!!!
        Heu non. Dans certains cas, pour certains programmes, un fichier de configuration XML est peut être un bon choix mais bien souvent une bête syntaxe "clé = valeur" est bien plus efficace et pratique. Rien que pour grep(1)er dessus par exemple. XML dans les fichiers de configuration c'est bien quand il faut stocker des trucs un peu complexes (genre la config Apache ou Bind en XML ça pourrait être pas mal) mais par pitié ne venez pas me mettre du XML dans mon resolv.conf ou mon /etc/services. Donc avant de commencer avec du XML, merci de vérifier qu'il n'y a pas moyen de faire plus simple.

        pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

        • [^] # Re: XML à la mode

          Posté par  . Évalué à 1.

          Oui, je suis parfaitement d'accord ! J'ai exagéré volontairement pour en faire toucher du doigt la portée ! ;)
          Je préfère le partage de connaissance à la provocation gratuite...

          Maintenant, je n'étais pas ici pour ça, mais bien pour vous soumettre mon humble vue d'un support de travail pour un LAN, pour rassembler les outils existants en un seul !...

          Pour moi, l'évolution est une suite de dispersions et de rassemblements !
          "Dispersions" pour la diversité !
          "Rassemblement" pour (re)travailler ensemble !
          Et il me semble -toujours en toute humilité- qu'il y a une infinité de projets sans aboutissement, en ce moment !...
          Voilà pourquoi je propose tout ça, et vous demande que nous en parlions constructivement !

          Mais pour vous donner une vue plus précise de mon point de vue, à ce sujet, un site où j'ai déjà posté qques principes -qui me sont propre- :
          http://www.dossier2007.org/article.php3?id_article=10(...)
          NB : Attention, c'est de la politique ! Eloignez les enfants... Non, je déconne ! ;)
        • [^] # Re: XML à la mode

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

          La panacée serait de "grépper" avec xpath + la regex qui va bien et de "piper" la sortie dans un générateur d'arbre XML 3D sous looking glass. Cela va sans dire que les admins devraient au préalable suivrent une formation XOpenGL et avoir des lunettes spéciales permettant de visualiser leurs résultats.
          • [^] # Re: XML à la mode

            Posté par  . Évalué à 0.

            Oui, à ce sujet, en cherchant à faire le tour de la question, j'ai lu, je sais plus où que certains pensent qu'il serait souhaitable de faire du XML, un métier à-part-entière !!

            Médites là-dessus !

            Eh, il vous faudrait aussi faire cette démarche pour bien comprendre ce à côté de quoi vous passez, en vous satisfaisant vous-même avec vos grep awk sed !?...

            Il faut vivre avec son temps ! ;)
    • [^] # Re: XML à la mode

      Posté par  . Évalué à 1.

      Pour etre un pue moins brutal dans l'idée :
      Pour moi, XML n'est pas grand chose :D
      Une façon d'ecrire des fichiers textes, c'est tout.
      Je suis un grand fan d'XML mais ce qu'il faut voir a mon avis c'est qu'XML n'est pas LA solution.
      Quelle est la difference profonde entre du XML et un fichier texte des plus classiques ? Pour moi aucune. Au pire une transformation.

      Meme si un grand pas a été fait grace a XML dans le domaine de l'interoperabilité, on aurait pu accomplir quasiment la meme chose avec des fichiers tout bete.

      Ce qui est sur, c'est que XML s'est peut a peut imiscé partout mais il n'y a que peu de rapport entre un document Open Office, un fichier de build ant, un WSDL , un XML destiné au web etc.
      • [^] # Re: XML à la mode

        Posté par  . Évalué à 1.

        "on aurait pu accomplir quasiment la meme chose avec des fichiers tout bete."
        Euh, tu déconnes, là ?
        Y'a des fichiers de conf qui sont de véritables usines à gaz, pour lequel tu peux passer des semaines à bûcher les docs, rien que pour comprendre la syntaxe !?...

        Petit parallèle :
        L'invention des chapitres et paragraphes dans les livres, a été une première étape à la structuration du contenu !!!...
        Le XML reprend simplement ce principe en l'appliquant, par des standards appropriés, à de multiples domaines ! cf: voir tous les -trucs-ML !?...
        Donc 2 dimensions : structure du contenu + structure par domaines !

        PS : Pour la peine, je vais rajouter un truc à ma signature !;)
        • [^] # Re: XML à la mode

          Posté par  . Évalué à 1.

          Ben non je deconne pas
          J'ai dit qu'on aurait pu faire la meme chose avec des fichiers textes. Pas que sendmail.cf serait devenu le standard...

          Et ensuite par "une transformation" pret, j'entend que tu pourras toujours te debrouiller pour transformer un flat file en fichier XML.

          XML ne resout pas tout. Si je fais un fichier de conf pourri pour mon appli, qu'il soit en XML ou non ne va pas changer grand chose. Il est pourri, il est pourri point barre.
          XML, c'est pas magique non plus.....
          • [^] # Re: XML à la mode

            Posté par  . Évalué à 1.

            "tu pourras toujours te debrouiller pour transformer un flat file en fichier XML."
            C'est sûr, on peut tout faire, mais à grands coup de grep | awk| sed...
            ...Et de cachets d'aspirine !
            Moi qui croyais que l'intérêt du XML était justement de pouvoir faire l'inverse !?...
            XML=>what-you-want, avec juste un petit fichier de tranformation !
            • [^] # Re: XML à la mode

              Posté par  . Évalué à 2.

              Mon point en tant que fan de XML qui a connu pas mal de desillusions, c'est juste que XML ne te dispense pas d'etre propre et que XML n'est pas la solution magique a tous les soucis de la terre contrairement a ce que peuvent penser des rafales de décideurs pressés.....
              Ensuite, ben si le standard qui s'était imposé était TLV, ben on serait tous en train de compter c'est tout....
              D'ailleurs, TLV est enocre un standard dans certains domaines ou les XML n'est pas encore rentré, et peut etre pas pret de l'etre...

Suivre le flux des commentaires

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