Journal Merci Microsoft

Posté par  .
Étiquettes :
0
16
mar.
2005
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  . Évalué à 5.

    J'ai le même coup, sauf que moi c'est pas pour une appli professionnelle...
    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  . Évalué à 5.

      C'est une vraie galère de pouvoir faire un site respectant à la fois les standards et s'affichant correctement (dans le sens, comme nous le voulons et nous l'avons fait) avec IE.

      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  . Évalué à 3.

        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 ?!

        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  (site web personnel, Mastodon) . Évalué à 7.

        > 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 ?!


        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  (site web personnel) . Évalué à 1.

      je ne vais ni critiquer le look, ni les commentaires mais quand on recherche un comment, après la recherche il n'y a pas de lien pour avoir tous les commentaires </add-feature>

      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  (site web personnel) . Évalué à 1.

      Remplace
      <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  . Évalué à 5.

        C'est valide. Normalement tu devrait fermer toutes tes balises. Cependant pour les balises qui ne ferment pas (comme input, br etc), on met un / à la fin de la balise. En fait ne pas la mettre est incorrect!
        • [^] # Re: Même famille

          Posté par  . Évalué à 2.

          Si je me souviens bien, HTML 4.0 dit que les balises comme <br> et <link> ne doivent pas être fermées. Par contre, dans XHTML 1.0, comme c'est du XML, il *faut* fermer toutes les balises. Et pour être tout à fait précis, en XML, <truc></truc> c'est équivalent à <truc/>.
          • [^] # Re: Même famille

            Posté par  . Évalué à 2.

            Si je me souviens bien, il était conseillé d'écrire <br /> (avec un espace avant le /) (idem pour les autres balises « uniques ») pour que les navigateurs ne comprenant pas véritablement le XHTML puisse quand même comprendre la balise (en se rabattant sur du HTML 4 « souple sur les erreurs »).
      • [^] # Re: Même famille

        Posté par  . Évalué à 1.

        J'hallucine...
        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  . Évalué à 3.

          Bah saloperie d'IE :)

          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  (site web personnel) . Évalué à 5.

          Pour que ça marche nickel, il faudrait que le type MIME envoyé avant de servir la page soit : application/xhtm+xml... Hein ? Quoi ? MSIE ne gère pas ça ???? Dommage...

          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  (site web personnel) . Évalué à 1.

          En même temps, la toute dernière version d'IE en est encore au HTML 4 et CSS 1, ça vient plutôt de l'obsolescence du navigateur que de sa mauvaise qualité...

          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  . Évalué à 3.

        c'est contraire au recomendations des rêgles de compatibilité (Appendix C de XHTML 1.0)

        http://www.la-grange.net/w3c/xhtml1/#guidelines(...) §C.3


        Dam
    • [^] # Re: Même famille

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

      Enlève le:
      <?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  (site web personnel) . Évalué à 7.

    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

    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.

    C'est vrai que c'est pas drole ces navigateurs qui ne supportent pas le css comme il faut.
    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  . Évalué à 3.

    Tu vends l'application à tes client (qui ont l'air d'être sous Win) et avant la release tu ne testes pas ton soft sous IE (utilisé par 90% des utilisateurs de cette planète..) ?
    • [^] # Re: étrange

      Posté par  . Évalué à 1.

      Hummm....
      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  . Évalué à 2.

        Si dans « établissements scolaires », tu inclus les écoles primaires, alors j'infirme la présence du serveur linux installé par l'ÉN.
        • [^] # Re: étrange

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

          Mauvais sigle, changer sigle.

          ÉN = École Normale (oui, je sais que ça n'existe plus, et alors).
  • # Même combat

    Posté par  . Évalué à 3.

    J'ai conçu un site pour un ami restaurateur; après avec designé son site en respectant le W3C de A à Z, je me suis rendu compte que le site ne donnait absolument rine avec Internet Explorer.

    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  (site web personnel) . Évalué à 1.

      Avec un peu d'astuce on peut faire facilement un site W3C compatible mozilla et IE.
      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.