Retour à la page principale

Joueb.com est une communauté de construction de jouebs
(joueb = journal web, traduction de weblog et blog).

En quelques clics et gratuitement, vous pouvez vous inscrire pour participer aux jouebs et si vous le souhaitez créer votre joueb.

Page principale - Créer un blog - Perdu ? Lisez la documentation et visitez le joueb d'aide.
Les macros : une alternative simple aux CSS pour separer structure et presentation
Alors que les debats houleux au sujet des Cascading Style Sheets et de la chasse aux tables sorcieres (52 references sur Google pour "tables are evil"), se poursuivent sur les jouebs francophones et maintenant anglophones, j'aimerais vous proposer ma solution pour se debarasser de ces encombrantes balises <table>, <tr> et <td> qui - il est vrai - ne devraient rien avoir a faire au milieu du contenu. Rassurez vous, c'est une idee tres simple. Mais elle n'en reste pas moins redoutablement efficace, et elle ne souffre d'aucun des problemes qui rendent l'adoption des CSS si laborieuse et incertaine.

Introduction

Les ardents defenseurs des CSS ont raison, les tables sont diaboliques. Pas par nature - les tables sont relativement innoffensives - mais parce qu'elles ont cette facheuse tendance a se retrouver au milieu du contenu (la structure ou la semantique, appelez ca comme vous voulez). Si vous creez une page web avec une recette de gateau au chocolat et une recette de creme anglaise, chacune soigneusement encadree, vous vous retrouverez avec ces fameuses balises <table>, <tr> et <td> entre les deux. Pas moyen de mettre de la creme anglaise sur son gateau au chocolat sans se prendre les pieds dans une table.

Les promoteurs des CSS s'ecrieront surement "C'est de la faute de ces satanes tables ! Il faut les enlever !". Au premier abord, cela peut paraitre etre une solution, mais du coup, on se retrouve a manger par terre, et c'est tres peu pratique. Certaines personnes semblent y arriver avec plus ou moins de succes apres un entrainement parfois tres intensif, mais ce n'est pas mon cas et bien d'autres en ont eu plein les fesses avant moi.

Ma solution consiste a rassembler toutes les tables au meme endroit, et ensuite a poser le gateau au chocolat et la creme anglaise dessus. Voila comment ca marche :

Presentation et syntaxe des macros

La majorite des sites web organisent leurs pages en placant des boites un peu partout. Souvent c'est un simple cadre, avec ou sans bordure, de temps en temps les boites a coins ronds sont a la mode, et parfois, c'est meme du delire.

Les cadres simples ne demandent qu'une poignee de balises <table>, <tr> et <td>, mais pour faire des coins ronds ou en forme de petits beurres, on arrive tres vite a des tables dans des tables, a des images d'un pixel par un pixel et autres plaisirs de la table. Et si l'on desire placer plusieurs boites sur sa page, la maitrise du copier/coller devient vite indispensable.

Les programmeurs n'aiment pas le copier/coller, parce que s'il faut ensuite modifier quelque chose (les coins petits beurres finissent par lasser), il faut modifier la meme chose a de multiples endroits differents. C'est long, c'est fastidieux, et c'est quelque chose qui pourrait etre tres bien fait par un ordinateur.

Quand un programmeur voit des bouts de code qui se ressemblent, il essaie de creer une fonction avec une seule fois le bout de code, qu'il pourra ensuite appeler aussi souvent qu'il le souhaite. Il existe une version simplifiee des fonctions : les macros. Les macros sont equivalents a la fonction "Rechercher/Remplacer" de votre editeur de texte prefere, en plus flexible : on peut leur passer des parametres.

Par exemple, on pourrait definir une macro "boit_du_whisky" comme cela : "[nom] boit du whisky !". [nom] est un parametre de la macro. Ensuite, lorsque l'on veut dire que quelqu'un boit du whisky, il suffit d'appeler la macro en lui donnant la valeur du parametre nom : boit_du_whisky(Stephane) aura comme resultat : "Stephane boit du whisky !".

Avec des macros, on peut tres facilement se debarasser des balises <table>, <tr> et <td> en les placant dans des macros.

Par exemple, on peut definir une macro "boite", avec un argument "contenu" :

<define_macro name="boite">
<table border="1" bgcolor="blue">
<tr>
<td>
<font color="orange">
<arg name="contenu">
</font>
</td>
</tr>
</table>
</define_macro>
On peut ensuite l'appeler autant de fois qu'on le souhaite :

<macro name="boite">
<arg name="contenu">Je suis une boite bleue.</arg>
</macro>

<macro name="boite">
<arg name="contenu">Je suis une autre boite bleue.</arg>
</macro>
Rien n'empeche egalement d'utiliser une macro precedemment definie dans la declaration d'une macro :

<define_macro name="boite_avec_titre">
<macro name="boite">
<arg name="contenu">
  <h3><arg name="titre"></h3>
  <arg name="contenu">
</arg>
</macro>
</define_macro>
Ou meme d'utiliser le resultat d'une macro comme argument d'une autre :

<macro name="boite_avec_titre">
<arg name="titre">Cette boite contient une autre boite !</arg>
<arg name="contenu">
  <macro name="boite">
  <arg name="contenu">Je suis encore une boite bleue.</arg>
  </macro>
</arg>
</macro>

Avantages compares

Separation de la structure et de la presentation

Les macros reussissent aussi bien, et meme mieux, que les CSS a separer structure et presentation. Il en est effet tres aise de declarer des macros pour la presentation et de les instancier avec la structure semantique d'une page web. Par exemple, pour un joueb, apres avoir declare les macros, on peut tout simplement lister des instances comme celles ci :

<macro name="article">
  <arg name="titre">Les macros : une alternative simple
    aux CSS pour separer structure et presentation</arg>
  <arg name="auteur">Stephane Gigandet</arg>
  <arg name="date">02/16/02</arg>
  <arg name="categorie">Nouvelles</arg>
  <arg name="texte">...</arg>
   ...
</macro>

<macro name="article">
  ...
</macro>
Cet ensemble d'attributs peut ainsi aisement etre lu et traite par des machines. La forme de paire nom/valeur offre d'autres avantages par rapport aux CSS : il est possible de presenter les informations dans n'importe quel ordre, ce qui est quasi-impossible avec des CSS (les elements sont presentes les uns a la suite des autres, dans l'ordre dans lequel ils apparaissent dans le code de la page web ; il est possible d'extraire des elements du flux, mais la complexite devient vite inhumaine). Il est egalement possible de choisir de ne pas presenter certaines informations.

Il suffit ensuite de changer simplement une macro pour changer la presentation de tous les elements de la page.

Pas de barrieres a l'adoption

Depuis six ans, les CSS en tant qu'outil de separation de la structure et de la presentation ne reussissent pas a se faire adopter par une proportion consequente des auteurs de sites web. C'est la consequence logique de nombreuses barrieres a l'adoption dont elles sont affligees. Les macros en sont cependant exemptees, et pourraient donc, pourquoi pas, etre adoptees plus facilement.

1. Les macros sont simples.

Vous savez deja tout des macros. Vraiment. Je vous ai deja dit tout ce que je savais. Ce n'etait pas tres long, ni tres penible, ni dur a comprendre (si vous n'avez pas compris, c'est sans doute que j'ai mal explique).

1.1. Les macros sont simples, donc la courbe d'apprentissage est bien moindre que celle des CSS.

1.2. Les macros sont simples, donc elles sont faciles a implementer.

Pas de risque de se retrouver avec 3 ou 4 implementation incompletes et incompatibles (pas de IE5/WIN kludge ou de "be nice to opera" rule. Cela m'a pris a peu pres une heure cette apres-midi pour implementer les macros sur Niutopia.

Si vraiment vous ne voyez pas comment faire, voici le source (open source - libre, licence MIT).

2. Les macros permettent de faire tout ce qui est possible de faire avec l'HTML, les CSS etc.

Les macros peuvent generer n'importe quel source HTML avec ou sans CSS. Elles peuvent egalement etre utilisees pour generer du WML ou n'importe quel autre format textuel.

Il est donc tres facile de partir d'une page web existante et de la transformer pour qu'elle utilise les macros. Et le resultat final sera identique a l'original ! Vous pourrez ainsi vous epargner les frustrations et echecs associees au remplacement des tables par le positionnement avec les CSS.

3. Les macros n'ont pas le probleme de l'oeuf et de la poule.

Une des raisons les plus souvent citees par les auteurs de sites web pour justifier leur non-adoption des CSS est le mauvais support par les navigateurs actuels. Les implementations des CSS sont incompletes et incompatibles entre elles. D'un autre cote, les editeurs de navigateurs ne sont pas presses pour ajouter ce support, puisque de toutes facons les sites qui utilisent le positionnement par CSS constituent une infime partie du web. On se retrouve avec le fameux probleme de l'oeuf et de la poule : pas moyen d'avoir un oeuf sans poule, et pas moyen d'avoir une poule sans oeuf.

Les macros quand a elles n'ont pas ce probleme pour deux raisons :

3.1. Les macros sont compatibles avec l'existant.

Vous pouvez utiliser les macros aujourd'hui, tout de suite, sans attendre un eventuel support par les navigateurs. Comme les macros generent de l'HTML, il suffit d'instancier les macros juste avant d'envoyer une reponse au navigateur. Pour cela, il faut que les pages soient generees dynamiquement, mais c'est deja le cas pour beaucoup de sites. Si vous programmez votre site vous meme et que vos pages sont dynamiques, vous pouvez donc facilement implementer les macros. Si vous ne programmez pas, vous pouvez utiliser un systeme qui utilise les macros (comme Niutopia des a present), ou demander aux auteurs de votre systeme d'ajouter ce support.

3.2. Les macros apportent une recompense immediate.

Les macros sont utiles des aujourd'hui. Il n'est pas necessaire d'attendre qu'une masse critique d'utilisateurs se forme pour en obtenir les fruits. Meme si Niutopia reste le seul systeme a implementer les macros, les avantages qu'elles apportent aux utilisateurs sont largement suffisants pour justifier a mes yeux leur implementation.

4. Les macros peuvent avancer pas a pas.

Les CSS sont de la haute technologie. Pour les faire avancer, il faudrait reussir a synthetiser une poule ou un oeuf a partir de rien. Pas si simple.

Les macros sont comme un immeuble : on peut construire facilement la base et construire les etages superieurs les uns apres les autres. Des le debut, on peut habiter les etages inferieurs, tout en sachant qu'au fur et a mesure que chaque etage se construit, la vue devient de plus en plus saisissante.

Voici comment on pourrait developper les macros :

4.1. Support dans les systemes qui generent des pages dynamiques

Les systemes dynamiques peuvent utiliser des themes/skins/templates pour generer du code contenant des macros, avec separation de la structure et de la presentation. Juste avant d'envoyer la page au navigateur, le systeme transforme les macros en code normal.

Cependant, ces systemes sont capables d'envoyer les pages avec les macros non-transformees aux navigateurs ou outils qui le souhaitent. Pour cela, on utilise le header Accept-Encoding du protocole HTTP.

Essayez la requete suivante a la main :

telnet joueb.com 80 GET http://joueb.com/api/ HTTP/1.1 Host: joueb.com Accept-Encoding: macros

et vous recevrez la page avec les macros non-transformees.

Je suis pret a aider tous ceux qui le souhaitent a implementer les macros dans leur systeme. D'autre part, il suffirait d'une bonne implementation en PHP pour rendre le support des macros possibles dans de nombreux systemes open-source : daCode, PostNuke, b2 et bien d'autres.

4.2. Support dans les outils d'aggregation, moteurs de recherche etc.

Grace au header "Accept-Encoding: macros", les outils d'aggregation, les moteurs de recherche (comme Daypop, Blogdex etc.) peuvent acceder directement a la structure semantique des pages web et offrir ainsi de nouveaux services.

4.3. Support natif dans les navigateurs

Si Mozilla (open-source : meme raisonnement que les systemes dynamiques, on peut le faire nous meme) et donc Netscape supportent les macros, MSIE ne devrait pas tarder.

4.4. Utilisation par les proxys

Meme raisonnement, on pourrait transformer Squid pour qu'il envoit une requete avec "Accept-Encoding: macros" aux serveurs web meme si le client ne le supporte pas. Squid se chargerait alors de la transformation avant (ou plutot en meme temps) d'envoyer la reponse au client. Et eventuellement pour qu'il essaie de generer des macros automatiquement si le serveur web ne le supporte pas, mais c'est deja beaucoup moins evident.

4.5. C'est fini.

Mais on ne s'en apercoit meme pas : pas d'abandon des anciennes pages, pas d'abandon des anciens navigateurs. Meme si 95% des utilisateurs ont des navigateurs qui supportent les macros et si 95% des sites web utilisent les macros, les 5% restant continuent a fonctionner comme si de rien n'etait.

Commentaires ?

Il est tard, les macros ont un jour. J'ai surement oublie de penser a plein de choses. J'ai surement ete injuste par moment avec les CSS. J'ai surement ete beaucoup trop megalo dans ce paragraphe 4. Vous avez surement des tas de choses a dire. Allez y.

Tim Toady
Ecrit par Biz, le Dimanche 17 Février 2002, 10:51 dans la rubrique "Nouvelles".

Commentaires :

Biz
Biz
17-02-02 à 20:39

Deja 2 jouebs utilisent les macros :)

Vu sur le boulon aujourd'hui :

"(Dimanche 17 Fevrier 2002, 18:26) Redg : biz: ça y est, le cadavre vient juste de migrer dans sa version "macro" avec succès."

Je suis alle voir ce que Redg a concote en si peu de temps apres ma presentation des macros :

Redg utilise une macro boite avec deux arguments : largeur et contenu pour ensuite pouvoir afficher les deux boites jaunes a coins ronds qui figurent sur son nouveau joueb experimental le cadavre etait presque parfait.

Le deuxieme joueb, c'est joueb.com/api/ qui me sert a faire mes essais pour les macros et le support de la Blogger API.

Tres bientot : une version macro de la skin par defaut des jouebs Niutopia.

 
Biz
Biz
17-02-02 à 22:33

Correction d'un probleme potentiel dans le source

Je viens de corriger un probleme potentiel dans le code des macros qui pouvait causer une boucle infinie.

Le probleme vient de la recursivite des macros. C'est tres pratique, mais si une macro finit par s'appeler elle meme, on ne s'en sort plus.

Dorenavant, les macros qui auraient pour resultat un cycle ne sont plus instanciees.


Exemples :

<define_macro name="a">
avant macro
<macro name="a">
</macro>
apres macro
</define_macro>

<macro name="a">
</macro>

<define_macro name="b">
avant argument
<arg name="barg">
apres argument
</define_macro>

<macro name="b">
<arg name="barg">
<macro name="b">
<arg name="barg">barg</arg>
</macro>
</arg>
</macro>


Ces deux macros auront pour resultat:

avant macro
apres macro

avant argument
avant argument
barg
apres argument
apres argument

Et non un fichier infiniment grand. :)

J'ai mis a jour le source.

 
jemisa
jemisa
18-02-02 à 10:08

barriere ?

C'est la consequence logique de nombreuses barrieres a l'adoption dont elles sont affligees.

du genre ?


Sinon, a moins que je ne comprenne pas tou, quand je fais view source, je vois toujours des tableaux, non ?

Et quand je bricole ma propre feuille de style, ca change rien a la presentation, n'est ce pas ?

Et si je ne m'abuse, les macros impliquent un pretraitement soit au niveau du producteur, pour avoir du html statique, soit au niveau du serveur, soit au niveau du navigateur ? quel avantage par rapport a XML+ XSLT ?


Et au final, quel avantage par rapport a un bon vieil editeur HTML qui genere du html tabloide ?

--

 
Biz
Biz
18-02-02 à 10:42

Re: barriere ?

>du genre ?

Je les ai listees plus haut et numerotees :

1. Les macros sont simples.
1.1. Les macros sont simples, donc la courbe d'apprentissage est bien moindre que celle des CSS.
1.2. Les macros sont simples, donc elles sont faciles a implementer.
2. Les macros permettent de faire tout ce qui est possible de faire avec l'HTML, les CSS etc.
3. Les macros n'ont pas le probleme de l'oeuf et de la poule.
3.1. Les macros sont compatibles avec l'existant.
3.2. Les macros apportent une recompense immediate.
4. Les macros peuvent avancer pas a pas.
4.1. Support dans les systemes qui generent des pages dynamiques
4.2. Support dans les outils d'aggregation, moteurs de recherche etc.
4.3. Support natif dans les navigateurs
4.4. Utilisation par les proxys

Ou plutot :

1. Les CSS sont compliquees
1.1. Les CSS sont compliquees, donc la courbe d'apprentissage est tres longue
1.2. Les CSS sont compliquees, donc elles sont difficiles a implementer
2. Les CSS ne permettent pas de faire tout ce qui est possible avec des tables
3. Les CSS ont le probleme de l'oeuf et la poule
3.1. Les CSS ne sont pas compatibles avec l'existant
3.2. Les CSS apportent peu de recompenses immediates
4. Les CSS n'avancent que tres peu en attendant une adoption qui sera massive ou qui ne sera pas

> Sinon, a moins que je ne comprenne pas tou, quand je fais view source, je vois toujours des tableaux, non ?

Oui. Mais si tu ajoutes un header "Accept-Encoding: macros", tu ne vois plus les tableaux. Si tu es sous Windows, le telnet c'est pas evident, alors je le fais pour toi. Tu peux voir le resultat en temps reel ici : api version macros non instanciees (view source) (lien a duree de vie limitee).

> Et si je ne m'abuse, les macros impliquent un pretraitement soit au niveau du producteur, pour avoir du html statique, soit au niveau du serveur, soit au niveau du navigateur ? quel avantage par rapport a XML+ XSLT ?

Je ne dis pas que tu ne peux pas le faire en XML + XSLT, je dis que pour separer structure et presentation, c'est nettement mieux que les CSS. Moi ma vision du web, ce n'est pas un ensemble de standards, c'est plusieurs ensembles standards et des choses pas standard du tout. Le XML n'est pas la reponse a tous les maux. C'est comme pour les langages de programmation, contrairement a ce que certaines personnes croient, on ne devrait pas tous coder en Java. Je code en C, en C++, en Perl et je suis content d'avoir plusieurs outils sous la main.

Voila le deal : je propose une alternative. Je te donne le code. Ca fait 200 lignes, dont 50 de licence open-source et 50 de commentaires. Ca s'explique en une page ou deux. Ca separe la structure de la presentation et ca permet aussi de factoriser le code HTML au lieu de le copier/coller un peu partout. T'en fais ce que tu veux.

Maintenant, effectivement, tu as le choix, je ne veux forcer personne. Tu peux choisir XML + XSLT pour generer de l'XHTML + CSS. Doit meme y avoir du code quelque part pour en faire une partie. Ca s'explique en 300 pages tres touffues, mais ca doit etre jouable.

> Et au final, quel avantage par rapport a un bon vieil editeur HTML qui genere du html tabloide ?

Essaie. Vas voir la skin etiquettes. Le code. Prends 10 minutes pour lire le code calmement, et ensuite, demandes toi comment tu feras pour mettre des coins ronds a toutes les boites. Fais la meme chose avec ton editeur HTML. Sur les dizaines de pages de ton site.

 
jemisa
jemisa
18-02-02 à 18:45

Re: #include "header.html"

On vise pas la meme clientele!

Y'a des gens qui arrivent a peine a faire un "voir source" avec le navigateur pour copier-coller des exemples de code.
Alors si il faut qu'ils fassent du telnet.


>Moi ma vision du web, ce n'est pas un ensemble de
>standards, c'est plusieurs ensembles standards et des
>choses pas standard du tout.
A chacun sa vision des choses.
Moi, ma vision c'est en apprendre le moins possible pour pouvoir m'en resservir le plus. Donc j'apprendrai plutot a pomper des designs CSS a droite et a gauche pour arriver a faire ce que je veux, plutot que de prendre un preprocesseur pour me faciliter le design de code massif.

> Le XML n'est pas la reponse a tous les maux.
C'etait pas vraiment la raison d'etre de la question

En comparant a XML+XSLT (ce qui se rapproche le plus d'une solution "standardisee" de transformation automatique de XML en XML), j'essayai juste d'evaluer l'avantage d'une solution non standard et qui ne marche que a quelques endroits du web par rapport a quelque chose, qui - W3 aidant - sera petit a petit supporte par tous les navigateurs majeurs et qui permet de faire des choses - il me semble - equivalentes.

>y'a le choix
oui bien sur. Moi, j'ai le choix, je sais faire.
Mais en placant joueb.com comme un outil d'entree de neophite sur l'internet - mon concept ideal du joueb - tu as une "certaine" responsabilite (parce que la premiere impression est souvent l'unique impression)

Enfin, mais juste histoire de troller un peu,
tu ecris:
4.3. Support natif dans les navigateurs

mais si je clique sur
http://joueb.com/etiquettes/etiquettes_no_macros.html
avec Mozilla, j'ai des surprises!
Tu renommes ca en XML, tu files la transformation xsl et avec un peu de change Moz fait la conversion tout seul !



Sinon, histoire que pas avoir lu jusqu'a la pour rien,
a propos de MetaLanguage pour le WEB, y'a aussi http://www.engelschall.com/sw/wml/

et c'est comme cela que PHP a commence (http://www.zend.com/manual/history.php#history.php)


et la derniere tribune PRO-CSS a la mode c'est:
http://diveintomark.org/archives/00000144.html
(via http://lambda.weblogs.com/discuss/msgReader$2809 )

 
Lutin
Lutin
19-02-02 à 09:27

Re: Re: #include

Hmm, WML, c'est pas très malin, comme nom pour un langage de processing. Ca conflicte avec le WAP-ML...

XML+XSLT, c'est certes intéressant, mais je ne suis pas sûr que ce soit géré par un autre navigateur (MSIE j'ai un doute en tout cas).

Par contre, XML+CSS, ça pourrait marcher, oui.

Du coup, j'ai une question pour Biz: tes macros, on ne pourrait pas le faire (plus ou moins) avec de la rédéfinition de tag ("entities") en XML, et mettre une feuille de style CSS par derrière (oui, je sais, t'aimes pas les CSS, mais on arrive tout de même à faire des choses avec, cf. les autres threads sur le sujet ici et ).

Faudrait que je regarde, à l'occasion...

 
Biz
Biz
19-02-02 à 19:01

Re: Re: Re: #include

Je ne connais pas la redefinition de tags entities en XML. Ca marche comment ? Ca peut etre recursif ?

 
Lutin
Lutin
21-02-02 à 09:39

Re: Re: Re: Re: #include

Hmm ça marche comme ça (extrait pris des DTD DocBook):
<!ENTITY euro "&#x20AC;">

Je pense que c'est récursif mais j'en suis pas sûr. La définition ci-dessus est du XML pur, donc en fait, je suis finalement pas sûr que ça passe partout: il faut que le navigateur gère les DTD... Y'a pas un spécialiste des navigateurs dans la salle? :)

 
Biz
Biz
21-02-02 à 19:27

Re: Re: Re: Re: Re: #include

Pas mal, mais sans possibilite de mettre des parametres. Primordial pour separer structure et presentation..

 
castor
castor
18-02-02 à 18:40

premières idées qui me viennent à l'esprit.

Bon, j'ai pas tout lu, mais voilà:

1) Les macros englobent les smart colors. Quid des smart colors? a priori il y a double emploi.

2) Tant qu'à faire, on pourrait avoir des bibliothèques de macros, style mysuperskin.html appelant le standart Niutopia stdtable.lib, présent en un seul exemplaire sur le serveur, ou ma librairie perso mytable.lib de la mort qui tue l'optimisé. Avec un ordre: #include #include "mytable.lib" ou 2) Pourquoi ne pas réutiliser l'existant? Dis, si la génération de code est dynamique, est-ce que tu ne peux pas faire appel au précompilateur C?

 
Biz
Biz
18-02-02 à 19:47

Re: premières idées qui me viennent à l'esprit.

> 1) Quid des smart colors? a priori il y a double emploi.

Bonne question, mais pas tout a fait en fait. Tu peux utiliser les macros pour faire quelque chose comme:

<define_macro my_color>#ff9933<define_macro>

Mais les smartcolors ont un petit plus : tu as les degrades vers le blanc et le noir. La ou il te faudrait 4 ou 5 macros, tu as une seule smartcolor.

Oui, on pourrait rajouter de la logique et tout dans les macros, mais ca serait moins simple. Il ne s'agit pas de reinventer le Javascript. :)

> #include "mytable.lib"

Pourquoi pas. C'est comme les definitions des CSS, tu peux les mettre directement dans la page, mais aussi dans un fichier a part etc. A terme peut etre.

> 2) faire appel au précompilateur C?

On pourrait, mais il n'y a pas gcc installe chez mon hebergeur. ;-) Comme dit plus haut, ca tiens en 100 lignes de code, donc ce n'est pas un probleme de le faire soi meme plutot que d'appeler un process en plus. On pourrait aussi transformer le code en C pour faire une lib ou un executable qui pourrait etre appele par un CGI ou n'importe quoi. Ou un module Perl. Enfin c'est du detail technique a ce niveau la. Ce qui est important, c'est voir si le concept marche.

 
castor
castor
27-02-02 à 21:54

Re: Re: premières idées qui me viennent à l'esprit.

Au fait, pourquoi ne pas utiliser du Javascript, déjà?

 
Biz
Biz
28-02-02 à 01:17

Re: Re: Re: premières idées qui me viennent à l'esprit.

1. Pour pouvoir generer autre chose que de l'HTML.
2. Parce que tout le monde n'a pas Javascript ou ne l'a pas active.

 
Lutin
Lutin
19-02-02 à 09:28

Re: premières idées qui me viennent à l'esprit.

hmm, désolé, j'ai oublié un " dans mon URL...
là, je ferme tout au cas où ca continue à foutre le bordl. Biz, tu reprends mon article? il manque le " fermant à la fin de la 2e URL :-)

 
jemisa
jemisa
19-02-02 à 16:37

WML vs WML

A moins que ma mémoire me joue des tours,
WML existait avant que le WAP consortium décide que faire du simili web sur un téléphone portable soit une bonne idée...

 
jemisa
jemisa
14-03-02 à 09:19

XML+XSLT

y'a BlogML
http://www.manero.org/blogml/

qui essaye de faire cela: le fond en BlogML, la forme en XSLT.


voir aussi:
http://www.d-log.net/mta/001000.htm
http://blogml.ktyp.com/

 
linkback
linkback
03-07-02 à 15:54

Lien croisé

En attendant Godot : "Apprendre a faire des macros c'est ici
"

 
linkback
linkback
03-07-02 à 16:23

Lien croisé

Godot - Macros vs. CSS : "Apprendre a faire des macros c'est ici"

 
linkback
linkback
01-10-02 à 15:09

Lien croisé

Etiquettes, skin pour Niutopia : "Cette version de la skin etiquettes est identique a la precedente, excepte le fait qu'elle utilise massivement les macros. Comme d'habitude, pour la telecharger, clic droit, sauvez sous : Version macros - Version precedente (sans macros). Il y a surement d'autres facons interessantes pour organiser les macros etc. Si vous avez des idees, n'hesitez pas a les proposer."

 
linkback
linkback
19-04-03 à 11:28

Lien croisé

6. Misdruk February 2002 : "In het Frans: Niutopia - système de création de joueb (blog/weblog). "

 


Logo dessiné par Johan Roirand.
Version  XML  -- Joueb.com est une plateforme d'hébergement gérée par l'association 1901 ViaBloga.