Ben oui, j'en suis là, et vous allez comprendre pourquoi ! Non, je ne suis pas fou, non, non, non, enfin ... je ne pense pas, et je vous laisse juger par vous même pourquoi j'en suis arrivé là !
Depuis quelques mois, nous développons une appli web, basée sur des produits libres : GNU/Linux, postgreSQL, sablotron, et php pour générer de belles pages, apache pour servir le tout, LaTeX pour créer de beaux pdf à la volée (merci texi2pdf), bref, un environnement de développement paisible. Comme on voulait bien faire les choses, on a tout fait pour n'obtenir que des pages valides xhtml 1.0 et css.
Voilà le tableau.
Et v'la t'y pas ma pauv' damme, que l'autre jours me passe par la tête c't'idée saugrenue de tester notre merveille-à-venir avec ce machin appelé IE !
Mouarf, j'ai jamais vu une telle daube (mais ça, c'est pas un scoop, retenez votre souffle, le meilleur reste à venir !).
Comme la mise en page est faite avec des div et non pas des tableaux, que pour avoir un interface propre et sympa, j'ai utilisé des éléments de formulaires <button ...> , ce déchet d'IE ne rend pas mes pages correctement, et se comporte comme un abruti.
Qu'à cela ne tienne, y'a les hacks ie7, je les installe, et les intègre à notre appli. Déjà, c'est moins moche. En regardant les sources du hack, je constate qu'il faut placer le source dans des commentaires !!!!!!!!
Alors ça, ça m'a achevé ! Pour que le hack soit indolore pour les navigateurs, on place le code en commentaire, et il n'y a que cette ordure d'IE qui l'exécute ! Mouarffffff ! J'avais jamais vu ça. L'interpréteur de script (j'appelle pas ça du javascript, ce serait une offence) est comme le reste, codé par des aliens !
Ensuite, j'essaye de comprendre pourquoi le tag button ne marche pas... Là encore, c'est pas un scoop, IE envoie le contenu du bouton en lieu et place de ce qui est placé dans l'attribut valeur. Y sont tous murgés jusqu'à la moelle chez microsoft quand ils codent ou bien ? Ou alors ils touchent à des produits qu'il ne vaudrait mieux pas voir sur le marché....
Quoi qu'il en soit, je règle le problème avec un hack à la con, et ça passe. Bon, étape suivante....
J'ai un formulaire dans lequel figurent dans l'ordre un ainsi qu'une demi-douzaine de buttons. Ben quand on change le select, IE simule le clic sur l'un de ces buttons au hasard.
Bon, ben là, j'arrête, c'est trop pour moi....
Allez, je retire même tout ce que j'ai pu dire ci-dessus au mépris de Microsoft et de ses codeurs. Après tout, nous leur devons bien ça....
Pourquoi me direz-vous ? Parce que maintenant, ben ça nous permet de faire de la pub pour firefox...
Voici une transcription d'une conversation téléphonique que je viens d'avoir avec l'un de nos "clients" :
-Allo ? Bonjour, votre appli ne fonctionne pas, que puis-je faire ?
- Ben... Vous utilisez quel navigateur ?
- Quel quoi ?
- Quand vous allez sur internet, vous lancez quoi ? Mozilla, firefox, internet explorer ?
- Le dernier, là, internet explorer.
- Ah ! Ben voilà, je m'en doutais... Vous savez, vous pouvez, en toute sécurité aller chercher firefox, il est gratuit, perene, fonctionnera mieux pour cette application vitale que nous vous livrons en ce moment même, et il est de plus recommandé par la hierarchie !
- Ah ? Donc, je peux le récupérer, l'installer, l'utiliser sans être dans l'illégalité ? Parfait ! Si j'ai un problème ...
-... Vous pouvez me contacter, je me ferais un plaisir de vous aider.
- Parfait ! Merci ! Bonne fin de journée.
Y'a pas à dire, je suis un mauvais commercial, mais microsoft est quand même une sacrée société de pub sur ce coup là !
Allez, je me fend d'un MERCI supplémentaire, je vous aime, bonne soirée, il fait beau, firefox va continuer à se répandre, je suis heureux !
A bientôt pour de nouvelles aventures !
C'était geo_trouvetout en direct de la foire du trône, à vous les studios !
# Même famille
Posté par Pinaraf . Évalué à 5.
C'est pour une future foire aux questions qu'il y aurait sur mon site (et forum pour un copain) .
J'ai voulu faire innovant au possible ! Système de recherche intégré en javascript, firefox n'a qu'à bien se tenir ;)
Et bien sûr, compatibilité XHTML et CSS2
Bon, je code sur kate, débuggue sur mozilla 1.8 beta et je teste sur konqueror pour éviter au maximum les geckismes...
Après un peu de développement, ça marche globalement bien. Je teste sur opera : nickel !
Un copain sous windows arrive sur jabber. Je lui file un lien, il me dit c'est pas mal. Je lui demande de tester sur IE...
Réponse d'IE sur ma page : il sèche
Mais bien hein, pas à moitié ! On jurerait du moi sur un exo de thermodynamique, c'est dire.
Screenshot inclus : http://pinaraf.robertlan.eu.org/demo/test_js.html(...)
(surtout, ne critiquez pas le look, ni les "commentaires", c'est du temporaire !)
[^] # Re: Même famille
Posté par DjinnS . Évalué à 5.
Je veux bien que chaque navigateurs possèdent de nouvelles balises, pour faire des trucs sympas, et encore, il y a deja beaucoup, et aussi beaucoup de technologie pour ce genre de chose, mais pourquoi ne pas faire simple et respecter les standards ? Est ce si compliqué ?
N'etant pas developpeur je vous demande alors ce qui empeche Microsoft de faire un navigateur propre respectant les standards. Moi ca ne me semble pas compliqué, ca parrait même de bon sens ! Pourquoi se casser la tête alors qu'il y a un standard ?!
Apres beaucoup de lute, j'ai personnellement décidé de laisser tomber la compatibilité. Si mes pages sont conformes xhtml et css je pars du principe qu'elles doivent etre correctement affichées par les navigateurs, ce qui est le cas avec Firefox et Konqueror. Tant pis pour IE. Désole mais j'aime pas opéra :p
[^] # Re: Même famille
Posté par Gyro Gearllose . Évalué à 3.
Surtout pas malheureux ! Qu'ils continuent dans cette voie, nous pondent un IE7 le plus immonde possible, avec pleins de backdoors, sans le support du png, sans navigation par onglets, bourré de failles de sécu comme jamais, etc. Qu'ils continuent à nous inventer des balises immondes que seul IE connait, et surtout, surtout, qu'ils continuent à éviter les standards (auxquels ils ont contribués, c'te bonne blague) comme la peste.
Au moins, ça nous fait des arguments pour placer nos navigateurs qui font tout l'inverse, avec en plus l'assurance d'avoir une solution logicielle perenne, l'accès aux sources éventuel, etc. A la limite, que ce soit konqueror, safari, mozilla, firefox ou autre, m'en fout tant que c'est pas IE !
Il ne manquerait plus que les suites offices (koffice, openOffice, tiens, d'ailleurs, on n'entend plus parler d'applixware, elle était pas mal à l'époque, etc) soient au moins aussi "puissantes" que la suite de Microsoft pour qu'on passe se définitivement des services de cette boîte.
Malheureusement, beaucoup comme moi ont encore des documents vitaux prisonniers de cet immondice, mais ce n'est plus trop grave, la relève arrive.
[^] # Re: Même famille
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 7.
Le plus "rigolo" dans cette histoire, c'est qu'ils ont aidé à élaboré ces standards dont on parle.
Pourquoi donc ils ont fait des trucs "proprio" et n'ont pas respecté les standards (pour les trucs qui ressemblent aux standards) ?
1) vérrouillage du marché. Je fais des trucs proprio, pas standard. Les développeurs vont les utiliser parce que pas mal sont pratiques (oui il y en a, faut pas se voiler la face). Résultat : migration impossible vers d'autres produits dans le futur, sans tout refaire l'appli.
2) pas de temps pour fignoler le respect des standards, ou méconnaissance des développeurs, erreurs d'implémentation, ou même de compréhension du standard. Ou encore, pas d'accord avec les standards, ils pensent avoir mieux à proposer, et plus fun pour le developpeur web
3) pas de budget à y consacrer, ni la volonté de faire évoluer un moteur vieillissant face à une concurrence quasi inexistante (jusqu'à il y a kk mois) (rappel : IE6 n'a pas évolué depuis plusieurs années, mais l'usage des standards, si)
4) microsoft ont écrasé la concurrence. Des standards pour un seul éditeur, ça ne sert donc à rien -> ils font ce qu'ils veulent (surtout quand la concurrence ne respecte pas non plus les standards, ce qui était le cas il y a quelques années)
5) on remonte encore plus avant, à l'époque de la guerre des navigateurs : pas de standards à l'époque. c'est à celui qui proposerait des balises et autres conneries propriétaires les plus innovantes. Ces trucs sont restés dans les versions suivantes, malgré la publication de standards.
on pourrait rallonger la liste, mais le principal est là :-)
[^] # Re: Même famille
Posté par chtitux (site web personnel) . Évalué à 1.
Sinon, IE a du code bien à lui pour javascript l'ajout de bookmark par exemple ) mais si il n'est pas fichu de supporter la base du langage ...
[^] # Re: Même famille
Posté par Pinaraf . Évalué à 3.
[^] # Re: Même famille
Posté par Nicolas (site web personnel) . Évalué à 1.
<script type="text/javascript" src="test_js.js" />
par
<script type="text/javascript" src="test_js.js"></script>
Et comme par magie ça va fonctionner.
Je n'ai pas réussi à trouver s'il le fait de fermer la balise script de la façon dont tu la fermes était valide ou non.
[^] # Re: Même famille
Posté par Tristram . Évalué à 5.
[^] # Re: Même famille
Posté par Matthieu Weber . Évalué à 2.
[^] # Re: Même famille
Posté par Sylvain Sauvage . Évalué à 2.
[^] # Re: Même famille
Posté par Pinaraf . Évalué à 1.
Un document XHTML c'est bien du XML non ?
En XML une balise vide ça se ferme avec un />, on duplique pas !
Ça voudrait donc dire que IE ne parse pas les documents XHTML avec un parseur XML normal ? Pas mal...
(en python, j'arrive à lire mon document en utilisant libxml2)
Putain c'est vraiment n'importe quoi là...
Merci d'avoir repéré ça !
[^] # Re: Même famille
Posté par Paul . Évalué à 3.
C'est le parser XML de krosoft qu'il faut mettre en cause.
Par exemple, place un bon ko de commentaires (valides bien sur) avant ta première balise < html > tu auras une surprise...
[^] # Re: Même famille
Posté par GCN (site web personnel) . Évalué à 5.
Ceci dit, à une époque, je me souviens que, même Mozilla chiait sur des trucs que j'insérais dans certaines pages genre : <div style="clear: both;" />.
J'ai compris un peu plus tard qu'il fallait écrire cette ligne comme ça : <div style="clear: both;"></div>.
Puis (encore un peu plus tard) je me suis rendu compte que ma première syntaxe est bonne à condition de forcer le MIME/Type sur application/xhtml+xml (mais MSIE ne le gère pas .... STOP ! REWIND POST ! PLAY !).
[^] # Re: Même famille
Posté par icyfemur . Évalué à 2.
[^] # Re: Même famille
Posté par scand1sk (site web personnel) . Évalué à 1.
Tu peux utiliser le /> pour les balises n'ayant pas de contenu en HTML 4 (br, hr, img, input, button...), mais pour les autres le <..></..>s'impose.
A titre personnel j'ai toujours réussi à faire des sites conformes XHTML/CSS compatibles Firefox et IE sans hack, mais en me passant de certaines fonctionnalités non supportées par IE, ce qui empêche pas de faire des choses relativement zoulies, même si ça serait 1000 fois plus pratiques avec ces put* de png transparents et autres position: fixed...
Finalement c'est ça le plus pénible avec IE, plus que le fait que le support du CSS soit parfois imprévisible, c'est que ses fonctionnalités restent encore au niveau de ce qui se faisait il y a 10 ans, ce qui tire largement le Web par le bas... Mais finalement, on peut retrouver le même problème au niveau d'à peu près tous les services informatiques largement implantés (un exemple parmi tant d'autre, la migration ipv6 qui ne se fera probablement pas avant encore longtemps, le PHP5 qui est à peu près proposé nulle part en hébergement, xorg qui n'est pas encore dans Debian, l'UTF-8 mal supporté par une bonne partie des applications - dont Thunderbird - etc etc)
[^] # Re: Même famille
Posté par Hardy Damien . Évalué à 3.
http://www.la-grange.net/w3c/xhtml1/#guidelines(...) §C.3
Dam
[^] # Re: Même famille
Posté par Ecran Plat (site web personnel) . Évalué à 3.
<?xml version='1.0' encoding='utf-8'?>
c'est pas nécessaire pour que cela valide en xhtml.
Cette déclaration fait basculer internet explorer 6 en mode quirk.
Sans cette balise il vas utiliser le modèl de boite du w3c.
# Bah pourtant c'est connu...
Posté par Uld (site web personnel) . Évalué à 7.
Ca s'appelle des commentaires conditionnels, ca existe aussi pour les autres navigateurs... Faut s'renseigner avant de pouffer comme un dindon...
# Pareil pour moi
Posté par 태 (site web personnel) . Évalué à 2.
J'ai aussi participé à la conception d'un site qui est tout bien, xhtml+css valide. Bien évidemment, il y a quelques trucs qui passent mal sous internet explorer, mais les mêmes trucs passent mal dans firefox.
Donc quand les gens me disent "c'est un peu moche votre site", je me dois de leur répondre d'installer un navigateur qui supporte mieux le css, par exemple safari/konqueror et opera le font parfaitement...
# étrange
Posté par Meister . Évalué à 3.
[^] # Re: étrange
Posté par Gyro Gearllose . Évalué à 1.
Ben en fait, je ne la vends pas, dans le sens où je travaille pour une administration relevant du ministère de l'éducation nationale. D'ailleurs c'est pour ça que j'avais mis des guillemets autour du mot "client", car je pensait plus au client web (navigateur) qu'à l'interface chaise-clavier.
Qui plus est, oui, la majorité est sous windows, pour toutes les applis de bureautique, mais les établissements scolaires ont (presque ?) tous au moins un Linux d'installé qui fait firewall, une distrib nommée AMON, développée en partie (si c'est pas intégralement) par l'éducation nationale elle-même et basée sur une mandrake.
Si des spécialistes passent par là, ils pourront infirmer ou confirmer mes dires.
Par ailleurs, même si certains utilisent encore IE et outlook, il est vivement recommandé d'utiliser en lieu et place de ces deux machins FireFox et ThunderBird.
Voilà, j'espère que ça éclaire ta lanterne, mais je reconnais que je n'étais pas très clair - mais c'était voulu, je l'avoue - dans mon post.
[^] # Re: étrange
Posté par Sylvain Sauvage . Évalué à 2.
[^] # Re: étrange
Posté par 태 (site web personnel) . Évalué à 2.
ÉN = École Normale (oui, je sais que ça n'existe plus, et alors).
# Même combat
Posté par bollzy . Évalué à 3.
Décidé de me servir de ce problème pour promotionner Mozilla Firefox auprès de mon ami/client (faut bien payer le loyer), je lui ai téléphoné pour lui expliquer le problème. J'ai laché l'affaire quand ce dernier ma expliquer ne pas comprendre ce que je lui racontais. Pour lui Internet est un programme, il n'arrive pas à comprendre le concepte de browser alors quand j'ai commencé les éloge à propos de Firefox, il a tout de suite perdu le fil...
J'ai du refaire tout le site, maintenant il doit contenir une bonne centaine d'erreur aussi bien au niveau du HTML que du CSS mais il foncitonne partout.
Le fait que 90% des gens utilisent un programme incompatible avec les standard me fait vraiment peur.
[^] # Re: Même combat
Posté par Sylvain (site web personnel) . Évalué à 1.
Il suffit de valider toutes les étapes de developpement sur les 2 avec bien sur validation a la clé.
Regarde le site http://linuxonfire.free.fr(...) sur IE et sur un Gecko.
La seule difference (hormis qu'il ne prend pas en compte la transparence et le fix de l'image) et les bord autour des boites.
Mais cela a une raisons dans mon logiciel de génération de css, dans les boite il faut specifier 0 et non un vide.
Sinon dans la feuille css cela donne:
Background-border: px px px px;
Ce qui donne des bords de 2 px sur IE et des bords de 0 Px sur un gecko.
Tandis qu'un :
Background-border: 0px 0px 0px 0px;
Affiche aucune bordure sur IE et un Gecko.
C'est le derniere astuce a intégrer a mon portail pour avoir un look quasi commun a IE et Gecko.
Remplacer la saisie vide de l'user par un 0.
La validation pourrait etre a un niveau superieur de HTML
mais la validation ne supporte pas que j'ai une feuille de style en .php et me refuse les autres validations superieur a html 4.0.
Il faudrait que je passe par un cache intermediaire qui genere un .css. pour passer en html 4.1 strict voir xhtml ( mais la IE n'est pas pret du tous ).
Mais un site valide W3C en html et tout a fait possible d'etre compatible de maniere transparente sur IE et Gecko.
Pour peu qu'on n'en cerne les limites de l'une comme de l'autre.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.