Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

methode pour gere css et navigateurs

2 views
Skip to first unread message

J-F Portala

unread,
Dec 1, 2008, 2:22:37 PM12/1/08
to
Bonjour,
j'ai quelques difficultés à obtenir le même rendu sur les navigateurs IE et
firefox.
J'utilise des CSS. (enfin j'essaie)
J'affiche un tableau dans lesquels les lignes paires et impaires ont un fond
blanc ou vert.
Avec firefox, cela se passe bien, avec IE, j'ai un fond completement gris.

Je ne vous demande pas de débugger mon probleme, mais juste de m'indiquer
quelle est la méthode à utiliser ou éventuellement les outils
pour rechercher ce type de probleme.

Merci

Jeff


SAM

unread,
Dec 1, 2008, 3:42:45 PM12/1/08
to
Le 12/1/08 8:22 PM, J-F Portala a écrit :

tr td { background: #ffc; }
tr.gr td { background: lime; }

<table border=1 width="80%">
<tr><td>1</td><td>2</td></tr>
<tr class="gr"><td>1</td><td>2</td></tr>
<tr><td>3</td><td>4</td></tr>
<tr class="gr"><td>5</td><td>6</td></tr>
<tr><td>7</td><td>8</td></tr>
<tr class="gr"><td>9</td><td>0</td></tr>
</table>

<http://stephane.moriaux.pagesperso-orange.fr/truc/tables_highlight_cells>
<http://stephane.moriaux.pagesperso-orange.fr/truc/tables_highlight_rows>
<http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>

--
sm

Olivier Miakinen

unread,
Dec 1, 2008, 4:01:31 PM12/1/08
to

Difficile de te répondre comme ça, parce qu'une grande partie des bugs
d'Internet Explorer consiste juste en des trucs non implémentés. Il y a
peut-être des sites qui les recensent, mais sinon la lecture régulière
de ce groupe permet d'en connaître pas mal.

Par exemple, si tu a utilisé le sélecteur « + », alors ça ne peut pas
fonctionner dans IE6 (avec IE7 je pense que c'est bon mais je n'ai pas
vérifié).

Et si tu as utilisé la pseudo-classe CSS3 « :nth-child », alors il n'y a
sans doute pas encore beaucoup de navigateurs où cela marche.

Sergio

unread,
Dec 2, 2008, 3:22:32 AM12/2/08
to
SAM a présenté l'énoncé suivant :

>> J'affiche un tableau dans lesquels les lignes paires et impaires ont un
>> fond blanc ou vert.
>> Avec firefox, cela se passe bien, avec IE, j'ai un fond completement gris.
>>
>> Je ne vous demande pas de débugger mon probleme, mais juste de m'indiquer
>> quelle est la méthode à utiliser ou éventuellement les outils
>> pour rechercher ce type de probleme.
>
> tr td { background: #ffc; }
> tr.gr td { background: lime; }
>
> <table border=1 width="80%">
> <tr><td>1</td><td>2</td></tr>
> <tr class="gr"><td>1</td><td>2</td></tr>
> <tr><td>3</td><td>4</td></tr>
> <tr class="gr"><td>5</td><td>6</td></tr>
> <tr><td>7</td><td>8</td></tr>
> <tr class="gr"><td>9</td><td>0</td></tr>
> </table>

Bien, mais pas moyen de le faire automatiquement ? Parce quand on
rajoute une ligne, il faut tout décaler, et du coup, on peut se
planter. Il y a la solution de mettre un script pour régler tout ça,
mais la beauté de la chose...

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org


J-F Portala

unread,
Dec 2, 2008, 3:54:32 AM12/2/08
to
merci pour vos suggestions,
mais je pensais qu'il avait des outils (un peu plus évolués que le code
source de la page)
pour travailler avec les CSS et les différents navigateurs.

Dans le code source de la page, si on utilise des classes, on voit juste la
référence à la classe, sans avoir le détail.

Jeff


Olivier Masson

unread,
Dec 2, 2008, 4:18:28 AM12/2/08
to
Olivier Miakinen a écrit :

> Difficile de te répondre comme ça, parce qu'une grande partie des bugs
> d'Internet Explorer consiste juste en des trucs non implémentés. Il y a
> peut-être des sites qui les recensent, mais sinon la lecture régulière
> de ce groupe permet d'en connaître pas mal.
>

Commencer par utiliser ce travail plutôt exhaustif (hors navigateurs
manquants)

> Par exemple, si tu a utilisé le sélecteur « + », alors ça ne peut pas
> fonctionner dans IE6 (avec IE7 je pense que c'est bon mais je n'ai pas
> vérifié).
>
> Et si tu as utilisé la pseudo-classe CSS3 « :nth-child », alors il n'y a
> sans doute pas encore beaucoup de navigateurs où cela marche.

Et donc on utilise un bibli JS comme les excellents prototype ou jquery
car 98% des internautes ont JS d'activé. Et les autres, c'est de la nav
texte donc on se fout de ce type de présentation.

Olivier Masson

unread,
Dec 2, 2008, 4:24:07 AM12/2/08
to
J-F Portala a écrit :

Tu as des tentatives mais jamais formidables.
J'ai essayé il y a peu le logiciel commercial pour Win "stylizer". Il
parait assez formidable mais en fait, il plante pas mal avec les rendus
IE (tiens donc...)
Sinon, utilisation de firebug + webdevelopper sur Firefox et la debugbar
+ compagnion JS pour IE.
Généralement FF3 = Opera 9.6 = Safari 3.1 = Chrome

Pierre Goiffon

unread,
Dec 2, 2008, 5:09:58 AM12/2/08
to
Sergio wrote:
>> tr td { background: #ffc; }
>> tr.gr td { background: lime; }
>>
>> <table border=1 width="80%">
>> <tr><td>1</td><td>2</td></tr>
>> <tr class="gr"><td>1</td><td>2</td></tr>
>> <tr><td>3</td><td>4</td></tr>
>> <tr class="gr"><td>5</td><td>6</td></tr>
>> <tr><td>7</td><td>8</td></tr>
>> <tr class="gr"><td>9</td><td>0</td></tr>
>> </table>
>
> Bien, mais pas moyen de le faire automatiquement ? Parce quand on
> rajoute une ligne, il faut tout décaler, et du coup, on peut se planter.

Exactement, ce n'est pas pratique !
Aujourd'hui il n'existe pas de solution miracle malheureusement...

Il me semble de manière assez sûre que les sélecteurs CSS3 apportent des
réponses à ce prb ?
Trouvé rapidement cet article sur A List Apart :
http://www.alistapart.com/articles/zebratables
Qui renvoie vers :
http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#structural-pseudos

Sinon à ce jour on est obligé de se débrouiller... La plupart du temps
c'est un traitement serveur qui va générer de toute façon le tableau :
on a particulièrement besoin de ces alternances sur de gros tableaux,
ils sont souvent générés côté serveur depuis une source de données. Donc
on adapte ce traitement pour qu'il génère une fois sur 2 un class=...
On peut aussi le faire avec un script JavaScript... JQuery parait un bon
candidat pour réaliser ce genre de choses (on peut aussi le faire soit-même)

Pierre Goiffon

unread,
Dec 2, 2008, 5:12:25 AM12/2/08
to
Olivier Masson wrote:
> Et donc on utilise un bibli JS comme les excellents prototype ou jquery
> car 98% des internautes ont JS d'activé. Et les autres, c'est de la nav
> texte donc on se fout de ce type de présentation.

C'est une opinion qui me parait un peu excessive ! JavaScript n'est pas
toujours utilisable et cela peut poser des prb... Les applications Web
présentant des grands tableaux de données sont souvent utilisées en
entreprise, et certaines bloquent carrément le Js sur leur proxy...

Tout dépend de quelle importance on accorde à cette décoration : si
c'est vraiment accessoire alors on pourra le faire en JavaScript
(attention à l'impact sur les performances client tout de même !)
Souvent cependant cette décoration est indispensable à la lecture des
données...

Pierre Goiffon

unread,
Dec 2, 2008, 5:13:25 AM12/2/08
to
Olivier Miakinen wrote:
> Et si tu as utilisé la pseudo-classe CSS3 « :nth-child »

!!
Ouch mes excuses, ça fait 2 fois que je donne dans un fil une réponse
qui avait été déjà donnée... Décidemment, vivement les vacances ;)

SAM

unread,
Dec 2, 2008, 5:29:03 AM12/2/08
to
Le 12/2/08 9:22 AM, Sergio a écrit :

> SAM a présenté l'énoncé suivant :
>
>>> J'affiche un tableau dans lesquels les lignes paires et impaires ont
>>> un fond blanc ou vert.
>>
>> tr td { background: #ffc; }
>> tr.gr td { background: lime; }
>>
>> <table border=1 width="80%">
>> <tr><td>1</td><td>2</td></tr>
>> <tr class="gr"><td>1</td><td>2</td></tr>
>> <tr><td>3</td><td>4</td></tr>
>> <tr class="gr"><td>5</td><td>6</td></tr>
>> <tr><td>7</td><td>8</td></tr>
>> <tr class="gr"><td>9</td><td>0</td></tr>
>> </table>
>
> Bien, mais pas moyen de le faire automatiquement ?

Et Excel ? non ? jamais ?

> Parce quand on
> rajoute une ligne, il faut tout décaler, et du coup, on peut se planter.
> Il y a la solution de mettre un script pour régler tout ça, mais la
> beauté de la chose...

Le script peut être sur le serveur ...
database --> extraction --> modulo 2 --> code html kivabien

Sinon, le script JS n'est pas très lourd
et tant pis pour le paresseux IE ou ceusses sans JS
ce n'est finalement que du décorum, un accessoire.

--
sm

SAM

unread,
Dec 2, 2008, 5:35:18 AM12/2/08
to
Le 12/2/08 9:54 AM, J-F Portala a écrit :

> merci pour vos suggestions,
> mais je pensais qu'il avait des outils (un peu plus évolués que le code
> source de la page)

Le javascript ?

window.onload = function() {
var t = document.getElementsByTagName('TR');
(for(var i=0, n=t.length; i<n; i++)
if(i%2==0) t[i].className='gr';
}

> pour travailler avec les CSS et les différents navigateurs.

> Dans le code source de la page, si on utilise des classes, on voit juste la
> référence à la classe, sans avoir le détail.

et où est le problème ?

c'est quand même :
- plus propre
- moins lourd que de styler chaque cellule de la rangée
10% de poids gagné !

--
sm

SAM

unread,
Dec 2, 2008, 5:37:18 AM12/2/08
to
Le 12/2/08 10:18 AM, Olivier Masson a écrit :

>
> Et donc on utilise un bibli JS comme les excellents prototype ou jquery

T'es louff ou quoi ?
1) ces biblis sont codées avec les pieds
2) 4 lignes de code suffisent

--
sm

SAM

unread,
Dec 2, 2008, 5:47:18 AM12/2/08
to
Le 12/2/08 11:12 AM, Pierre Goiffon a écrit :

> Olivier Masson wrote:
>> Et donc on utilise un bibli JS comme les excellents prototype ou
>> jquery car 98% des internautes ont JS d'activé. Et les autres, c'est
>> de la nav texte donc on se fout de ce type de présentation.
>
> C'est une opinion qui me parait un peu excessive ! JavaScript n'est pas
> toujours utilisable et cela peut poser des prb...

Heu ... ça doit foonctionner sans JS, toujours !
Ou alors c'est qu'on s'adresse à une clientelle qui sera obligée de
l'adopter (même pb que pour le Flash).

> Les applications Web
> présentant des grands tableaux de données sont souvent utilisées en
> entreprise, et certaines bloquent carrément le Js sur leur proxy...

Alors là, on s'en br...e !
Les applis avec de grands tableaux sont automatisées yaka prévoir le
truc côté serveur (1 ligne maxi à rajouter), c'est tout.

> Tout dépend de quelle importance on accorde à cette décoration : si
> c'est vraiment accessoire alors on pourra le faire en JavaScript

c'est forcémet accessoire, n'ajoute qu'un peu de commodité à la lecture
(visuelle !).

> (attention à l'impact sur les performances client tout de même !)

Nulle si on n'a que ça à faire une class toutes les 2 rangées.
(sauf avec IE assez poussif avec les tables )

> Souvent cependant cette décoration est indispensable à la lecture des
> données...

seulement si on y voit.

--
sm

Olivier Miakinen

unread,
Dec 2, 2008, 5:55:50 AM12/2/08
to
Le 02/12/2008 11:13, Pierre Goiffon a écrit :
>
>> Et si tu as utilisé la pseudo-classe CSS3 « :nth-child »
>
> !!
> Ouch mes excuses, ça fait 2 fois que je donne dans un fil une réponse
> qui avait été déjà donnée...

Ce n'est pas grave, d'autant plus que tu avais donné une réponse plus
complète que la mienne avec l'URL suivante :
http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#structural-pseudos

> Décidemment, vivement les vacances ;)

Néanmoins, ceci reste vrai.

SAM

unread,
Dec 2, 2008, 7:18:36 AM12/2/08
to
Le 12/2/08 11:35 AM, SAM a écrit :

> Le 12/2/08 9:54 AM, J-F Portala a écrit :
>> merci pour vos suggestions,
>> mais je pensais qu'il avait des outils (un peu plus évolués que le
>> code source de la page)
>
> Le javascript ?
>
> window.onload = function() {
> var t = document.getElementsByTagName('TR');
> (for(var i=0, n=t.length; i<n; i++)
> if(i%2==0) t[i].className='gr';
> }

un peu mieux :

<body onload="if(document.getElementsByTagName){


var t = document.getElementsByTagName('TR');

if(t.length)(for(var i=0, n=t.length; i<n; i++)


if(i%2==0) t[i].className='gr';}">


<noscript>
<h2 style="color:red">
sortez votre surligneur et colorisez une rangée du deux pour plus de
lisisibilité
</h2>
</noscript>


--
sm

Olivier Masson

unread,
Dec 2, 2008, 8:07:16 AM12/2/08
to
SAM a écrit :

> T'es louff ou quoi ?
> 1) ces biblis sont codées avec les pieds

Là, avec tout le respect que je te dois, tu me fais bien marrer.

> 2) 4 lignes de code suffisent
>

Pour faire une zébrure, oui. Mais pour avoir accès aux sélecteurs qui
existent mais ne sont pas sur IE6 voire 7, pour utiliser des sélecteurs
qui n'existent pas du tout.

Olivier Miakinen

unread,
Dec 2, 2008, 8:11:55 AM12/2/08
to
Le 02/12/2008 13:18, SAM a écrit :
>
> <noscript>
> <h2 style="color:red">
> sortez votre surligneur et colorisez une rangée du deux pour plus de
> lisisibilité
> </h2>
> </noscript>

:-D

Olivier Masson

unread,
Dec 2, 2008, 8:13:39 AM12/2/08
to
Olivier Masson a écrit :

> Olivier Miakinen a écrit :
>
>> Difficile de te répondre comme ça, parce qu'une grande partie des bugs
>> d'Internet Explorer consiste juste en des trucs non implémentés. Il y a
>> peut-être des sites qui les recensent, mais sinon la lecture régulière
>> de ce groupe permet d'en connaître pas mal.
>>
>
> Commencer par utiliser ce travail plutôt exhaustif (hors navigateurs
> manquants)
>

Je note au passage que mon message a été bien lu...
J'ai donc oublié le lien (plus un bonus du coup) :
http://www.webdevout.net/browser-support-css
http://www.quirksmode.org/css/contents.html

Laurent vilday

unread,
Dec 2, 2008, 9:57:27 AM12/2/08
to
Pierre Goiffon :
> Sergio :

>> Bien, mais pas moyen de le faire automatiquement ? Parce quand on
>> rajoute une ligne, il faut tout décaler, et du coup, on peut se planter.
>
> Il me semble de manière assez sûre que les sélecteurs CSS3 apportent des
> réponses à ce prb ?
> http://www.alistapart.com/articles/zebratables
> Qui renvoie vers :
> http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#structural-pseudos
>
> Sinon à ce jour on est obligé de se débrouiller... La plupart du temps
> c'est un traitement serveur qui va générer de toute façon le tableau :
> on a particulièrement besoin de ces alternances sur de gros tableaux,
> ils sont souvent générés côté serveur depuis une source de données. Donc
> on adapte ce traitement pour qu'il génère une fois sur 2 un class=...
> On peut aussi le faire avec un script JavaScript... JQuery parait un bon
> candidat pour réaliser ce genre de choses (on peut aussi le faire
> soit-même)

Euh, JQuery pour faire un bête zebra des fils d'un élément ? Ca me
parait un peu trop pour le besoin, de toute façon JQuery est (entre
autre) trop lourd pour tout et n'importe quoi.

// pour structures simples parent/child
// du style <ul><li>, <tr><td>, etc.
function zebra(elt)
{
var
i,
pos = 0,
c = elt.childNodes,
odd = arguments[1] || 'odd',
even = arguments[2] || 'even';
for ( i = 0; i < c.length; i++ )
{
// 1 == document.ELEMENT_NODE
if ( c[i] && c[i].nodeType == 1 )
{
c[i].className = pos%2? odd:even;
pos++;
}
}
}

// pour structures tablesques plus complexes, parent/child/child/
// du style <table><tbody><tr>
function zebraTable(tbl)
{
var
i, j, c,
pos = 0,
tbodies = tbl.tBodies,
odd = arguments[1] || 'odd',
even = arguments[2] || 'even';
for ( i = 0; i < tbodies.length; i++ )
{
c = tbodies[i].childNodes;
for ( j = 0; j < c.length; j++ )
{
// 1 == document.ELEMENT_NODE
if ( c[j] && c[j].nodeType == 1 )
{
c[j].className = pos%2? odd:even;
pos++;
}
}
}
}

Evidemment, tout est a adapter selon les exigences du contexte :
- reinit odd/even quand on sort/entre d'un tbody ?
- conserve className existant ?
- cycle sur X pas au lieu de Y pas, 2 en l'occurence (odd/even) ?
- tests de contrôle basique du genre, mon élément est bien là ?
- etc.

--
laurent

Laurent vilday

unread,
Dec 2, 2008, 10:08:34 AM12/2/08
to
Pierre Goiffon :
> Olivier Miakinen :

Bienvenu dans mon club, j'suis un spécialiste :)

--
laurent

Pierre Goiffon

unread,
Dec 2, 2008, 11:03:06 AM12/2/08
to
Laurent vilday wrote:
> Euh, JQuery pour faire un bête zebra des fils d'un élément ?

:)
JQuery est pratique pour beaucoup d'autres choses, et sa syntaxe est
bien adaptée à ce genre de choses.
Maintenant intégrer JQuery juste pour ce besoin, évidemment...

Pierre Goiffon

unread,
Dec 2, 2008, 11:07:21 AM12/2/08
to
SAM wrote:
>>> Et donc on utilise un bibli JS comme les excellents prototype ou
>>> jquery car 98% des internautes ont JS d'activé. Et les autres, c'est
>>> de la nav texte donc on se fout de ce type de présentation.
>>
>> C'est une opinion qui me parait un peu excessive ! JavaScript n'est
>> pas toujours utilisable et cela peut poser des prb...
>
> Heu ... ça doit foonctionner sans JS, toujours !
(...)

>
>> Les applications Web présentant des grands tableaux de données sont
>> souvent utilisées en entreprise, et certaines bloquent carrément le Js
>> sur leur proxy...
(...)

>> Tout dépend de quelle importance on accorde à cette décoration
(...)

>
> c'est forcémet accessoire, n'ajoute qu'un peu de commodité à la lecture
> (visuelle !).

Sincèrement non, dans certains cas ce n'est pas juste un petit plus en
passant, c'est vraiment indispensable ! Les grands volumes... ce qui m'a
fait ajouter des prb de perf client (déjà rencontré des soucis sur des
modifs de gros tableaux...) Mais dans ces cas comme tu le dis (et moi
même dans un autre billet :) ), on se débrouille alors plutôt côté serveur.

Pierre Goiffon

unread,
Dec 2, 2008, 11:11:46 AM12/2/08
to
J-F Portala wrote:
> mais je pensais qu'il avait des outils (un peu plus évolués que le code
> source de la page)
> pour travailler avec les CSS et les différents navigateurs.
>
> Dans le code source de la page, si on utilise des classes, on voit juste la
> référence à la classe, sans avoir le détail.

Tiens personne n'a répondu directement à cette question ? Soit je la
comprend mal soit... Et pourtant je me disais que j'avais besoin de
vacances en répondant au fil ce matin ! :D

Bref, au cas où je donne la réponse à la question que je comprend (voilà
que je rédige mes billets comme ASM ! ;) )

Sur Firefox il y a l'excellent Firebug (getfirebug.com) qui permet pour
un élément donné de voir toutes les propriétés CSS qui s'appliquent. Un
outil indispensable !
Sur IE il y a un équivalent réalisé par Microsoft :
http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en

SAM

unread,
Dec 2, 2008, 12:28:53 PM12/2/08
to
Le 12/2/08 2:07 PM, Olivier Masson a écrit :

> SAM a écrit :
>
>> T'es louff ou quoi ?
>> 1) ces biblis sont codées avec les pieds
>
> Là, avec tout le respect que je te dois, tu me fais bien marrer.

Ce n'est pas de moi, mais c'est ce qui se dit dans les couloirs.
Je suis bien incapable d'en juger.

>> 2) 4 lignes de code suffisent
>
> Pour faire une zébrure, oui.

Ben! c'est-y pas de ce dont auquel on cause ?

> Mais pour avoir accès aux sélecteurs qui
> existent mais ne sont pas sur IE6 voire 7, pour utiliser des sélecteurs
> qui n'existent pas du tout.

Refélemele une fois que j'comprenne de quoi toi y en a parler.

--
sm

Olivier Masson

unread,
Dec 3, 2008, 5:56:27 AM12/3/08
to
SAM a écrit :

> Le 12/2/08 2:07 PM, Olivier Masson a écrit :
>> SAM a écrit :
>>
>>> T'es louff ou quoi ?
>>> 1) ces biblis sont codées avec les pieds
>>
>> Là, avec tout le respect que je te dois, tu me fais bien marrer.
>
> Ce n'est pas de moi, mais c'est ce qui se dit dans les couloirs.
> Je suis bien incapable d'en juger.
>

Comme toujours... la jalousie rend bien irritable.
Mais que produisent ces gens si doués dans les couloirs ?

>> Mais pour avoir accès aux sélecteurs qui existent mais ne sont pas sur
>> IE6 voire 7, pour utiliser des sélecteurs qui n'existent pas du tout.
>
> Refélemele une fois que j'comprenne de quoi toi y en a parler.
>

Non supportés nativement :
IE6 (20-25% des internautes) :
A > B
A + B
A ~ B
[attr] (et dérivés)
:first-child
:empty
:enabled
:disabled
etc.

IE6+7 (60-70% des internautes) :
:lang()
:after
:focus
:before

FF3, IE, Opera (~90%) :
:nth-child
:nth-last-child

Pour tout le monde :
XPath
:even
:odd
:eq()
:gt()
:lt()
etc.

Avec jquery (et forcément le très puissant prototype), tout cela sur
tous les navigateurs pas trop vieux (IE5 fonctionne la plupart du temps).

Pour ne parler que des sélecteurs.

Laurent vilday

unread,
Dec 3, 2008, 9:40:06 AM12/3/08
to
Olivier Masson :
> SAM :
>> Olivier Masson :
>>> SAM :

Mouais !

Mais euh, depuis le temps que je fais du js intensif je n'ai jamais eu
besoin d'utiliser des sélecteur CSS et certainement pas les plus complexes.

A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?

Franchement, à part une gestion des events je n'arrive pas à comprendre
à quoi d'autre ça pourrait servir (les sélecteurs CSS), hors une fois
qu'on a compris comment marche les events et surtout comment déléguer
(event delegation) je ne vois pas l'intérêt du sélecteur CSS, si ce
n'est d'aller rapidement placer XXX listeners sur XXX éléments, ce qui
est *très* mal.

Non mais sérieusement, à quoi ça sert concrètement les sélecteurs CSS
dans du code JS ?

--
laurent

SAM

unread,
Dec 3, 2008, 10:17:27 AM12/3/08
to
Le 12/3/08 3:40 PM, Laurent vilday a écrit :


Mais piske les Jeremy, les Spectaculos, et les Protozoïques te font tout
ça pour à peine 60 à 150 ko (plus les 30 à 60ko de gestion) ...
pourquoi ne pas s'en servir ?
En plus ça coute pas un rond.

Et l'pov' nazz qu'a pas de connexion par fibre
keski fout sur l'Internet ?
De même que l'aut' là qu'a pas même un 4Ghz, non mais j'te jure !


Tiens c'est comme la dernière mouture d'eBay qui me plante mon FF.3 une
fois sur 3, (bien qu'ils n'ont pas l'air de faire appel au triplets, ça
ne les empeche pas de jizonner quand même, et sans doute de 60ko
apparents, la page finale, une fois qu'elle a fini de mouliner doit en
afficher bien plus ?)
Hein ? Quoi les sélecteurs ?
Ben comme tt l'monde : a:link :active :visited :hover
(+ 200 lignes bien denses de classes :-/ )

--
sm


Hugolino

unread,
Dec 3, 2008, 8:28:46 PM12/3/08
to
Le Mon, 01 Dec 2008 21:42:45 +0100, SAM a écrit:
> <http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>

Salut SAM,

Tu m'avais bien aidé, il y a 6 mois de ça, à réalisé mon premier script.
Donc je lurke toujours le forum...

Mais là, je vois pas. Comment est-il possible que dans cet exemple, la
couleur de fond des lignes paires soit différente de celle des
lignes impaires puisque il n'y a pas de 'class=' pour différencer les
lignes.

J'ai regardé le source et les lignes sont identiques... ???

<table id="myTable1" width=100% cellspacing=0 cellpadding=1 border=2 style="border-collapse:collapse">
<tr><td>1</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>G</td><td>H</td></tr>
<tr><td>2</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>G</td><td>H</td></tr>
<tr><td>3</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>G</td><td>H</td></tr>
<tr><td>4</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>G</td><td>H</td></tr>
...

--
$ grep -R fuck linux-2.6.15/* | wc -l
48
Hugo (né il y a 1 407 754 305 secondes)

Olivier Miakinen

unread,
Dec 4, 2008, 2:18:46 AM12/4/08
to
Le 04/12/2008 02:28, Hugolino a écrit :
>
> Mais là, je vois pas. Comment est-il possible que dans cet exemple, la
> couleur de fond des lignes paires soit différente de celle des
> lignes impaires puisque il n'y a pas de 'class=' pour différencer les
> lignes.
>
> J'ai regardé le source et les lignes sont identiques... ???

<cit.>
t[i].className = parseInt(i/2)==(i/2)?
coul1 :
coul2 ;
</cit.>

Sergio

unread,
Dec 4, 2008, 3:50:12 AM12/4/08
to
Dans son message précédent, SAM a écrit :

> <http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>

Ta remarque sur IE est injuste : Chez moi, il est aussi rapide que FF3
et le survol fonctionne. (IE7 il est vrai)

Par contre avec IE7 la première table est moins large que les autres
(alors qu'avec FF, Opera et Safari, elles sont de largeur égales).

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org


Pierre Goiffon

unread,
Dec 4, 2008, 9:20:20 AM12/4/08
to
Laurent vilday wrote:
> A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
>
> Franchement, à part une gestion des events je n'arrive pas à comprendre
> à quoi d'autre ça pourrait servir (les sélecteurs CSS), hors une fois
> qu'on a compris comment marche les events et surtout comment déléguer
> (event delegation) je ne vois pas l'intérêt du sélecteur CSS, si ce
> n'est d'aller rapidement placer XXX listeners sur XXX éléments, ce qui
> est *très* mal.

Laurent, je suis très surpris de ces lignes, pourrais-tu détailler ?

Pour moi (sans doute naïvement ?) le support des sélecteurs permet
d'accéder rapidement à un élément (modification du DOM, ajout
d'événement) sans avoir à m'ennuyer à descendre de childNodes en
childNodes ou à modifier mon HTML pour rajouter des id !

Laurent vilday

unread,
Dec 4, 2008, 10:43:41 AM12/4/08
to
Pierre Goiffon :
> Laurent vilday :

>> A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
>>
>> Franchement, à part une gestion des events je n'arrive pas à
>> comprendre à quoi d'autre ça pourrait servir (les sélecteurs CSS),
>> hors une fois qu'on a compris comment marche les events et surtout
>> comment déléguer (event delegation) je ne vois pas l'intérêt du
>> sélecteur CSS, si ce n'est d'aller rapidement placer XXX listeners sur
>> XXX éléments, ce qui est *très* mal.
>
> Laurent, je suis très surpris de ces lignes, pourrais-tu détailler ?

Houla je peux essayer, mais c'est pas gagné.

Ce qu'il faut voir, c'est qu'utiliser un sélecteur CSS dans du code JS
c'est rien d'autre qu'un wrapper pour éviter de boucler soit même sur
les éléments qui nous intéressent.

Ca n'empêche pas la création de milliers de listeners dans le document
quand un seul serait nécessaire grâce au concept de délégation de
l'évènement ("event delegation"). Hors dès qu'on se met à déléguer les
events, plus besoin des sélecteurs CSS, tout du moins pour moi jusqu'à
présent.

Pour l'instant et à défaut de m'en montrer plus, le seul "intérêt" que
j'arrive à concevoir pour les sélecteurs CSS dans du code javascript
c'est l'application de plusieurs listeners similaires sur des éléments
plus ou moins adjacents (des childs, des siblings, de toute façon il y a
toujours un parentNode sur lequel se baser).

Le plus "simple" (hurmm) c'est de me lancer sur un exemple : soit une
liste (UL) d'éléments (LI) sur lesquels le click doit afficher le
contenu du LI.

Structure :
***********

<ul id="mon_ul">
<li>contenu A</li>
<li>contenu B</li>
<li>contenu C</li>
<li>contenu D</li>
<li>contenu E</li>
</ul>

Application des listeners :
***************************
Il y a 3 (au moins selon les outils à disposition) façons de faire :

* A) méthode classique de boucle sur les childNodes
et application individuelle du listener.

function listener() { alert(this.innerHTML; }
var ul = document.getElementById('ul');
for ( var i = 0; i < ul.childNodes.length; i++ )
{
if ( ul.childNodes[i]
&& ul.childNodes[i].nodeType == 1
&& ul.childNodes[i].nodeName == "LI" )
{
ul.childNodes[i].onclick = listener;
}
}

* B) méthode avec sélecteur CSS (JQuery par exemple)
!! Je ne suis pas un expert de la syntaxe JQuery !!

$('#mon_ul > li').click(function() { alert($(this).html()); });

* C) méthode par délégation de l'événement

function getTarget(e)
{
var
evt = e || window.event,
target = evt.target || evt.srcElement;
return target && target.nodeType == 3 ? target.parentNode : target;
}

function listener(e)
{
var target = getTarget(e);
if ( target && target.nodeName == "LI" )
{
alert(target.innerHTML);
return false;
}
return true;
}
document.getElementById('ul').onclick = listener;


Constat :
*********

Méthode A :
+ simple à comprendre même pour un débutant en js
- fastidieuse boucle sur les childNodes, mais rien n'interdit de créer
un wrapper qui ferait la boucle pour nous
- nb listeners : 5

Méthode B :
+ concis (mais parce que l'exemple A est brut de pomme)
+ boucle de la méthode A disparue au profit d'un wrapper dans JQuery
qui le fait pour nous par le biais des sélecteurs CSS
- JQuery pour commencer, c'est un GROS moins
- perte de lisibilité du code dès que ça dépasse la dizaine de ligne
- difficulté de maintenance liée à la lisibilité
- nb listeners : 5

Méthode C :
+ concis
+ simple à comprendre une fois le concept d'event delegation appréhendé
- euhh, pour ma part pas de points négatifs pour cette méthode
+ nb listeners : 1 seul et unique


En gros, la méthode A est chiante à mourir avec sa boucle sur les
childNodes, ce qui a, je pense, conduit les concepteurs de librairies à
s'orienter vers les sélecteurs CSS afin de "simplifier" ce "travail" de
boucle sur les éléments impliqués.

Mais les events ont la *très* bonne habitude de remonter (bubble) dans
l'arbre du document d'où la méconnue méthode C (google: event
delegation), et dès qu'on a cet outils entre les mains, les milliers de
lignes de codes associées aux sélecteurs CSS deviennent obsolètes. Et le
gros intérêt de cette méthode c'est qu'un seul et unique listener par
parents impliqués est défini, au lieu d'un par childNodes. Ceci dit, je
pense qu'il vaut mieux éviter de pousser à l'extrème en déléguant
jusqu'au <body>, c'est un peu trop IMO.

A moins qu'il n'existe une autre utilisation pour les sélecteurs CSS
dans du code JS (ou plusieurs mais j'en doute, déjà une ce serait pas
mal), je ne vois pas l'intérêt d'aller charger une librairie avec ses
milliers de lignes de code non maitrisé.

Il est fort probable que je me trompes, mais pour l'instant je n'arrive
pas à en comprendre l'utilité profonde, si ce n'est d'être "ulta hype"
et de pouvoir se palucher en prétendant utiliser des sélecteurs CSS-3.

--
laurent

Laurent vilday

unread,
Dec 4, 2008, 10:48:33 AM12/4/08
to
Laurent vilday :

Grrrr ...

> <ul id="mon_ul">

[...]

> var ul = document.getElementById('ul');

------------------------------------^^
var ul = document.getElementById('mon_ul');

évidemment ...

--
laurent

SAM

unread,
Dec 4, 2008, 11:46:15 AM12/4/08
to
Le 12/4/08 9:50 AM, Sergio a écrit :

> Dans son message précédent, SAM a écrit :
>
>> <http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>
>
> Ta remarque sur IE est injuste : Chez moi, il est aussi rapide que FF3

Fais ajouter 50 tables (ou plus) pour voir là comme ça.
- déjà là FF.3 est bp + rapide
- ensuite essaie de changer l'ordre gris/jaune
Mon IE.6 est bp + lent que FF.3

C'était le but de cette démo, soit dit au passage.
(lenteur relative d'IE avec les tables)

> et le survol fonctionne. (IE7 il est vrai)

Tant mieux, parce que mon IE.6 lui n'y arrive pas.

De l'époque de cette démo-test, IE.7 on ne faisait qu'en parler comme
d'un futur inaccessible.

> Par contre avec IE7 la première table est moins large que les autres
> (alors qu'avec FF, Opera et Safari, elles sont de largeur égales).

Tiens ? oui, de même que dans mon IE.6
No sè que passa ? !

--
sm

SAM

unread,
Dec 4, 2008, 11:52:11 AM12/4/08
to
Le 12/4/08 2:28 AM, Hugolino a écrit :

> Le Mon, 01 Dec 2008 21:42:45 +0100, SAM a écrit:
>> <http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>
>
> Mais là, je vois pas. Comment est-il possible que dans cet exemple, la
> couleur de fond des lignes paires soit différente de celle des
> lignes impaires puisque il n'y a pas de 'class=' pour différencer les
> lignes.

Pour sûr, puisque c'est le JavaScript qui distribue ces class.

Quand tu es en mode source-code tu n'as absolument pas besoin de
différencier les rangées :
de ttes façons c'est quasi illisible ;-)

> J'ai regardé le source et les lignes sont identiques... ???

Oui, c'est l'intéret de la chose
(séparer la forme du fond poussée au plus possible ;-) )
(alléger au max le poids du fichier ?)

--
sm

Pierre Goiffon

unread,
Dec 4, 2008, 11:56:06 AM12/4/08
to
Laurent vilday wrote:
>>> A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
>
(...)

> <ul id="mon_ul">
> <li>contenu A</li>
> <li>contenu B</li>
> <li>contenu C</li>
> <li>contenu D</li>
> <li>contenu E</li>
> </ul>
>
(...)

> * C) méthode par délégation de l'événement
>
> function getTarget(e)
> {
> var
> evt = e || window.event,
> target = evt.target || evt.srcElement;
> return target && target.nodeType == 3 ? target.parentNode : target;
> }
>
> function listener(e)
> {
> var target = getTarget(e);
> if ( target && target.nodeName == "LI" )
> {
> alert(target.innerHTML);
> return false;
> }
> return true;
> }
> document.getElementById('ul').onclick = listener;
>
>
> Constat :
> *********
(...)

> Méthode C :
> + concis
> + simple à comprendre une fois le concept d'event delegation appréhendé
> - euhh, pour ma part pas de points négatifs pour cette méthode
> + nb listeners : 1 seul et unique

Merci d'avoir pris le temps de rédiger cet exemple très clair !

Tu donne un exemple simple avec un ul contenant déjà un id... mais ce
n'est pas bien souvent le cas ! Jusqu'ici j'ai souvent été contraint
d'ajouter des id dans mon HTML uniquement pour m'éviter de faire de
parcourir laborieusement le DOM...

Exemple avec des infobulles à afficher avec quelques effets lorsque l'on
survole des icônes identifiées (aide contextuelle). Le contenu à
afficher est en title de chaque image. Soit on ne modifie pas son HTML
et on trouve un moyen de parcourir le DOM (ou le "vieux"
document.images[]) pour récupérer les images... soit on utilise un
sélecteur à la JQuery et c'est plié (sélecteur img avec telle classe et
title non vide).
J'ai eu à traiter ce genre de chose sun paquet de fois et avant de
connaître JQuery c'était assez lourdingue...

SAM

unread,
Dec 4, 2008, 7:33:38 PM12/4/08
to
Le 12/4/08 5:56 PM, Pierre Goiffon a écrit :


Ou bien je n'ai pas compris ?
Ou bien ton truc n'est pas assez compliqué ?

mais ...

function listener(e)
{
var target = getTarget(e);

if ( target )
{
var t = target.nodeName;
if ( t == "LI" )
{
alert(target.innerHTML);
return false;
}
if ( t == 'IMG' && t.title !='')
{
return infoBul(target);
}
return true;
}
}

Le listener à la Laurent me semble hyper simple à mettre en pratique.

Pour l'avoir un tt petit peu essayé, j'ai été suffoqué de voir à quelle
vitesse ça réagit, en particulier dans IE qui a un peu de mal à looper
dans le DOM.

Je suppose que le if(target.nodeName blabla) reblabla();
doit pouvoir lui-même être une fonction.

Sinon on crée : infoBul(e);
directement comme un listener, non ?

--
sm

Sergio

unread,
Dec 5, 2008, 2:54:57 AM12/5/08
to
SAM avait énoncé :

>>> <http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>
>>
>> Ta remarque sur IE est injuste : Chez moi, il est aussi rapide que FF3
>
> Fais ajouter 50 tables (ou plus) pour voir là comme ça.
> - déjà là FF.3 est bp + rapide
> - ensuite essaie de changer l'ordre gris/jaune
> Mon IE.6 est bp + lent que FF.3

Non, ben justement, à peu près à égalité avec FF3 (P4HT 2,8GHz sous
XPSP3), que ce soit IE7, Opera ou Safari (les navigateurs "modernes"
installés sur ma machine).

> C'était le but de cette démo, soit dit au passage.
> (lenteur relative d'IE avec les tables)

Donc IE7 s'est bien amélioré !

Pierre Goiffon

unread,
Dec 5, 2008, 4:19:52 AM12/5/08
to
Sergio wrote:
>>> Ta remarque sur IE est injuste : Chez moi, il est aussi rapide que FF3
>>
>> Fais ajouter 50 tables (ou plus) pour voir là comme ça.
>> - déjà là FF.3 est bp + rapide
>> - ensuite essaie de changer l'ordre gris/jaune
>> Mon IE.6 est bp + lent que FF.3
>
> Non, ben justement, à peu près à égalité avec FF3 (P4HT 2,8GHz sous
> XPSP3), que ce soit IE7, Opera ou Safari (les navigateurs "modernes"
> installés sur ma machine).

Que veux dire le HT derrière le P4 ?
En tout cas il me semble qu'il s'agit d'une bête de course, et que donc
la différence de temps de rendu serait difficilement mesurable car
minime vu la puissance de la machine... non ?

SAM

unread,
Dec 5, 2008, 4:23:33 AM12/5/08
to
Le 12/5/08 8:54 AM, Sergio a écrit :
>> C'était le but de cette démo, soit dit au passage.
>> (lenteur relative d'IE avec les tables)
>
> Donc IE7 s'est bien amélioré !

OK, vu.
(me suis décidé à lancer mon émulateur WinXP/IE7)
(j'aime pas trop : il n'a pss d'AV)
--
sm

Pierre Goiffon

unread,
Dec 5, 2008, 4:28:40 AM12/5/08
to
SAM wrote:
>>>>> A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
>> (...)
>>> * C) méthode par délégation de l'événement
>>
>> Tu donne un exemple simple avec un ul contenant déjà un id... mais ce
>> n'est pas bien souvent le cas !
(...)

>> Exemple avec des infobulles à afficher avec quelques effets lorsque
>> l'on survole des icônes identifiées (aide contextuelle). Le contenu à
>> afficher est en title de chaque image.
>
> Ou bien je n'ai pas compris ?
> Ou bien ton truc n'est pas assez compliqué ?

Les images sont disposées n'importe où dans la page, il y en a
plusieurs, on ne peut pas savoir à l'avance où elle sont à moins de
créer une usine à gaz, elles ne sont pas forcément identifiables
facilement par rapport aux images qui ne doivent pas déclencher d'aide
contextuelle (if ((...) && (...) && (...)...) ), etc.

Créer une fonction qui parcourt l'ensemble du tableau document.images[]
est faisable et de ce que j'ai pu tester ne pose pas trop de prb de
performances (!!) sur Firefox comme IE 6+ ou Opera. Pour différencier
les images d'aide contextuelle on pourra utiliser un nom de classe par
exemple (bref ce que l'on utiliserai avec une méthode de sélection
d'éléments par sélecteur CSS).

MAIS : à peu près tous les développeurs Web savent lire clairement un
sélecteur CSS. Avoir une ligne claire compréhensible par tous ou
plusieurs lignes avec des if imbriqués... pour la maintenance, mon choix
est fait !
Sachant que dans tous les cas on devra développer quelque chose pour
avoir l'effet à l'apparition...
Bon on en revient à la même chose que d'habitude : pour des besoins
isolés les librairies sont assez superfétatoires, mais dès lors que l'on
a des choses plus complexes on peut se poser des questions.

Sergio

unread,
Dec 5, 2008, 5:03:51 AM12/5/08
to
Pierre Goiffon a couché sur son écran :

>> Non, ben justement, à peu près à égalité avec FF3 (P4HT 2,8GHz sous XPSP3),
>> que ce soit IE7, Opera ou Safari (les navigateurs "modernes" installés sur
>> ma machine).
>
> Que veux dire le HT derrière le P4 ?
> En tout cas il me semble qu'il s'agit d'une bête de course, et que donc la
> différence de temps de rendu serait difficilement mesurable car minime vu la
> puissance de la machine... non ?

Hyperthread. C'est à dire un "faux" biprocesseur :
http://fr.wikipedia.org/wiki/Hyper-Threading

Pas une bécane de course aujourd'hui (date de 2003). Et comme sous les
4 navigateurs, il y a un léger temps de réflexion (1/2s au pif) à la
génération des 50 tableaux, j'en conclus que ce temps de calcul est de
même ordre pour ces navigateurs !

En passant, je viens de tester sous Konqueror (KDE 4.1.3), le problème
de la première table (moins large que les autres) apparait aussi. (on
ne peux pas les soupçonner d'avoir intégrer du code Microsoft !)

Pierre Goiffon

unread,
Dec 5, 2008, 5:16:17 AM12/5/08
to
Sergio wrote:
>>> Non, ben justement, à peu près à égalité avec FF3 (P4HT 2,8GHz sous
>>> XPSP3), que ce soit IE7, Opera ou Safari (les navigateurs "modernes"
>>> installés sur ma machine).
>>
>> Que veux dire le HT derrière le P4 ?
>> En tout cas il me semble qu'il s'agit d'une bête de course
>
> Hyperthread. C'est à dire un "faux" biprocesseur :
> http://fr.wikipedia.org/wiki/Hyper-Threading
>
> Pas une bécane de course aujourd'hui (date de 2003).

Ha ok, c'est la génération avant les Core puis Core 2 ?

SAM

unread,
Dec 5, 2008, 6:04:11 AM12/5/08
to
Le 12/5/08 10:28 AM, Pierre Goiffon a écrit :

> SAM wrote:
>>>>>> A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
>>> (...)
>>>> * C) méthode par délégation de l'événement
>>
>> Ou bien je n'ai pas compris ?
>> Ou bien ton truc n'est pas assez compliqué ?
>
> Les images sont disposées n'importe où dans la page, il y en a
> plusieurs, on ne peut pas savoir à l'avance où elle sont

Je n'en vois pas trop l'utilité.

> à moins de créer une usine à gaz, elles ne sont pas forcément
> identifiables facilement par rapport aux images qui ne doivent pas
> déclencher d'aide contextuelle (if ((...) && (...) && (...)...) ), etc.

Problème de création du code de l'image ?

> Créer une fonction qui parcourt l'ensemble du tableau document.images[]
> est faisable et de ce que j'ai pu tester ne pose pas trop de prb de
> performances (!!) sur Firefox comme IE 6+ ou Opera. Pour différencier
> les images d'aide contextuelle on pourra utiliser un nom de classe par
> exemple (bref ce que l'on utiliserai avec une méthode de sélection
> d'éléments par sélecteur CSS).

Disons ... bien qu'il doit il y avoir d'autres moyens

> MAIS : à peu près tous les développeurs Web savent lire clairement un
> sélecteur CSS. Avoir une ligne claire compréhensible par tous ou
> plusieurs lignes avec des if imbriqués... pour la maintenance, mon choix
> est fait !


Il est certain que ce peut être + facile avec une bibli si plusieurs
interviennent sur un même code
(ou ont à ré-employer un code pour d'autres fichiers)

la bibli peut être très légère et maison.

Je t'engage sincèrement à trouver qque mns pour essayer le truc présenté
par Laurent.


> Sachant que dans tous les cas on devra développer quelque chose pour
> avoir l'effet à l'apparition...
> Bon on en revient à la même chose que d'habitude : pour des besoins
> isolés les librairies sont assez superfétatoires, mais dès lors que l'on
> a des choses plus complexes on peut se poser des questions.

Probablement.

--
sm

Olivier Masson

unread,
Dec 5, 2008, 6:16:25 AM12/5/08
to
Laurent vilday a écrit :

Pas trop le temps de polémiquer, d'autant plus que ça ressemble
furieusement au thème "mais à quoi sert un cms ?", "mais à quoi sert le
fait de rendre un site compatible sur IE6 alors que FF c'est tellement
mieux ?", etc.

Je ne doute pas de votre grande connaissance en JS. Un peu plus de votre
expérience de créa de site internet.

Disons que les sélecteurs CSS2.1 et CSS3 ne servent à rien, puique vous
gérez tout avec vos 3 lignes de JS.

Moi, je me sers beaucoup de sélecteurs.

Je pense, par manque de temps (mais également de crainte de parler dans
le vide), les autres nombreux avantages de *certaines* bibli JS.

Comme je le disais, et on le voit ici, on se braque sur les bibli JS,
comme on se braque sur Flash, etc. C'est un état d'esprit, c'est comme ça.
Moi, j'utilise ce qui me parait utile, rapide, tout en gardant la notion
de "progressive enhancement", qui est rarement respecté par les codeurs
rebel, rarement sensibilisé à la notion d'accessibilité.

Alors soyons d'accord : faisons tous uniquement de l'assembleur et on
sera les meilleurs. Mais faudra bosser pour chaque machine, mais
finalement, on se fout de l'idée d'un truc universel.

Au passage, vive la mauvaise fois, puisque jQuery fait 15kb. Mais bon,
SAM a décider que jQuery et consors étaient de la merde, donc c'est ainsi.

Pierre Goiffon

unread,
Dec 5, 2008, 6:17:50 AM12/5/08
to
SAM wrote:
>> Les images sont disposées n'importe où dans la page, il y en a
>> plusieurs, on ne peut pas savoir à l'avance où elle sont
>
> Je n'en vois pas trop l'utilité.

Un formulaire avec beaucoup de champs
A côté de certaines options on a cette icône permettant d'afficher une
aide contextuelle détaillant les usages...

> Je t'engage sincèrement à trouver qque mns pour essayer le truc présenté
> par Laurent.

Ca n'est pas applicable dans ce cas ! Suffit d'avoir d'autres choses à
gérer de ci de là dans la page (menu déroulant, onglets, ...), et le
gestionnaire d'événement va se charger dans des proportions
déraisonnables (en tout cas non maintenables).

Sergio

unread,
Dec 5, 2008, 7:30:26 AM12/5/08
to
Après mure réflexion, Pierre Goiffon a écrit :

Pentium 4 "Northwood" 0,13µ. Bus 200MHz et FSB 800Mz (d'après Cpu-Z).
Donc bien avant la série Core.

CF ("sapiens cum wikipedia") :
http://fr.wikipedia.org/wiki/Intel_Pentium_4

SAM

unread,
Dec 5, 2008, 9:03:17 AM12/5/08
to
Le 12/5/08 12:16 PM, Olivier Masson a écrit :

>
> Au passage, vive la mauvaise fois, puisque jQuery fait 15kb. Mais bon,
> SAM a décider que jQuery et consors étaient de la merde, donc c'est ainsi.

en parlant de mauvaise foi ... je viens de téléchrger la 1.2.6
et chez moi ça fait de 30 à 100ko

(à charger avant que de ne commencer à tenter quoi que ce soit)


Question subsidiaire à l'usage d'une bibli générique :

Vaut-il mieux se servir de la bibli sur le site de sa naissance ou bien
la faire charger depuis tous les sites qui s'en servent et qque fois en
différentes versions ?

Combien de fois retrouve t-on le même fichier dans le cache ?

J'espère seulement que la 1.2.6 est compatible avec la 0.0.1

--
sm

Pierre Goiffon

unread,
Dec 5, 2008, 10:08:11 AM12/5/08
to
SAM wrote:
>> Au passage, vive la mauvaise fois, puisque jQuery fait 15kb. Mais bon,
>> SAM a décider que jQuery et consors étaient de la merde, donc c'est
>> ainsi.

Olivier, rédiger un message sous le coup de la colère ne fait
certainement pas avancer la discussion.

> en parlant de mauvaise foi ... je viens de téléchrger la 1.2.6
> et chez moi ça fait de 30 à 100ko

La version minimale ET gzippée fait 15Ko en effet.
Ensuite sans le gzip mais en minimal c'est un peu plus de 50Ko
Et on peut ajouter aussi tout ce qui est UI... et éventuellement des
plugins !

15Ko pour les services que ça rend, c'est intéressant !

> Question subsidiaire à l'usage d'une bibli générique :
>
> Vaut-il mieux se servir de la bibli sur le site de sa naissance ou bien
> la faire charger depuis tous les sites qui s'en servent et qque fois en
> différentes versions ?

Chez Yahoo les différents modules de la librairie sont disponibles sur
le CDN de l'entreprise, et depuis peu aussi sur celui de Google [1].

Concernant les versions, je vais continuer de parler de la YUI que je
connais le plus... ce n'est pas toujours très chouette avec ça. J'ai
intégré la 2.3 dans le produit de ma société, et déjà à l'époque pendant
le développement le saut de 2.2 à 2.3 m'avait laissé quelques
surprises... Si aujourd'hui on devait passer en 2.6 ça demanderait
quelques efforts...
Cependant plus les versions montent et moins les widgets bougent (en 2.2
et 2.3 plusieurs des choses que l'on utilisait étaient encore en beta)

Pour JQuery à ma connaissance ces prb n'apparaissent pas sur la version
"standard". Par contre la partie UI et les plugins, j'ai bien peur que
ça soit problématique...


[1]
http://googleajaxsearchapi.blogspot.com/2008/11/welcome-yui-scriptaculous-gets-fresh.html

Pierre Goiffon

unread,
Dec 5, 2008, 10:10:15 AM12/5/08
to
Sergio wrote:
> Pentium 4 "Northwood" 0,13µ. Bus 200MHz et FSB 800Mz (d'après Cpu-Z).
> Donc bien avant la série Core.
>
> CF ("sapiens cum wikipedia") :
> http://fr.wikipedia.org/wiki/Intel_Pentium_4

Parcouru rapidement les articles de Wikipedia, ça permet de se remettre
un peu à jour :) Merci !

Laurent vilday

unread,
Dec 5, 2008, 7:58:56 PM12/5/08
to
Olivier Masson :
> Laurent vilday :
>> Olivier Masson :

>>> Avec jquery (et forcément le très puissant prototype), tout cela sur
>>> tous les navigateurs pas trop vieux (IE5 fonctionne la plupart du
>>> temps).
>>>
>>> Pour ne parler que des sélecteurs.
>>
>> Franchement, à part une gestion des events je n'arrive pas à
>> comprendre à quoi d'autre ça pourrait servir (les sélecteurs CSS),

Alors ? A part associés aux events, à quoi ça sert ?
Si ça ne sert qu'aux events, alors désolé de le redire, il existe des
méthodes plus efficaces qui ne nécessitent pas des tonnes de lignes de
javascript imbitables.

Parce que oui, avec jquery (et les autres) un simple sélecteur c'est du
code javascript avec des tonnes d'eval en cascade qui sont appelés pour
obtenir (en priant pour pas trop se tromper) le tableau des éléments
répondant au sélecteur indiqué.

>> Non mais sérieusement, à quoi ça sert concrètement les sélecteurs CSS
>> dans du code JS ?

La question restera donc sans réponse à lire la suite !

> Pas trop le temps de polémiquer,

Mouarf, évidemment !

> d'autant plus que ça ressemble furieusement au thème "mais à quoi sert un cms ?",

Humm, non, aucun rapport.

Ma question, est et reste : "A quoi servent les sélecteurs CSS dans du
code javascript ?"

> "mais à quoi sert le fait de rendre un site compatible sur IE6 alors
> que FF c'est tellement mieux ?", etc.

Humm, non, toujours aucun rapport avec ma question.

> Je ne doute pas de votre grande connaissance en JS. Un peu plus
> de votre expérience de créa de site internet.

Et allez on va encore me mettre sur le dos la condescendance et tout le
reste, mais rien à foutre. Tu sais quoi ... fuck !

> Disons que les sélecteurs CSS2.1 et CSS3 ne servent à rien, puique vous
> gérez tout avec vos 3 lignes de JS.

Mais qu'est-ce que tu racontes ? Non, faut arrêter de prendre des
drogues, ça t'atteins le cerveau là ! Relis calmement ce dont je parle,
tes excuses seront acceptées ! Sérieux quoi !

Ai-je prétendu que les sélecteurs CSS ne servaient à rien ?
Non !

Ai-je prétendu avoir la solution ultime ?
Non, je suis même ouvert à toute démonstration de mon erreur !

Alors oui, fuck you !

> Moi, je me sers beaucoup de sélecteurs.

J'en suis bien aise, je m'en sers aussi ça te fais une belle jambe non ?
Enfin pour les plus compatibles d'entre eux, oui quand il s'agit de les
utiliser dans mes feuilles de style, mais moi ma question n'a *rien* à
voir avec l'utilité avérée ou non des sélecteurs CSS dans du CSS.

Allez, je le répète, histoire d'être certain de pas être mal compris :
"A quoi servent les sélecteurs CSS *dans* du code *javascript* ?"

Pas sélecteur CSS dans CSS. Mais sélecteur CSS dans JS. Tu vois la
subtile différence ? Et prends note aussi, qu'il n'a jamais été question
des librairies JS ici, pas le moins du monde !

> Je pense, par manque de temps (mais également de crainte de parler dans
> le vide), les autres nombreux avantages de *certaines* bibli JS.

LOL, je n'en doute pas une seconde. Cependant on continue dans le HS, ou
a-t-il été question de l'utilité ou non des librairies JS ? Tu veux
réellement que je reformule plus basiquement ?

OK : Sélecteurs CSS dans JS à quoi ça servir ?

> Comme je le disais, et on le voit ici, on se braque sur les bibli JS,
> comme on se braque sur Flash, etc. C'est un état d'esprit, c'est comme ça.

Pfff, n'importe quoi.

T'as été mettre ton nez dans ces sacro saintes librairies ? Moi oui et
de mon point de vue, c'est tout pourri je préfère mon code de très loin.

T'as été perdre ton temps à 3 meetings avec le ninja qui a vomi JQuery ?
Moi oui et je le regrette amèrement, ceci dit je sais maintenant à quel
point cet individu ne sait pas de quoi il parle du tout.

> Moi, j'utilise ce qui me parait utile, rapide, tout en gardant la notion
> de "progressive enhancement", qui est rarement respecté par les codeurs
> rebel, rarement sensibilisé à la notion d'accessibilité.

Pareil, j'utilise exactement la même chose, sauf que je connais au
caractère près (enfin presque :) là ou ça chie dans ma librairie
personnelle que je comprends, que je peux maintenir et que je peux faire
évoluer à ma guise. Je doute que tu puisse en dire autant avec tes
JQuery, YUI et autre Prototype !

Tant qu'à la notion de "progressive enhancement", elle n'a *rien* à voir
avec l'utilisation ou non d'une librairie. Soit tu connais ton taf, soit
tu le connais pas, c'est pas une libriairie qui va aider.

> Alors soyons d'accord : faisons tous uniquement de l'assembleur et on
> sera les meilleurs. Mais faudra bosser pour chaque machine, mais
> finalement, on se fout de l'idée d'un truc universel.

Non mais n'importe quoi ! Tu comprends de quoi tu parles ou tu places
juste des mots aléatoirement les uns après les autres ?

> Au passage, vive la mauvaise fois, puisque jQuery fait 15kb.

Et encore une fois, rien à voir, quand a-t-il été question de poids dans
l'histoire ?

Current releases :
<http://docs.jquery.com/Downloading_jQuery#Current_Release>

JQuery uncompressed : 97,6 Ko (99 997 octets)
<http://jqueryjs.googlecode.com/files/jquery-1.2.5.js>

JQuery minified : 54,4 Ko (55 715 octets)
<http://jqueryjs.googlecode.com/files/jquery-1.2.5.min.js>

JQuery packed (HORREUR) : 30,2 Ko (30 967 octets)
<http://jqueryjs.googlecode.com/files/jquery-1.2.5.pack.js>

LOL elle fait toujours 15Ko toute mouillée ta librairie chérie, mais qui
donc est de mauvaise fois ici ? Non mais je vous jure !

Sérieux, va apprendre à lire, tu es l'exemple parfait d'individu qui me
fait me taire ici, on peut pas discuter avec toi.

Alors disons que tu as raison et que j'ai 100% tort, woohooo !

--
laurent

Laurent vilday

unread,
Dec 5, 2008, 8:30:15 PM12/5/08
to
Pierre Goiffon :
> SAM :

>>> Les images sont disposées n'importe où dans la page, il y en a
>>> plusieurs, on ne peut pas savoir à l'avance où elle sont

Salut Pierre, j'ai bien lu tout ce qui précède et je préfère synthétiser
ici plutôt que de répondre à chaque post. J'espère que tu m'en voudras
pas, n'hésites pas a demander plus d'explications.

>> Je n'en vois pas trop l'utilité.

:) Pierre t'es déjà donné l'exemple dont j'allais me servir pour montrer
une utilisation possible. C'est une technique que j'utilise pour changer
le contenu d'une barre de status (pas window.status, n'ayez pas peur,
c'est un DIV affiché en bas du navigateur) avec le title des éléments
survolés. Parce que je sais pas pour vous, mais je connais pas beaucoup
de gens (utilisateurs) qui ont conscience du title, ça reste pas affiché
assez longtemps dans la plupart de mes navigateurs, alors qu'une belle
barre dans leurs couleurs préférées toujours au même endroit, ça ils
comprennent.

> Un formulaire avec beaucoup de champs
> A côté de certaines options on a cette icône permettant d'afficher une
> aide contextuelle détaillant les usages...

Ce qui implique beaucoup de listeners attachés à beaucoup d'éléments du
document, au dela de 2 c'est déjà beaucoup trop.

>> Je t'engage sincèrement à trouver qque mns pour essayer le truc
>> présenté par Laurent.
>
> Ca n'est pas applicable dans ce cas !

C'est toujours applicable.

> Suffit d'avoir d'autres choses à
> gérer de ci de là dans la page (menu déroulant, onglets, ...), et le
> gestionnaire d'événement va se charger dans des proportions
> déraisonnables (en tout cas non maintenables).

Comme Stéphane, je t'encourage a explorer la délégation des events, j'ai
moi aussi plein d'autres choses à gérer de ci de là sur mon application,
et la technique fonctionne à merveille, bien mieux qu'à l'époque ou
j'appliquais individuellement chaque listener sur chaque élément.

Le parent significatif des images impliquées dans ton exemple semble
être un formulaire. C'est donc sur ce formulaire qu'il faudra placer le
listener, et si plusieurs formulaires existent alors il faudra en placer
un sur chacun d'entre eux.

quelque chose comme :

function getTarget(e)
{
// code récurrent déjà fourni maintes fois,
// à placer dans une librairie, parce que oui moi aussi
// j'utilise des librairies dédiées.
// Réécrire les mêmes routines en permanence est stupide
// Mais utiliser du code non maitrisé est suicidaire
}

function showContextualHelp(e)
{
var target = getTarget(e);
if ( target.nodeName == "IMG" && target.title != "" )
{
// je sais bien que c'est pas alert ici, mais tu devrais
// avoir pigé le concept maintenant
alert(target.title);
return false;
}
return true;
}

for ( var i = 0; i < document.forms.length; i++ )
{
document.forms[i].onmousemove = showContextualHelp;
}

A priori (encore) tu ne pourrais pas gérer les events en mode DOM0
(frm.onXXXX), puisque tu as d'autres éléments, qu'à cela ne tienne, la
délégation d'events fonctionne aussi parfaitement bien avec le standard
addEventListener et l'infâme attachEvent de IE.

La seule différence, c'est qu'au lieu des return true/false dans le
listener pour terminer ou pas l'event, il faudra passer par des
event.stopPropagation et consorts, mais le principe reste le même.

Je te propose de nous montrer une page de démo assez complexe (2 images
c'est pas suffisant) utilisant JQuery, je suis sur que Stéphane se fera
une joie de te triturer tout ça pour jouer un peu avec :)

--
laurent

SAM

unread,
Dec 6, 2008, 9:41:41 AM12/6/08
to
Le 12/6/08 2:30 AM, Laurent vilday a écrit :

>
> Je te propose de nous montrer une page de démo assez complexe (2 images
> c'est pas suffisant) utilisant JQuery, je suis sur que Stéphane se fera
> une joie de te triturer tout ça pour jouer un peu avec :)

Certainement pas sans ton concours !
(c'est toi qui a les ficčles)

--
sm


Olivier Masson

unread,
Dec 8, 2008, 8:03:03 AM12/8/08
to
Pierre Goiffon a écrit :

> SAM wrote:
>>> Au passage, vive la mauvaise fois, puisque jQuery fait 15kb. Mais
>>> bon, SAM a décider que jQuery et consors étaient de la merde, donc
>>> c'est ainsi.
>
> Olivier, rédiger un message sous le coup de la colère ne fait
> certainement pas avancer la discussion.
>

Oui, mais c'est tellement irritant ce petit monde des gens qui ont
forcément raison parce qu'ils ont des connaissances *techniques* ! Comme
je l'ai dit, on nous a servi le même plat il y a 10 ans avec JS.
On entend toujours les mêmes râleurs contre Flash, mais c'est bien grâce
à lui que l'on peut avoir une (absolue ?) compatibilité entre
navigateurs/plateforme. Que certains fassent des sites fullflash de 10Mo
ne vous plait pas ? Et alors ? On s'en fout.
Sur internet, il y a des cons, des faussaires, des mafieux, etc. : c'est
pourri pour autant ?
Si on devait écouter "ce petit monde", on devrait faire des sites d'une
trentaine de ko (pour ne pas froisser les accès RTC), surement utiliser
la palette web-safe, avoir son site compatible NN4, j'en passe.

> La version minimale ET gzippée fait 15Ko en effet.
> Ensuite sans le gzip mais en minimal c'est un peu plus de 50Ko
> Et on peut ajouter aussi tout ce qui est UI... et éventuellement des
> plugins !

La "perversion" de ce type de librairie est là et elle est très
prononcée chez jQuery (peut-être chez d'autres aussi, mais pas
prototype) : les plug-ins. Sur le site de jQuery, un grand nombre de
plugins inutiles, lourd, mal foutus, etc.
Dommage qu'il n'y ait pas un système de module comme sur Mootools pour
alléger jQuery. D'autant plus que je doute, comme se le demandais SAM,
qu'un JS puisse être mis en cache pour un site et utilisé par un autre.

SAM

unread,
Dec 8, 2008, 8:28:38 AM12/8/08
to
Le 12/8/08 2:03 PM, Olivier Masson a écrit :

> Pierre Goiffon a écrit :
>> SAM wrote:
>>>> Au passage, vive la mauvaise fois, puisque jQuery fait 15kb. Mais
>>>> bon, SAM a décider que jQuery et consors étaient de la merde, donc
>>>> c'est ainsi.

Si c'est juste pour attraper des trucs par leur class il me semble que
la méthode évoquée par Laurent n'est peut-être pas si idiote.
Voilà.
Bien sûr NN4 ne va rien y entraver.
Va t-il y comprendre avec jQuery ?

>> Olivier, rédiger un message sous le coup de la colère ne fait
>> certainement pas avancer la discussion.
>
> Oui, mais c'est tellement irritant ce petit monde des gens qui ont
> forcément raison parce qu'ils ont des connaissances *techniques* ! Comme
> je l'ai dit, on nous a servi le même plat il y a 10 ans avec JS.

et ce n'est pas forcément obsolète !

> Que certains fassent des sites fullflash de 10Mo ne vous plait pas ?

10Mo la page ?
Ha oui! ça fait beaucoup !

> Et alors ? On s'en fout.

"qui" s'en fout ?

> Si on devait écouter "ce petit monde", on devrait faire des sites d'une
> trentaine de ko (pour ne pas froisser les accès RTC), surement utiliser
> la palette web-safe, avoir son site compatible NN4, j'en passe.

Au moins qu'avec ni JS ni CSS ce soit exploitable.
(j'écarte les sites vitrines du propos)

> D'autant plus que je doute, comme se le demandais SAM,
> qu'un JS puisse être mis en cache pour un site et utilisé par un autre.

Ce serait pourtant ça de gagné.
Suffit que le src du script ne pointe que sur un serveur dédié à la
bibli, et que ce soit employé par tous les utilisateurs de la bibli.

Bon, en cas de surcharge du serveur délivrant la bibli, je ne sais
comment ça se passe (est-ce que celle en cache, si elle y est est, sera
utilisée ?)


--
sm

Michael DENIS

unread,
Dec 8, 2008, 9:09:55 AM12/8/08
to
Olivier Masson a écrit :

> Que certains fassent des sites fullflash de 10Mo
> ne vous plait pas ? Et alors ? On s'en fout.

Vous avez bien raison. "On" a une connexion 100Mbits/s parce que "on"
habite Paris. Alors 10Mo, franchement, "on" s'en fout. Et tout va bien
dans le meilleur des mondes...

--
Michaël DENIS

Pierre Goiffon

unread,
Dec 8, 2008, 10:22:21 AM12/8/08
to
Laurent vilday wrote:
> Salut Pierre, j'ai bien lu tout ce qui précède et je préfère synthétiser
> ici plutôt que de répondre à chaque post

C'est parfait, et merci de la réponse

> Comme Stéphane, je t'encourage a explorer la délégation des events, j'ai
> moi aussi plein d'autres choses à gérer de ci de là sur mon application,
> et la technique fonctionne à merveille, bien mieux qu'à l'époque ou
> j'appliquais individuellement chaque listener sur chaque élément.

Il faudrait que je me mette sur un exemple concret pour expérimenter,
parce que pour l'instant dans la théorie je suis assez apeuré de voir
des gestionnaires d'événement qui enflent (if ... else if ...) et qui
contiennent des choses qui devraient normalement être indépendantes.

Bon, en tout cas je note avec attention tes propos (et merci vraiment à
toi et SAM, c'est très intéressant !), je devrais sans aucun doute
m'attaquer à nouveau à du front-end d'ici 1 ou 2 mois, je verrai alors.

Pierre Goiffon

unread,
Dec 8, 2008, 10:45:32 AM12/8/08
to
Olivier Masson wrote:
>> Olivier, rédiger un message sous le coup de la colère ne fait
>> certainement pas avancer la discussion.
>
> Oui, mais c'est tellement irritant ce petit monde des gens qui ont
> forcément raison parce qu'ils ont des connaissances *techniques* !

:D
N'approuvez pas si c'est pour renvoyer un autre message énervé derrière :)

> On entend toujours les mêmes râleurs contre Flash, mais c'est bien grâce
> à lui que l'on peut avoir une (absolue ?) compatibilité entre
> navigateurs/plateforme.

Non non et non ! Et c'est bien le problème ! Ok pour la vidéo, pour les
RIA etc, Flash représente disons la "moins pire" des alternatives.

Voilà nous y sommes, c'est bien toute l'essence de la conception de site
Web : les compromis. Il n'y a jamais, et de mon expérience (Goiffon and
Co, depuis 1995) jamais eu de solution miracle, qui fonctionne comme
c'est écrit etc. Les standards sont incomplets, mal implémentés par les
navigateurs, etc etc (...)

Bref le tout n'est pas de savoir ce qui est "bien ou pas" mais d'adopter
ce qui convient le mieux pour ce que l'on souhaite faire. C'est
facile à dire...

> La "perversion" de ce type de librairie est là et elle est très
> prononcée chez jQuery (peut-être chez d'autres aussi, mais pas
> prototype) : les plug-ins. Sur le site de jQuery, un grand nombre de
> plugins inutiles, lourd, mal foutus, etc.

Je trouve qu'il y a quand même pas mal de choses dans JQuery UI, et de
ce que j'ai compris ce qui n'y est pas est relativement simple à coder
soit-même donc sans passer par des plugins.

La YUI est beaucoup plus exhaustive... mais ça se paie au prix lourd :
par rare d'avoir plus de 250Ko de JS pour une page (avec des scripts en
version minimale !)

Je trouve que JQuery s'en sort quand même plutôt pas mal du coup...

SAM

unread,
Dec 8, 2008, 11:10:09 AM12/8/08
to
Le 12/8/08 4:22 PM, Pierre Goiffon a écrit :

>
> Il faudrait que je me mette sur un exemple concret pour expérimenter,
> parce que pour l'instant dans la théorie je suis assez apeuré de voir
> des gestionnaires d'événement qui enflent (if ... else if ...) et qui
> contiennent des choses qui devraient normalement être indépendantes.

Oui, bon, ben, quelques conditions ;-)

Voici un exemple sévi préalablement à l'intervention ici de Laurent
<http://cjoint.com/?mir22JKBrY>
où l'écouteur s'intéresse à 72 tags s'ils sont div ou h3
pour un simple mouseover ('onmouseover' que l'on ne retrouvera donc pas
sur chaque div ni en dur ni via une boucle sur le DOM qui fatigue IE)

Prière de ne pas commenter le graphisme
ni le fonctionnement complètement idiot de l'exemple,
ce n'est pas le sujet.

--
sm

Pierre Goiffon

unread,
Dec 8, 2008, 12:17:26 PM12/8/08
to
SAM wrote:
>> Il faudrait que je me mette sur un exemple concret pour expérimenter,
>> parce que pour l'instant dans la théorie je suis assez apeuré de voir
>> des gestionnaires d'événement qui enflent (if ... else if ...) et qui
>> contiennent des choses qui devraient normalement être indépendantes.
>
> <http://cjoint.com/?mir22JKBrY>

Je ne comprend pas bien que l'on surveille les div ET les H3 ?
Et ce gestionnaire d'événement ne fait que 2 tests, ne gère qu'un
déclencheur et qu'un "comportement"... Ce n'est pas l'exemple que
j'imaginais (mais merci en tout cas Stéphane de l'avoir proposé)

En reprenant l'exemple que je donnais précédemment avec mes images
déclenchant des aides contextuelles, on pourrais envisager une page de
formulaire avec :
- des images avec aide contextuelle
- le contrôle de saisie en dynamique (par exemple vérification par
rapport à un pattern)
- un compteur du nb de caractère saisis sur certains champs textes
- un treeview
- un menu contextuel sur certains éléments
- ...
C'est un exemple qui est tout à fait cohérent avec ce que l'on trouve
dans les applications Web maintenant... et on aura aucun mal à ajouter
d'autres choses en plus !

On va pouvoir déléguer à différents niveaux (sur le form, sur body, sur
un input donné, ...). Mais il y a un certain nombre de choses communes
au formulaire, donc on va quand même pouvoir se retrouver avec un
gestionnaire d'événement complexe, donc potentiellement buggy, et quasi
impossible à maintenir non ?

Olivier Masson

unread,
Dec 9, 2008, 4:04:14 AM12/9/08
to
Michael DENIS a écrit :

Je me suis fort mal exprimé : on s'en fout... de ce site ! Je ne bloque
pas le Flash mais si j'attend plus de 3 secondes (en moyenne), je zappe.
Et, si j'ai ~15Mb en pleine campagne, j'utilise pas mal mon accès 3G qui
s'avère être souvent du edge et là, ça commence à ressembler à du RTC.

Olivier Masson

unread,
Dec 9, 2008, 4:12:12 AM12/9/08
to
SAM a écrit :

>> Si on devait écouter "ce petit monde", on devrait faire des sites
>> d'une trentaine de ko (pour ne pas froisser les accès RTC), surement
>> utiliser la palette web-safe, avoir son site compatible NN4, j'en passe.
>
> Au moins qu'avec ni JS ni CSS ce soit exploitable.
> (j'écarte les sites vitrines du propos)
>

Tout à fait d'accord pour JS. C'est un autre mauvais penchant des gros
utilisateurs de JS (et Flash bien sûr). Le progressive enhancement ou le
gracefull degradation sont des principes qui devraient systématiquement
être pris en compte.

Quant à CSS, là, c'est davantage de l'accessibilité et encore : les
aides techniques utilisent les CSS. Et les navigateurs textes ne sont
pas bien courant.
De toutes façons, un site sans css ne pourra qu'afficher toutes les
infos. Et si la logique du site disparait, c'est un problème de HTML
(sémantique, linéarisation), pas de CSS.

Olivier Masson

unread,
Dec 9, 2008, 4:25:18 AM12/9/08
to
Pierre Goiffon a écrit :

> Olivier Masson wrote:
>>> Olivier, rédiger un message sous le coup de la colère ne fait
>>> certainement pas avancer la discussion.
>>
>> Oui, mais c'est tellement irritant ce petit monde des gens qui ont
>> forcément raison parce qu'ils ont des connaissances *techniques* !
>
> :D
> N'approuvez pas si c'est pour renvoyer un autre message énervé derrière :)
>

Ah ben si :)
C'est exaspérant de voir de temps en temps un con (je me permets
puisqu'il m'a lourdement insulté) qui penser tout maitriser mieux que
les autres.
Je n'ai pas les compétences pour juger l'étendue de son savoir en JS,
mais déjà, quand on connais le niveau des dev de prototype, j'ai
vaguement l'impression qu'il est un peu à côté de la plaque.
Ensuite, il y a le contexte. Si je me renseigne un peu, je saurais
construire moi-même ma maison. Or, mis à part un peu d'électricité, de
maçonnerie et de jardinage, je laisse certaines tâches à d'autres et je
vais même jusqu'à acheter du matos souvent dit "de merde" (au grand dam
de certains super-pro-qui-savent-tout). Et ensuite, le cuivre de mes
câble, ce n'est pas moi qui le fond. Alors que, peut-être, le cuivre que
j'utilise n'est pas OFC !
Bref, faut arrêter de se croire maitre de monde et commencer à murir un peu.
Promis, je ne suis pas énervé :)


>> On entend toujours les mêmes râleurs contre Flash, mais c'est bien
>> grâce à lui que l'on peut avoir une (absolue ?) compatibilité entre
>> navigateurs/plateforme.
>
> Non non et non ! Et c'est bien le problème ! Ok pour la vidéo, pour les
> RIA etc, Flash représente disons la "moins pire" des alternatives.
>

Oui, comme par ailleurs, je me suis mal exprimé : "pour des contenus
bien particuliers". Mais aussi parce qu'un site flash est toujours le même.
Avant que HTML5 et CSS3 soient parfaitement fonctionnels sur tous les
navigateurs, on aura passé quelques version de Flash...

Pierre Goiffon

unread,
Dec 9, 2008, 6:13:25 AM12/9/08
to
Olivier Masson wrote:
> C'est exaspérant de voir de temps en temps un con (je me permets
> puisqu'il m'a lourdement insulté) qui penser tout maitriser mieux que
> les autres.

C'est drole comme sur les forums quels qu'ils soient on retombe toujours
dans les mêmes travers :)
On se fiche des compétences de tel ou tel intervenants, ce qui est
important c'est ce qu'il avance comme arguments ! Et ce n'est pas en
écrivant des messages énervés que l'on arrive à ce genre de discussions...
(et je me permet de dire cela d'autant plus que j'ai plusieurs fois
écris des messages sur le coup de la colère, attaqué un intervenant en
mettant en doute ses compétences plutôt que de lui demander d'argumenter
etc... et tout cela ici même, je suis sûr que l'on pourrait retrouver
des post de ma part sur ce forum qui contiennent tous ces défauts et
encore plus)

Je pense que vous faisiez référence aux messages de Laurent Vilday ? Il
me semble qu'il a clairement exprimé son point de vue sur l'inutilité
des sélecteurs CSS dans une librairie JS, j'ai trouvé cela intéressant,
c'était argumenté.

Laurent vilday

unread,
Dec 9, 2008, 12:41:21 PM12/9/08
to
Olivier Masson :
> Pierre Goiffon :
>> Olivier Masson :

>>>> Olivier, rédiger un message sous le coup de la colère ne fait
>>>> certainement pas avancer la discussion.
>>>
>>> Oui, mais c'est tellement irritant ce petit monde des gens qui ont
>>> forcément raison parce qu'ils ont des connaissances *techniques* !
>>
>> :D
>> N'approuvez pas si c'est pour renvoyer un autre message énervé
>> derrière :)
>
> C'est exaspérant de voir de temps en temps un con (je me permets

On est toujours le con de quelqu'un et en l'occurrence tu dois bien te
douter de ce que j'en pense.

> puisqu'il m'a lourdement insulté)

T'es sérieux ? Relis bien TON intervention avant la mienne, concrètement
qui insulte qui ?

Ton jugement sur mes valeurs et ta capacité à déterminer mes compétences
m'importent peu. Je garde mon opinion, ce n'est pas le sujet..

J'ai juste posé une question que je trouvais simple mais qui semble bien
trop complexe puisque tu t'obstines à ignorer ! Une question qui
n'impliquait pas les librairies JS directement, ni Flash, ni mes
compétences, ni le poids des pages, ni toutes les autres choses que tu
m'as balancé au visage.

Succinct résumé, parce que là faut vraiment que t'arrêtes de me faire
passer pour celui qui troll à outrance :

<49350fde$0$896$ba4a...@news.orange.fr>
SAM : les biblis JS sont codées avec les pieds.

<4935330a$0$2215$426a...@news.free.fr>
Toi : LOL, tu me fais bien marrer.
Les biblis JS permettent d'avoir accès aux sélecteurs CSS,
tiens je t'en fais une liste.

<49369a41$0$24527$426a...@news.free.fr>
Moi : Les sélecteurs CSS dans du JS, à quoi ça sert ?
Mis à part pour placer des listeners sur des éléments ?
ce qui est plutôt une erreur.

<4937e725$0$24539$426a...@news.free.fr>
Pierre : [demande légitime de détails]

<4937faad$0$7755$426a...@news.free.fr>
Moi : Démo simpliste eu égard à mes compétences
sur l'event delegation pour répondre à Pierre.

<49390d89$0$3390$426a...@news.free.fr>
Toi : Pas le temps de polémiquer, t'es qu'un con, t'es nul.
Plein de phrases que seul un Troll dirait.

Alors, qui insulte qui à longueur de message ? Qui lance la polémique
hors sujet ? Sérieusement ?

> qui penser tout maitriser mieux que les autres.

LOL, et encore une fois un jugement de valeur alors que tu ne me connais
pas et cela n'a toujours pas de rapport avec la question posée.

Question à laquelle j'aspire à une vrai réponse, parce que si ça se
trouve il existe une utilisation miracle qui pourrait m'aider sait on
jamais, ou tout du moins me faire apercevoir un aspect que je n'avais
pas envisagé. Alors tes jugements sur ma personne, s'il te plais, garde les.

> Je n'ai pas les compétences pour juger l'étendue de son savoir en JS,
> mais déjà, quand on connais le niveau des dev de prototype, j'ai

Hummm, toi tu connais le niveau des dev de prototype ? Et tu es capable
de le juger ? Et tu es arrivé à la conclusion que c'était une bonne
librairie ? D'accord, tout s'explique finalement !

> vaguement l'impression qu'il est un peu à côté de la plaque.

C'est possible, et je ne dis pas le contraire. Bien au contraire, je
suis très loin de tout connaitre et je n'ai *JAMAIS* prétendu le
contraire. J'affirme juste que tu es un troll qui ne sait pas lire.

> Ensuite, il y a le contexte. Si je me renseigne un peu, je saurais
> construire moi-même ma maison. Or, mis à part un peu d'électricité, de
> maçonnerie et de jardinage, je laisse certaines tâches à d'autres et je
> vais même jusqu'à acheter du matos souvent dit "de merde" (au grand dam
> de certains super-pro-qui-savent-tout). Et ensuite, le cuivre de mes
> câble, ce n'est pas moi qui le fond. Alors que, peut-être, le cuivre que
> j'utilise n'est pas OFC !

Humm, et quel est le rapport concret avec ma question originale ?

Moi : Les sélecteurs CSS dans du JS, à quoi ça sert ?
Toi : Moi aussi je peux créer une maison !
Moi : Gné ? Quoi ? Hein ?

> Bref, faut arrêter de se croire maitre de monde et commencer à murir un
> peu.

Mais franchement, qu'est-ce que tu racontes ? Ma question te gênes à ce
point ? Tu crois pas que "charité bien ordonnée commence par soi même" ?

> Promis, je ne suis pas énervé :)

Non, non, bien sûr. Tu sais qu'il arrive un moment dans les discussions
où les smileys n'arrivent plus à masquer tes propos, n'est-ce pas ?

>>> On entend toujours les mêmes râleurs contre Flash, mais c'est bien
>>> grâce à lui que l'on peut avoir une (absolue ?) compatibilité entre
>>> navigateurs/plateforme.
>>
>> Non non et non ! Et c'est bien le problème ! Ok pour la vidéo, pour
>> les RIA etc, Flash représente disons la "moins pire" des alternatives.
>>
>
> Oui, comme par ailleurs, je me suis mal exprimé : "pour des contenus
> bien particuliers". Mais aussi parce qu'un site flash est toujours le même.

LOL, n'importe quoi, tu connais vraiment flash et toute la technologie
qui gravite autour ? C'est pas parce que la majorité des utilisateurs de
flash ne savent pas le rendre dynamique que la technologie (flash) est
limitée à cette utilisation.

Non mais qu'est-ce qu'il faut pas lire.

> Avant que HTML5 et CSS3 soient parfaitement fonctionnels sur tous les
> navigateurs, on aura passé quelques version de Flash...

Jolie boule de cristal, un peu cassée d'après la mienne, mais jolie !

Une dernière fois et promis je m'arrête là :

Les sélecteurs CSS dans du code javascript, à quoi servent-ils ?

Si la seule réponse est de "placer des listeners", alors je pense qu'il
s'agit d'une mauvaise réponse puisqu'il existe une méthode - que j'ai
essayé de détailler - qui est plus efficace, plus rapide et moins
consommatrice de ressources. Cela s'appelle "event delegation", c'est
tout ce que je dit !

Mais bon je vais arrêter là je pense, comme tout Troll qui se respecte
la question technique posée ne t'intéresses pas.

--
laurent

Olivier Masson

unread,
Dec 10, 2008, 5:15:42 AM12/10/08
to
Pierre Goiffon a écrit :

> Je pense que vous faisiez référence aux messages de Laurent Vilday ? Il
> me semble qu'il a clairement exprimé son point de vue sur l'inutilité
> des sélecteurs CSS dans une librairie JS, j'ai trouvé cela intéressant,
> c'était argumenté.

Je doute que simplement dire que toutes ces libs sont de la merde soit
un argument très fort...
Je ne manquerai pas de demander l'avis d'un dev d'un de ces lib, pour
savoir si ce sont vraiment des incompétents.

Mais, quoi qu'il en soit, il n'y a eu aucune démonstration sur la
mauvaise qualité de ces lib. Dire à quelqu'un "mets des div, pas des
table : regarde, je fais la même chose avec des div qu'avec des tables"
est un très mauvais argumentaire. Lui expliquer en quoi les tables sont
une mauvaise solution et - c'est là le talent qui manque
considérablement - lui expliquer que les div ne sont pas toujours la
bonne solution non plus, ça c'est être pédagogue. Le reste, c'est du
blabla pour s'auto-satisfaire ou se défouler à coup de "fuck".
Vous parliez d'expérience des newsgroup ? Eh bien justement, j'ai appris
à me méfier de ceux qui débarquent à coup de "je maitrise toi, t'es un
con" (on a d'ailleurs un vieux de la vieille, M.....H, qui nous sort ses
théories depuis bien 10 ou 15 ans !)
Pour autant, Vilday et seulement le 3e que je ploncke (dont deux cette
année, c'est énorme) depuis mes débuts. J'ai pris en considération ce
qu'a pu dire ASM car il est posé, toujours didactique et humble. Mot qui
à disparu du vocabulaire de beaucoup de monde sur le net.

Laurent vilday

unread,
Dec 10, 2008, 6:15:48 AM12/10/08
to
Olivier Masson :
> Pierre Goiffon :

>
>> Je pense que vous faisiez référence aux messages de Laurent Vilday ?
>> Il me semble qu'il a clairement exprimé son point de vue sur
>> l'inutilité des sélecteurs CSS dans une librairie JS, j'ai trouvé cela
>> intéressant, c'était argumenté.
>
> Je doute que simplement dire que toutes ces libs sont de la merde soit
> un argument très fort...

Putain mais c'est pas vrai, mais qu'est-ce que tu m'énerves, c'est pas
moi qui ai dit ça !

Non mais franchement, que tu es bête, l'apprentissage de la lecture se
fait bien avant la 10eme année.

Sais-tu lire et es-tu capable de comprendre ? J'ai de plus en plus de
doutes, non pas sur tes compétences que je ne peux pas juger
contrairement à toi, mais de gros doutes sur ta capacité à faire
fonctionner ce qui te sers de cerveau pour une tâche aussi basique que
la lecture.

> Mais, quoi qu'il en soit, il n'y a eu aucune démonstration sur la
> mauvaise qualité de ces lib.

Putain mais c'est pas vrai, sors de ta grotte un peu de temps en temps.

Le fait que tu sois incapable de rechercher et de trouver de
l'information fiable ne rends pas pour autant invisibles ni invalides
les démonstrations (nombreuses) sur la mauvaise qualité des librairies
JS qui ont été faites un peu partout dans le passé.

> Dire à quelqu'un "mets des div, pas des
> table : regarde, je fais la même chose avec des div qu'avec des tables"
> est un très mauvais argumentaire.

Cool, ce n'est *pas* ce que j'ai fait ! J'ai même plutôt tendance à
penser que j'ai fait exactement le contraire.

J'ai proposé une démonstration de ce que j'en pensais et j'ai essayé
d'argumenter comme je pouvais. Ce n'est pas assez simple pour toi, tant
pis de toute façon tu es irrécupérable et inintéressant !

> Lui expliquer en quoi les tables sont
> une mauvaise solution et - c'est là le talent qui manque
> considérablement - lui expliquer que les div ne sont pas toujours la
> bonne solution non plus, ça c'est être pédagogue.

Gné ?

Je ne suis pas là ni pour être pédagogue, ni pour éduquer les trolls de
ton espèce ! Si il y avait une exigence de moyen et/ou de résultat sur
mes interventions ça se saurait tu ne crois pas ?

Mais au delà de ça, n'ai-je pas essayé d'expliquer comment fonctionne
l'event delegation ? N'ai-je pas essayé, avec mes maigres compétences
cela va s'en dire, d'expliquer en quoi l'event delegation me semblait
une solution plus avantageuse ?

Non ? Oui ?

Espace de troll va !

> Le reste, c'est du
> blabla pour s'auto-satisfaire ou se défouler à coup de "fuck".

Parce que quand un troll viens me chier dans les bottes a coup de "je
doute de votre expérience de créa de site internet" (et tout le reste
d'une telle mauvaise foi) oui ça me monte au cerveau et oui "fuck" est
une des premières choses qui sortent et oui je l'ai laissé. Je peux
t'assurer que tu n'aurais pas du tout aimé la première version de ma
réponse à ton INUTILE post d'origine !

Tu préfères que je te le fasse en français ?

Tu vas pas aimer, tu risquerais de comprendre. Quoique ce n'est pas si
sûr ayant eu la brillante démonstration de ton incapacité à correctement
connecter les quelques neurones dédiés à la lecture !

> Vous parliez d'expérience des newsgroup ? Eh bien justement, j'ai appris
> à me méfier de ceux qui débarquent à coup de "je maitrise toi, t'es un
> con"

Exactement ce que je n'ai *pas* fait, contrairement à toi qui a commencé
dans ce thread par "SAM tu me fais marrer t'y connais rien", pour finir
par m'insulter moi directement quand j'essayais simplement d'avoir une
réponse à une vrai question.

Qui c'est qui se la joue petite frappe ? Non mais arrêtes, 5 secondes
déjà ce serait pas mal.

> (on a d'ailleurs un vieux de la vieille, M.....H, qui nous sort ses
> théories depuis bien 10 ou 15 ans !)

Tu es d'une indécence abyssale. Ai au moins le courage de dire
clairement de qui tu parles quand tu balances un truc pareil, ou mieux,
tais toi, on a déjà eu plusieurs preuves de ton incapacité à lire,
n'essayes donc pas d'écrire, cela est hors de ta portée. Tu balances une
ineptie plus grosse que la précédente à chaque phrase.

> Pour autant, Vilday

JE T'EMMERDE GROS CON ! Je ne suis *pas* Vilday, je *SUIS* Laurent. Et
si tu avais été capable de faire fonctionner tes yeux tu aurais vu la
différence entre les majuscules et les minuscules tu aurais vu que je
*SUIS* Laurent vilday (v minuscule qui a son importance mais tu ne
mérites pas d'explication du pourquoi du comment).

Mais bon, à quoi ça sert de toute façon, tu as cru que j'avais dit un
truc qui te déplaisait (les biblis codés avec les pieds) quand je n'en
étais pas l'auteur. Très bien, oublies moi je n'aurais aucun mal pour en
faire autant, mais ne comptes pas sur moi pour me taire à chaque fois
que tu essayes de biaiser la discussion et de modifier ce qu'il s'est
passé !

Sinon, appelle moi juste "Laurent" ou "Laurent vilday" mais pas
"Vilday". Merci !

> et seulement le 3e que je ploncke (dont deux cette
> année, c'est énorme) depuis mes débuts

Super, tout le monde est content de le savoir.

Ceci dit, quand on viens chier dans les bottes de quelqu'un, on vient
pas pleurer ensuite qu'il a mordu, on vient pas faire sa petite
princesse choquée qui ne comprends pas ce qui lui arrive, et on vient
certainement pas prétendre essayer de comprendre l'évolution de la
discussion quand on ne lit plus (as-tu jamais lu mes messages)
l'intervenant.

Tu m'as plonké, parfait crétin de troll il était temps, par contre je te
prie d'arrêter de parler de moi de manière détournée lorsque tu fais une
réponse à quelqu'un. Ai au moins le courage d'assumer t'être trompé, ou
au moins ai le courage de me l'écrire directement.

J'attends toujours *tes* excuses !

>. J'ai pris en considération ce
> qu'a pu dire ASM car il est posé, toujours didactique et humble.

LOL. Stéphane je te retiens :D

Stéphane, tu dis au troll que ses biblis chéries sont codées avec les
pieds et en résultat c'est moi qui me fait plonker et pourrir pour avoir
posé une question, question qui me semblait intéressante, nan mais nawak :D

> Mot qui
> à disparu du vocabulaire de beaucoup de monde sur le net.

Avec des interventions telles que les tiennes, c'est évident que ça ne
risque pas de réapparaitre.

Allez, j'en ai fini avec toi, tu n'es qu'un Troll et c'est moi qui,
jours après jours, perds du temps a essayer de comprendre ton blabla et
à te raisonner.

--
laurent

SAM

unread,
Dec 10, 2008, 7:58:25 AM12/10/08
to
Le 12/10/08 12:15 PM, Laurent vilday a écrit :
> Olivier Masson :

>> . J'ai pris en considération ce qu'a pu dire ASM car il est posé,
>> toujours didactique et humble.

Moi, par définition je ne sais rien et tout ce que je peux patafioler
est à prendre avec des pincettes et à vérifier dans tous les sens.
(faudrait que je le précise en signature)

> LOL. Stéphane je te retiens :D

C'est sûr que là je me bidonne un max :-D !


Enfin ... si on veut ...
j'aime le franc-parler dans certaines limites,
et là tous les 2 vous faites fort
(à mon grand étonnement !! Je ne vous ai jamais vus troller comme des
gamins comme ça: juste le plaisir de s'envoyer des vannes)

> Stéphane, tu dis au troll que ses biblis chéries sont codées avec les
> pieds et en résultat c'est moi qui me fait plonker et pourrir pour avoir
> posé une question, question qui me semblait intéressante, nan mais nawak :D

Ha! c'que c'est que de la notoriété(*) :-)

Ceci étant, de mon côté, j'attends un peu + de développement à propos de
ces listeners.

J'ai essayé tant bien que mal de commencer à lire le jQuery version
longue, au bout de 3 pages écran il me semble qu'on en est toujours à
tenter de déterminer quel type d'élément a été appelé (id, name,
attribut, class ... etc).
Un peu comme si au jeu des cinq familles :
"je demande le père à chemise rouge"
et comprendre
"dans la main d'Antoine le père DUPONT"

C'est ça jQuery ?

Pas été plus loin voir si finalement ils trouvent le père DUPONT en
regardant les joueurs un à un, puis leurs mains et enfin leurs cartes
une à une ou s'ils ont une caméra qui surveille toutes les cartes en bloc.

>> Mot qui à disparu du vocabulaire de beaucoup de monde sur le net.
>
> Avec des interventions telles que les tiennes, c'est évident que ça ne
> risque pas de réapparaitre.

En toute cordialité :
Dis donc Laurent t'as pas fini ?
Puisque *toi* tu vois que vous êtes partis du mauvais pieds, je ne suis
très étonné que tu abandonnes ainsi ta sympathique amabilité légendaire.

(*) encore une fois y nous sort des c....ies,
faut l'excuser, c'est pas sa faute, le pôvre !
--
sm
moi je dis ça, mais je dirais rien, hein?

Laurent vilday

unread,
Dec 10, 2008, 9:59:54 AM12/10/08
to
SAM :

> Dis donc Laurent t'as pas fini ?

Ben j'aimerai bien, mais il m'énerve un peu plus à chaque nouveau
message. Entre les procès d'intention, sa façon de me cracher à la
gueule par interlocuteurs interposés, sa mauvaise foi, ses insultes et
toutes ses pitreries de troll, j'ai du mal à me contenir.

Au début j'ai essayé de ne pas perdre mon calme, mais là qu'est-ce qu'il
m'énerve. D'autant qu'il m'a enfin plonké, alors qu'il me lâche ce
serait si simple.

Tu as raison. /EOD

--
laurent

Olivier Masson

unread,
Dec 11, 2008, 5:44:01 AM12/11/08
to
SAM a écrit :

> C'est ça jQuery ?

D'une, jQuery est un framework.
De deux, jQuery, comme ils le disent eux-même, à une courbe
d'apprentissage très raide (on apprend vite quoi).

On ne peut voir que des inconvénients là-dedans... mais également le
contraire.
Si, effectivement, c'était codé avec des moufles, on serait en droit de
raler. Mais vu les temps de réactions de jQuery 1.2.6, si l'on utilise
convenablement cette bibli (à mon avis, si on souhaite une learning
curve exponentielle, alors il faut se contenter d'utiliser jQueryUI, cad
des plugins de qualité, pour éviter certaines bouses que l'on trouve par
ailleurs), c'est loin d'être le cas (et je ne vais pas me répéter sur la
qualité bien connu des dev, du moins pour prototype).
PHP est un peu un framework (déjà eu bcp de fil sur différent NG
là-dessus, donc je n'y reviens pas) à l'apprentissage aisé. Du coup,
gros succes. Et du coup, grosses critiques de toutes parts.
Dans 5 ans, on nous servira la même chose pour Python j'imagine.
Même combat pour la POO, pour Java... bref, comme tu le dis, du troll
pur jus.

Le but est de savoir si :
- c'est utile pour certains (et si possible le plus grand nombre)
- c'est bien foutu (pas de surconso CPU et RAM, exploitation simple)
- c'est pérenne (qu'on ait pas tous ces projets qui tombent à l'eau
d'ici 2 ans)

Que d'autres chient dessus, je m'en cogne.
Que d'autres disent "mais tu peux très bien te faire ton framework tout
seul", idem (ils n'ont qu'à se construire leur bagnole, leur maison et
traire leurs vaches et battre le tout pour faire leur beurre, car les
bagnoles, maisons, lait et beurre que l'on achète sont, tout le monde en
convient, moins bien.)

Ensuite, tout dépend de l'utilisation que l'on en fait (notamment en ce
qui concerne l'accessibilité.)

SAM

unread,
Dec 12, 2008, 5:45:47 AM12/12/08
to Olivier Masson
Le 12/11/08 11:44 AM, Olivier Masson a écrit :

> SAM a écrit :
>
>> C'est ça jQuery ?
>
> D'une, jQuery est un framework.
> De deux, jQuery, comme ils le disent eux-même, à une courbe
> d'apprentissage très raide (on apprend vite quoi).
>
> On ne peut voir que des inconvénients là-dedans... mais également le
> contraire.

Entre autres j'ai cru lire qu'à l'utiliser on désapprenait le JavaScript.
(ou qque chose de ce genre : ce n'était pas en français)

Je note que tu fais le pendant avec PHP,
c'est donc encore un outil à ne pas laisser entre toutes les mains ?

> Le but est de savoir si :
> - c'est utile pour certains (et si possible le plus grand nombre)
> - c'est bien foutu (pas de surconso CPU et RAM, exploitation simple)
> - c'est pérenne (qu'on ait pas tous ces projets qui tombent à l'eau
> d'ici 2 ans)

Heu, c'est un peu une question que j'avais posée.
(suivi arrière de version en version)


> Ensuite, tout dépend de l'utilisation que l'on en fait (notamment en ce
> qui concerne l'accessibilité.)

OK.

--
sm

SAM

unread,
Dec 12, 2008, 5:46:05 AM12/12/08
to
Le 12/11/08 11:44 AM, Olivier Masson a écrit :
> SAM a écrit :
>
>> C'est ça jQuery ?
>
> D'une, jQuery est un framework.
> De deux, jQuery, comme ils le disent eux-même, à une courbe
> d'apprentissage très raide (on apprend vite quoi).
>
> On ne peut voir que des inconvénients là-dedans... mais également le
> contraire.

Entre autres j'ai cru lire qu'à l'utiliser on désapprenait le JavaScript.


(ou qque chose de ce genre : ce n'était pas en français)

Je note que tu fais le pendant avec PHP,
c'est donc encore un outil à ne pas laisser entre toutes les mains ?

> Le but est de savoir si :


> - c'est utile pour certains (et si possible le plus grand nombre)
> - c'est bien foutu (pas de surconso CPU et RAM, exploitation simple)
> - c'est pérenne (qu'on ait pas tous ces projets qui tombent à l'eau
> d'ici 2 ans)

Heu, c'est un peu une question que j'avais posée.


(suivi arrière de version en version)

> Ensuite, tout dépend de l'utilisation que l'on en fait (notamment en ce
> qui concerne l'accessibilité.)

OK.

--
sm

Michael DENIS

unread,
Dec 12, 2008, 9:30:20 AM12/12/08
to
Olivier Masson a écrit :

> Et, si j'ai ~15Mb en pleine campagne

Il y en a qui ont de la chance... :-)

> j'utilise pas mal mon accès 3G qui s'avère être souvent du edge et
> là, ça commence à ressembler à du RTC.

C'est vrai qu'il commence à y avoir là une utilisation qui ramène les
besoins du web quelques années en arrière. Tant mieux ?

--
Michaël DENIS

Olivier Masson

unread,
Dec 15, 2008, 4:57:22 AM12/15/08
to
Michael DENIS a écrit :

> C'est vrai qu'il commence à y avoir là une utilisation qui ramène les
> besoins du web quelques années en arrière. Tant mieux ?
>

De toutes façons, on voit que le haut-débit demande également des
contenus assez légers car si l'on avait appris à patienter en RTC, ce
n'est pas le cas en haut-débit où le client final vaut tout instantanément.

Pour les clients mobiles, c'est encore trop marginal. Mais les media
queries de CSS3 pourront être fort utiles avec cette forte diversité de
media (écran de - de 3 pouces à 24 pouces, télés, imprimantes...)

Olivier Masson

unread,
Dec 15, 2008, 5:10:50 AM12/15/08
to
SAM a écrit :

>
> Entre autres j'ai cru lire qu'à l'utiliser on désapprenait le JavaScript.
> (ou qque chose de ce genre : ce n'était pas en français)

Peut-être. Et probablement parce qu'on en fait moins et qu'on fait
surtout du jQuery (quand on developpe un plugin, on utilise l'objet jQuery)
Mais quand j'ai appris Turbo Pascal au lycée, je n'ai pas désappris
l'assembleur... puisque je ne le connaissais pas :)

>
> Je note que tu fais le pendant avec PHP,
> c'est donc encore un outil à ne pas laisser entre toutes les mains ?
>

Quand je vois les bouses qui sont faites en Visual Basic - sans moi-même
en faire -, je me dis que même VB devrait être autorisé uniquement avec
permis.
Il est très facile, comme en JS sans fw, de faire un plugin qui sature
un navigateur en quelques dizaines de secondes. Et il est très courant
de voir des plugin qui font une soupe immonde de balises avec des
attributs obsolètes.

0 new messages