13-07-2017, 11:19 AM
Citation : La solution qui consiste à vérifier le navigateur est bancale et plantera un jour ou l'autre.C'est surtout que, j'insiste vraiment sur cette raison, ce n'est pas le navigateur qui a tort. C'est vraiment:
Citation :il est préférable de revoir tes CSS.C'est toujours soit le CSS qui a été mal fichu (car mal compris?), soit le navigateur utilisé est une version en retard (car le bogue navigateur a été corrigé). En d'autres mots: le navigateur est bon, ton CSS est mauvais.
Les rares cas où cette assertion est fausse (cas où "le navigateur est mauvais, le CSS est bon") sont les cas où la feature CSS n'a pas encore été implémentée dans le navigateur. Mais là, à part pour les propriété très (trop) exotques, je ne l'ai jamais rencontré en pratique. Même le Grid Display est disponible maintenant...
Note que pour l'article de incodewetrust, si je suis d'accord avec le "lâchez l'idée de checker l'agent côté serveur" (qui revient à checker quel client appel un serveur, ce qui est une p***ain d'aberration en soi dans une archi client/server), je ne suis pas d'accord avec l'autre alternative qu'ils laissent en fin d'article (créer des composants dédiés à servir un truc spécifique pour tel client, si je résume ce que j'ai compris). C'est, à terme, ingérable, inmaintenable, et non fonctionnel (quand le bogue navigateur est corrigé, on garde les composants? on les vire? on les modifie pour ne plus les activer pour ces nouvelles versions?).
La solution est de toujours coder par rapport aux specs web, qui sont comme les interface de l'OO: tous les sites qui essaient de prendre en compte tous les navigateurs, c'est irréaliste (NxP combinaisons). Tous les sites qui travaillent avec la même spec (interface) et tous les navigateurs qui font de même, c'est gérable (N+P combinaisons).