Another NoBoy Life part… (le blog de __MaX__)
Retour au blog <<

Archives

Dev

:: DEV .:. Parallel downloads et inline script

Jeudi 28 octobre 2010 à 21:46

Terminant une petite optimisation pour la vékat j’avais le blog qui me démangeait afin de partager un peu tout ce que je tente de mettre en place pour faire de cette nouvelle mouture de factor une expérience agréable pour nos utilisateurs.

Bref… ces derniers temps j’ai remarqué que peu de sites utilisent cette technique, et c’est de toute façon compréhensible quand on voit comment ils sont codés à l’arrache.

Quand un navigateur se connecte à un site, il a la possibilité d’effectuer des téléchargements en parallèle (soit simultanément pour ceux qui ne suivent pas), hors il s’avère que les scripts js inclus dans le header d’une page html bloquent tout autre téléchargement. L’expliquer techniquement est toujours difficile pour moi, depuis plus d’un an je cherche un article clair et précis à ce sujet, en vain. Il semblerait que ce soit dut aux spécifications HTTP1.1. Ce qui est sûr c’est que charger vos scripts dans l’entête d’une page donne lieu à une suite de requêtes du genre

Image hosted by uppix.net

[clic clic pour lire les légendes]

A l’appel des scripts, tout autre téléchargement est interrompu jusqu’à obtention de ces fichiers. Dans ce cas de figure tout se produit en 2 secondes, quasi transparent pour l’utilisateur (c’est un test en local). Mais quand on voit aujourd’hui la masse énorme de javascripts chargés par le moindre site, la première requête pour l’utilisateur peut sembler extrêmement longue (surtout à l’heure des connexions haut débit où l’utilisateur n’a plus aucune patience), et à plus forte raison si le serveur est un peu chargé et que les requêtes sur les scripts sont un plus longue que la normale.

La solution ? Charger les scripts juste avant la fin de body. On obtient donc ceci

Image hosted by uppix.net

Tous les téléchargements d’images et autres médias chargés par la page sont appelés dès le début et visiblement chargés en parallèle ; puis sont enfin chargés les scripts.

Cette technique n’accélère pas réellement le temps de chargement de le page. Par contre, l’intégralité de la page est chargée, consultable par l’utilisateur dans le cas où les scripts sont en fin de structure html. Il n’a plus la sensation qu’il attends pour que la page s’affiche, mais que le chargement de la structure et de la partie rédactionnelle est chargée instantanément. Seules les images et animation exécutées en javascript se chargent ensuite.

Ceci est bien sympathique, néanmoins c’est là qu’intervient le problème de l’inline script. L’inline script (ou script en ligne) est en fait tout appel javascript effectué dans le code directement (chose qui est super pas cool quand on écoute les élitistes branlette). Les fameux onclick, onblur avec des jolis javascript:mafonction() dedans. Ce type d’appel nécessite que les scripts contenant ces fonctions soient déjà chargés… par exemple dans le head. C’est un petit peu a l’opposé de l’optimisation que l’on compte faire juste au dessus.

Il faut donc avant de vouloir optimiser les téléchargements parallèles, s’assurer que notre code est compatible à ce genre de changement. Aujourd’hui, jQuery ou Mootools répondent à ces besoins en implémentant des méthodes permettant de binder des événements sur votre structure après le chargement complet de la page ou de la structure (onload / onDomReady). Système réellement agréable quand on a commencé à comprendre le fonctionnement.

Offrant la possibilité d’éradiquer la moindre ligne de script inline et optimisant également le code, ceci permet aussi au développeur de savoir que tous les appels javascript sont effectués uniquement dans les fichiers JS plutôt que d’aller courir à droite à gauche dans ses divers fichiers php, html ou template en s’auto-insultant…  Où ai-je bien pu foutre cette fonction à laquelle je dois rajouter un paramètre. Je ne remercierai jamais assez watt0 de m’avoir fait découvrir cette merveille.

Google a bien compris ce problème, mettant à jour Analytics il y a quelques temps pour une version asynchrone n’impactant aucunement l’utilisateur visitant le site… il reste toujours les régies publicitaires armées de codeurs roumains qui persistent à utiliser du code inline qui ralentit le moindre site profitant de leurs services. (qui est a vrai dire un des gros symptôme de Factornews aujourd’hui).

Conclusion : tout ceci nécessite une rigueur importante lors du développement, mais il est aujourd’hui primordial d’optimiser l’expérience du visiteur… faire du web ergonomique, bourré d’ajax et de petites animations implique des pages plus lourdes, s’il est possible pour vous de limiter les temps d’attente en laissant l’utilisateur profiter de votre contenu sera toujours bénéfique pour vos visites. Il ne faut pas perdre de vue qu’un utilisateur quittera votre site entre 7 à 10 secondes s’il n’a pas perçu une information l’intéressant dans ce laps de temps, si en plus ces 10 secondes sont allouées à charger un javascript…

:: DEV .:. Sites accessibles, un trou sans fond.

Jeudi 28 janvier 2010 à 14:37

En écho à un article plus ancien, je pensais récemment à l’incroyable fumisterie qu’est la validation WCAG ou l’accessibilité sur le web. Quelque soit le niveau choisit pour un site (a, aa ou aaa) le premier point qui me choque est que le client faisant cette demande est rarement prêt à payer le prix pour ce genre de fonctionnalité lorsqu’elle est devisée.

Bien sûr la parade simple est de l’intégrer au découpage… si bien que le coût de la validation devient transparent, mais bien sûr n’est pas couvert complétement. On ne pourrait pas se permettre de doubler le prix d’une intégration sans que cela paraisse étrange ou supérieur à ce que la concurrence propose.

L’autre constat est qu’en fin de compte, 80% des sites accessibles ne le sont pas vraiment : la première règle de l’accessibilité est d’être valide W3C sur le découpage… hors, de nombreux sites dits valides ne le sont déjà pas sur le code html comme celui ci, celui là ou encore ce dernier. Pourtant les clients ne cessent de se palucher sur les validateurs en nous remontant des erreurs html engendrées par le contenu qu’ils ont saisit eux même dans l’éditeur dont je parlais précédemment.

Côté technique, valider un site de mairie pour une accessibilité parfaite est juste un casse tête chinois. A l’heure où 99% des sites web sont inutilisables sans javascript. L’accessibilité nous impose de pouvoir naviguer sur un site de la même manière qu’un non-handicapé… tous scripts et autres joyeusetés technologiques désactivées ET en conservant un rendu quasi identique. Il va sans dire que c’est quasiment impossible. Dans le même temps, le client a demandé un maquettage du site avec des jolis sliders qui bougent dans tous les sens, des diaporamas… un grand panel de librairies uniquement fonctionnelles avec du javascript en somme. Si en plus on choisit la validation triple A, il faut faire passer la charte graphique par un validateur colorimétrique afin de couvrir les divers types de daltonismes.

Tout ceci semble toujours lointain malheureusement tant que l’on a pas vraiment été en relation avec des handicapés, c’est le problème des organismes publics généralement : on ne jure que par des normes établies par des organismes divers ou l’on court après son 5ème arobase… mais connaître la réelle implication d’une demande sur le produit final ou sa réelle utilité c’est autre chose.

J’ai rencontré il y a quelque temps deux personnes handicapées, et j’ai donc pu me rendre compte des réels besoins de ces gens. Et c’est là que l’on tombe de haut. Sur ces deux personnes, une a un handicap moteur qui ne lui permet pas de se servir de ses mains normalement et l’autre a un handicap moteur tout autre : elle est paralysée des jambes. Dans les deux cas, la validation WCAG telle qu’elle existe est quasiment inutile.

Pour la première, le point important de la validation provient des touches de raccourcis, sauf qu’avec des mains difficilement utilisables les raccourcis ALT+NUM sont une véritable torture… mais les scripts restent pourtant actifs. D’après ce que j’ai entendu dire, il existe des périphériques d’entrée dédiés a ce genre de handicap, mais très peu peuvent se les payer.

Quant à la seconde, ses jambes ne lui imposent pas de devoir désactiver le javascript : validation WCAG = useless.

Résumé des choses : la validation WCAG est une plaie pour les développeurs et le gain d’argent sur ce genre de fonctionnalité est ridicule sauf si l’on en fait son activité principale. Le second point touche les rédacteurs du site qui doivent être à même de pouvoir préserver une validation correcte du site, ce genre de personne est tellement rare du côté client qu’un site livré valide ne le sera bientôt plus. Pour finir, les normes officielles et les navigateurs actuels sont inadaptés à un handicap ne permettant pas de naviguer correctement.

La seule solution que j’ai envisagé mais qui implique un temps de développement supérieur serait de faire un miroir d’un site spécialement conçu pour les handicapés. Occultant tous les scripts js inutiles et offrant des couleurs neutres.

Mais combien de clients veulent payer le prix pour ce genre de chose ? Aucun… offrir un réel soutient pour les handicaps dans notre société, ça n’existe pas… malheureusement.

:: DEV .:. Flexibilité et qualité de mise en page ne font pas bon ménage

Vendredi 18 décembre 2009 à 20:17

Le web, quand on s’attaque à une clientèle large, demande des outils facile à prendre en main pour une utilisation quotidienne.

Les outils existants, CKEditor, TinyMCE proposent des solutions vraiment facile a mettre en place et à intégrer dans un CMS, mais elles ne font pas toujours des merveilles.

Effectivement, ces éditeurs WYSIWYG offrent peut être un aperçu quasi identique à ce que l’on va obtenir dans le site. Mais ils ne corrigent pas les erreurs d’ouverture et de fermetures de balises que provoquent les modifications de mise en forme répétées par l’utilisateur dans cet éditeur. Les dernières version s’approchent de la perfection, mais aucun d’entre eux ne proposent actuellement une correction du code html parfaite à 100%.

La flexibilité que l’on obtient donc avec ces éditeurs peut nuire au rendu final de la page sans que l’utilisateur qui ne connait pas une seule balise html soit a même de comprendre ou d’évaluer l’origine du problème.

Là où je bosse nous avons comme credo d’offrir au client une flexibilité maximale. Une fois une page d’accueil maquettée, il doit etre possible pour l’utilisateur a l’aide d’un éditeur de modifier intégralement la page sans avoir à passer par nous.

Depuis peu, une partie de l’équipe constate le revers de la médaille de cette pratique : les pages finales, rédigées par la secrétaire de l’adjoint-en-second-de-l’adjoint-du-sous-directeur-du-maire qui ne jure que par Comic-sans-MS en fuscia gras dans une charte dominée par le Tahoma vert non-gras rendent le site final incroyablement moche. On fait bien sûr l’impasse sur les marges, les écarts entre les images flottées dans un paragraphe de texte et autres joyeusetés par la même occasion.

Si bien que lorsque l’on présente ou revient sur des sites faisant partie de nos références, on tombe de haut : les sites ne ressemblent en rien aux maquettes livrées et font office de portfolio de débutants si j’exagère un peu.

De mon coté, depuis que je code des outils de mise à jour, j’ai toujours eut en tête des formulaires bien stricts et fixes, avec des éditeurs WYSIWYG légers mais qui ne sont qu’un complément des champs principaux d’une fiche. Si bien que l’utilisateur ne peut pas trop sortir des bornes que l’on a définit. Au final le site est toujours très carré, les marges respectées, les polices et couleurs restreintes à la charte.

Aujourd’hui l’équipe veut continuer dans cette idéologie de fléxibilité, mais que faire ? Les client sont généralement trop profanes pour vraiment appréhender la mise en page différemment de leur word habituel, il n’est même pas question d’apprendre l’html.

A l’heure actuelle je compense énormément les erreurs de mise en page par des scripts javascript qui alignent les blocs, les taillent à la bonne dimension en se basant sur le plus grand, corrige les marges et les conteneurs plus grand que leur parent. Une tonne de scripts qui alourdissent profondément le chargement d’une page… une technique que je n’apprécie pas spécialement.

Même récemment, un client se vantant d’avoir une exigence extrême en terme de mise en page a commencé par mettre un gif des années 80 pour l’adresse de contact accompagné d’un lien bleu IE5 avec une taille de police 6 fois plus importante que la charte.

Au final, je crois bien qu’il faut simplement se faire à l’idée que pour des clients “moyens”, les mises en page seront saccagées quoi que l’on fasse si l’on ne change pas pour des formulaires dirigistes. Seul les gros comptes client où une équipe rédactionnelle travaille 8h par jour sur le contenu peuvent gérer ce genre d’outils. C’est navrant, parcequ’au final, cela nuit quand même a l’image de la boite, quand les clients potentiels viennent faire un tour sur nos références…

:: DEV .:. Compatibilité HTML ou IE cette merde… Episode #1

Jeudi 8 octobre 2009 à 19:10

Introduction

Bien que je sois toujours aussi occupé, cela faisait un moment que j’avais envie de continuer mes bafouilles sur le développement web. Et depuis un plus long moment, il me tenait à coeur de partager les astuces que j’utilise depuis plusieurs années pour réaliser des intégrations de sites compatibles tous navigateurs. Enfin… tous, IE6 et supérieur, Firefox et Safari.

On sait tous que Microsoft a un poil dans la main pour ce qui est de faire de Trident un moteur de rendu aussi excellent que Gecko, Presto, ou en fait, n’importe quel autre moteur de rendu autre que celui de l’ex-firme à Bilou. Le poil dans la main s’est étendu à l’arrivée de IE8 au regret de tous les développeurs, un article est même paru sur le MSDN en septembre dernier afin de légitimer le choix de ne pas avoir inclus la gestion de “border-radius”, en expliquant que sur le web il y a de toute façon des tonnes de solutions pour y parvenir sans. Bref, nous voilà encore à attendre IE9 pour la suite des aventures.

Lire le reste de cet article »

:: DEV .:. Validation W3C, découpage et compatibilité : le paradoxe du web.

Lundi 6 juillet 2009 à 17:49

Le développement en web, c’est une histoire d’amour… histoire conclue entre toi, moi, vous, développeurs et intégrateurs du web et un navigateur web. Le problème, c’est que cette histoire n’est pas très “européenne”, et que si l’on veut bien faire les choses et contenter notre partenaire, on devient très vite polygame.

Sur ces douces métaphores représentant le combat acharné que l’on vit tous les jours afin de rendre compatible une application web sur tous types de navigateur, vient se greffer l’intégrisme du web : le W3C, les normes HTML et XHTML. Beaucoup d’entre nous lisent des articles sur les techniques de découpage, font de la veille et observent les techniques des concurrents… tentant de se tenir a jour, de s’adapter tant bien que mal.

Pour en venir aux faits, suite à une nouvelle fonctionnalité que j’ai intégré sur un site de vente en ligne récemment, je repensais au calme à tous ces intégristes qui ne jurent que par les nouvelles techniques de découpage. Le div, les floats, les positionnements absolus qui ont remplacé les tables. Ces gens là bien que je respecte à la lettre ces normes pour obtenir le moins d’erreurs possibles, ne doivent vraiment pas intégrer plus de deux heures par ans.

Depuis le temps que je bosse dans le domaine, c’est un fait, plus de 50% du temps passé sur l’intégration d’une maquette web est lié à la compatibilité inter-navigateurs. Et malgré tous mes efforts, développer intégralement avec les nouvelles techniques et être compatible pour IE 6 ainsi que tous les navigateurs dernières génération (de IE7 à Firefox 3) relève de l’impossible. Surtout qu’il est aujourd’hui hors de question de se séparer d’IE6 qui est encore une norme en entreprise, et représentait encore 22% de part de marché en Juin 2008. Un simple exemple : Le position en absolu de div dans une colonne flottante.

Il y a une forte probabilité que sur IE6, le rendu soit éronné et que le div en question ne se positionne pas correctement. De surcroit, ce problème étant lié au fameux hasLayout, il se peut qu’aucun trigger ne puisse corriger le soucis (inline-block, zoom, rien n’y fait). Je passe sur le fait que si on ajoute à ceci un contenu en overflow pour obtenir un ascenseur vertical ou horizontal toujours sur ce div, les résultats sont encore plus étonnants.

Au final, pour respecter les temps de développement et éviter de déborder de trop sur le planning, on se rabat très souvent sur le bon vieux layout composé de tables.

La question ultime est donc la suivante : doit-on sacrifier 20% de part de marché en ne validant les sites qu’à partir de IE7 ? Est-ce que les intégristes du web rédigent des normes et standards qui peuvent être réellement appliqués dans un workflow d’entreprise où la vitesse et la productivité sont primordiales ?

Ma réponse, après y avoir réfléchit à plusieurs reprises : les standards, je les respecte dans la mesure du possible. Mes découpages sont toujours validés XHTML Transitionnel, mais j’essaie de réduire les erreurs potentielles en utilisant des techniques que l’on pourrait qualifier d’ancéstrales aujourd’hui. Surtout parceque je dois respecter des délais, mais aussi parceque les nerfs sont mis à rude épreuve si on tente d’appliquer des normes modernes aux navigateurs d’antan.

Le jour où les développeurs de navigateurs sauront se donner la main pour créer des moteurs de rendus qui seront tous d’accord sur la manière d’fficher un div flottant ou positionné en absolu ; déjà nous aurons fait un grand pas… et peut être qu’à ce moment là, je pourrais enfin ranger mes tables.

:: LOLZ .:. Xen Project Model Stealing

Dimanche 5 juillet 2009 à 20:43

Plantons le décor.

Depuis un moment maintenant nous bossons, ou tout du moins, essayons de bosser sur Xen Project, avec les soucis de moteur et de copyright avec la Fox, Sega et Rebellion, ce n’est pas chose facile, mais ça on en parlera lors d’un autre épisode.

Avec toutes les aventures de Requiem, le fait que certains d’entre nous intégre le jeu vidéo on a été contacté par plusieurs personnes pour bosser sur Xen, bref… on a rencontré un certain MrE qui nous a sortit un modèle de dingue pour le mod. Sur ce, Wolfreim et BeatKitano en se baladant sur le net voient un site d’un artiste français affichant le taf de notre allemand favori tout en se gratifiant de l’avoir réalisé.

Ni une ni deux, on se retrouve sur IRC… situation de crise, branle bas de combat : la requiem team bosse désormais pour Rebellion, et Tim Jones vient de nous contacter furax en nous demandant ce qu’était cette histoire. Après avoir murement mitonné notre scénario, on contacte le monsieur pour qu’il se rende sur IRC.

Alors bien sur, le plus rigolo la dedans, c’est que nous ne sommes en aucun cas liés à Rebellion, à Sega ou au projet AVP3, mais il fallait que l’on tire cette affaire au clair, voler du travail comme ça, ce n’est pas la chose qui nous plait le plus, surtout que nous passons des heures sur ce projet.

Au final, c’est probablement un p’ti djeunz qui capte pas grand chose à l’industrie du jeu, ni même à la notion de copyright, il se dégonflera assez rapidement et on apprendra bien assez vite que très peu de tafs sont de lui. D’ailleurs, teams de modding, passez faire un tour sur son site, peut être que vos travaux sont affichés à son nom.

Au final, je ne comprends pas la démarche de ce genre de gars. Ils savent pertinemment qu’ils se feront chopper un jour ou l’autre, et que au final, dans l’industrie on reconnait vite un véritable talent. Si il est vraiment sortit d’une école de jeux vidéo, il a vite intérêt à redescendre sur terre, à bosser et à éviter de faire ce genre de choses… parce que mine de rien, qui dit que ça n’aurait pas pu être vrai que la RMT bosse sur AvP (allez oui… bon on peut toujours rêver).

Pour conclure, la bafouille d’excuse qui clarifie (plus ou moins) l’histoire.

Nous en attendant on s’est rudement bien marrés, et si ça vous intéresse, voici une partie de nos petit JDR improvisé (la p’tite info, Beat est dsudulsdlque… euh pardon, dislexique donc ne vous affolez pas c’est normal !) :

(20:36:23) (+Yeixy) salut
(20:36:37) (@Cain) l’o
(20:36:54) (+Yeixy) wolfreim est il là?
(20:38:19) (@__MaX__) salut Yeixy
(20:38:29) (+Yeixy) ah salut :)
(20:38:30) (@__MaX__) Wolfreim_08 est dans les parages mais il doit manger
(20:38:36) (+Yeixy) ok çà marche
(20:38:57) (+Yeixy) donc oué tu es au courant de tout ce que je lui est dis?
(20:38:59) (@__MaX__) Alors m’sieur, tu nous mets dans une très mauvaise posture
(20:39:10) (@__MaX__) Ouais je suis au courant
(20:39:14) (+Yeixy) ok
(20:39:18) (@__MaX__) on est une équipe donc l’info va vite
(20:39:22) (+Yeixy) ^^
(20:39:25) (+Yeixy) je me doute
(20:39:51) (@__MaX__) On est assez emmerdés figure toi
(20:39:56) (+Yeixy) donc oui quelle est cette mauvaise mauvaise posture explique?
(20:40:05) (@__MaX__) tout ce qui va se dire là ne doit pas sortir de ce chan ok ?
(20:40:11) (+Yeixy) ok
(20:40:15) (+Yeixy) pas de prob
(20:40:44) (@__MaX__) Tu vois Xen, c’est un projet qu’on a lancé en tant que moddeurs
(20:40:57) (@__MaX__) Sauf que, ça ne l’est pas resté très longtemps
(20:41:03) (@__MaX__) (un mod)
(20:41:06) (+Yeixy) ok
(20:41:28) (+Yeixy) c’est allez plus loing vous avez présenté le projet?
(20:41:34) (@__MaX__) Rebellion nous a contacté il y a quelques mois, et une partie des artistes présents ici bossent sur un projet en rapport avec alien
(20:41:59) (+Yeixy) ok
(20:42:48) (@__MaX__) Jvais pas te faire un dessin, tu vois très probablement de quoi je parle
(20:42:54) (@__MaX__) de quel titre tout du moins
(20:42:58) (@__MaX__) Bref
(20:43:04) (+Yeixy) ^^
(20:43:06) (@__MaX__) sur cette info que nous a remonté wolfreim
(20:43:21) (@__MaX__) On a eut des coups de fils assez violents de la part de Rebellion et MrE
(20:43:36) (+Yeixy) ok
(20:43:48) (@__MaX__) Rebellion qui a du mal a avaler la pilule, et MrE qui ne comprend pas cette histoire
(20:43:55) (+Yeixy) lol
(20:43:58) (@__MaX__) donc nous on est au stade suivant
(20:44:31) (@__MaX__) Rebellion m’a dit que si je ne clarifiait pas l’histoire, ils allaient contacter Midway pour avoir plus d’infos, voir même ton ancienne école
(20:44:46) (+Yeixy) ok
(20:44:58) (@__MaX__) voila où on en est quoi
(20:44:58) (+Yeixy) tu veux savoir quoi en fait
(20:45:02) (+Yeixy) lol
(20:45:09) (+Yeixy) le modele est le siens
(20:45:18) (+Yeixy) à quoi bon s’éternisé là dessus
(20:45:47) (@__MaX__) ouch
(20:45:51) (@__MaX__) c’est allé vite
(20:46:01) (@__MaX__) Purée tu sais que tu nous a foutu dans la merde là
(20:46:11) (+Yeixy) pq?
(20:46:22) (@__MaX__) bah !
(20:46:30) (+Yeixy) explique moi en quoi je t’ai foutu ds la merde
(20:46:55) (@__MaX__) pourquoi tu dis que ce modèle est le tient ?
(20:46:57) (+Yeixy) les gens n’assume pas, si je suis obligé de dire que je n’ai rien fait pr que vous bossier
(20:47:00) (@__MaX__) nous on a des comptes a rendre
(20:47:08) (+Yeixy) ya pas de prob
(20:47:24) (+Yeixy) comme je l’ai dis déjà à wolfreim
(20:47:35) (+Yeixy) ce modele ne m’interesse pas plus que çà
(20:47:36) (@__MaX__) Non mais Yeixy
(20:47:41) (@__MaX__) tu comprends pas là
(20:47:45) (@__MaX__) on est plus à l’école là
(20:47:46) (+Yeixy) je ne veux en aucun cas mettre les gens ds la merde
(20:47:51) (@__MaX__) moi je suis pas là pour voler le boulot des gens
(20:47:58) (@__MaX__) SI ce modèle est le tient, il te revient
(20:48:04) (@__MaX__) c’est ta propriété et ton travail
(20:48:34) (@__MaX__) Je veux clarifier cette situation
(20:48:41) (@Akimine) (et si c’est le tient on te défendra, ça va de soit)
(20:48:41) (+Yeixy) écoute la première chose
(20:48:45) (@__MaX__) Qu’est ce que tu peux nous fournir pour prouver que son travail est le tient ?
(20:48:54) (@__MaX__) exactement Akimine
(20:49:00) (+Yeixy) est que certe j’ai touché le model
(20:49:11) (+Yeixy) néanmoins ce model ne m’appartiens pas
(20:49:23) (+Yeixy) comme si je l’aurais fais de a à z
(20:49:30) (+Yeixy) tu vois ce que je veux dire
(20:49:31) (+Yeixy) ?
(20:49:36) (+Yeixy) exemple
(20:49:44) (+Yeixy) je te donne un perso à faire
(20:49:49) (+Yeixy) tu debute la mod
(20:49:49) (+Yeixy) ok
(20:49:59) (+Yeixy) et toi tu te tapes
(20:50:03) (+Yeixy) tout le reste
(20:50:08) (+Yeixy) ba le modèle est à toi
(20:50:13) (+Yeixy) tu comprends?
(20:50:24) (@__MaX__) Je vois, mais ça ne m’éclaire pas beaucoup
(20:50:39)      —› nick: (EatKitano) is now known as (_BTK_)
(20:50:44) (@_BTK_) ah.
(20:50:45) (+Yeixy) vous vous faites bcp trop de soucis pour pas grand chose
(20:50:45) (@__MaX__) Qu’est ce que tu as comme éléments “physiques” qui peuvent nous prouver que tu as travaillé sur ce projet ?
(20:50:51) (+Yeixy) aucun max
(20:50:55) (+Yeixy) j’en est aucun
(20:50:55) (@__MaX__) Beaucoup de soucis
(20:51:00) (@_BTK_) bon mais moi j’ai uen grosse question
(20:51:07) (@_BTK_) commetn se fait-il que les iamges psotés sur ton folio
(20:51:18) (@_BTK_) son exactements elles postées au public ?
(20:51:19) (@__MaX__) Yeixy, on bosse avec Rebellion sur AVP3 bordel, heureusement qu’on s’en pose des questions
(20:51:24) (@__MaX__) surtout eux, ils nous payent
(20:51:31) (+Yeixy) je sais bien
(20:51:36) (@_BTK_) et ça psoe de gros soucis comme le dit __MaX__
(20:51:42) (+Yeixy) je ne veux pas d’histoire non plus
(20:51:45) (@_BTK_) puisque si tu revendique ce modele comme le tien
(20:51:50) (@_BTK_) va y avoir prb de droits d’auteurs
(20:51:57) (+Yeixy) ok
(20:51:59) (@__MaX__) Bah a l’heure actuelle il y a un problème
(20:52:07) (+Yeixy) je retire le modele du site
(20:52:15) (@__MaX__) en gros, ils nous payent pour qu’on pique le boulot des autres, spa le top :x
(20:52:30) (+Yeixy) et je m’exuse auprès de tout le monde
(20:52:31) (@_BTK_) non mais c’est surtout que le modele d’après Xy
(20:52:31) (@__MaX__) Tu as rencontré comment MrE ?
(20:52:37) (@_BTK_) c’est que le modele ne nous appartiens plus
(20:52:37) (+Yeixy) je suis un gros fake
(20:52:39) (+Yeixy) voilà
(20:52:40) (@_BTK_) et que ce qui va se passer
(20:52:44) (@_BTK_) c’est que rebellion
(20:52:47) (@_BTK_) (et sega)
(20:52:52) (@_BTK_) vont venir avec les avocats a ta porte
(20:52:56) (@_BTK_) enfin façon de parler
(20:53:00) (@_BTK_) mais ça va pas en rester là quoi
(20:53:02) (@__MaX__) Yeixy ! c’est pas ce qu’on veut te forcer à dire, on veut la vérité
(20:53:03) (@__MaX__) tout simplement
(20:53:05) (+Yeixy) lol
(20:53:24) (+Yeixy) vous voulez vraiment la stricte vérité
(20:53:32) (@__MaX__) Si c’est toi, soit, on savatera MrE et on tentera d’assumer auprès de nos employeurs
(20:53:38) (+Yeixy) je vais vous la dire
(20:53:45) (@__MaX__) oui c’est ce qui nous importe a l’heure actuelle
(20:54:03) (+Yeixy) ce modele je l’ai recup
(20:54:18) (+Yeixy) je ne connais en aucun cas mre
(20:54:18) (@_BTK_) t’as récup le modele.
(20:54:26) (@_BTK_) ou t’as récup les renders/ viewport shots ?
(20:54:29) (+Yeixy) le model de mon site
(20:54:35) (+Yeixy) est basé sur du php
(20:54:45) (+Yeixy) qui met mon no
(20:54:46) (+Yeixy) nom
(20:54:50) (+Yeixy) sur les images
(20:54:54) (+Yeixy) comme je l’ai dis
(20:55:00) (+Yeixy) ce site n’est pas finis
(20:55:08) (@_BTK_) bon ok
(20:55:10) (+Yeixy) j’aurais très bien plus prendre des artworks
(20:55:15) (@_BTK_) alors on va jouer franc jeu
(20:55:16) (@__MaX__) donc tu nous confirme que le taf n’est pas de toi
(20:55:19) (@_BTK_) je contacte ton école
(20:55:22) (@__MaX__) que tu n’as jamais touché le modèle
(20:55:24) (@_BTK_) et je les met au courrant de la situation
(20:55:26) (@_BTK_) je vais te dire
(20:55:38) (+Yeixy) de n’importe quel jeu
(20:55:39) (@_BTK_) on sait trsè bien ce qui se passe
(20:55:44) (@_BTK_) tu viens de sortir
(20:55:44) (+Yeixy) tu vois ce que je veux dire
(20:55:45) (@_BTK_) de l’école
(20:55:49) (@_BTK_) t’as rien a montrer
(20:55:55) (@_BTK_) et tu pompe du modele a droite a gauche
(20:56:02) (@_BTK_) mon pote
(20:56:08) (@__MaX__) bah on voit bien ce que tu veux dire
(20:56:10) (@_BTK_) j’espère que t’es bon en relation publique
(20:56:11) (@__MaX__) mais c’est du vol
(20:56:16) (@_BTK_) t’es grilél chez sega
(20:56:20) (+Yeixy) non je n’ai pompé de modele
(20:56:26) (+Yeixy) arrété avec ces conneries
(20:56:28) (+Yeixy) putain
(20:56:35) (+Yeixy) sérieux les gars
(20:56:43) (@__MaX__) T’as volé des images en les faisant passer pour tiennes en gros c’est ça ?
(20:56:51) (+Yeixy) max je n’ai jamais
(20:56:59) (@__MaX__) t’as pas volé le modèle forcément il n’est pas rendu public pour le moment
(20:57:12) (+Yeixy) utilisé cette image dans mon book
(20:57:20) (+Yeixy) et quelques soit d’autres
(20:57:27) (+Yeixy) je ne peux te mentir
(20:57:31) (+Yeixy) sur mon site
(20:57:33) (@_BTK_) non mais cherche pas
(20:57:35) (+Yeixy) il ya bien l’image
(20:57:35) (@_BTK_) atttends
(20:57:37) (@__MaX__) Tu as utilisé des images ok
(20:57:38) (+Yeixy) et mon nom
(20:57:38) (@_BTK_) je suis pas un débutant
(20:57:43) (@_BTK_) j’ai fais mes galons dans l’industrie
(20:57:44) (@_BTK_) et ton site
(20:57:47) (@__MaX__) mais tu n’as pas travaillé sur ces projets
(20:57:51) (@_BTK_) c’est un patchwork de tafs de différentes personnes
(20:57:52) (@__MaX__) c’est ça que tu veux dire ?
(20:57:55) (+Yeixy) d’ailleur ce site est un template
(20:57:58) (@_BTK_) aps besoin d’être un pro pour s’en rendre compte
(20:58:09) (+Yeixy) non les autres tafs sont bien de moi
(20:58:16) (+Yeixy) et je les assumes
(20:58:25) (@_BTK_) tu veux que je fasse mes petites recherches ?
(20:58:36) (@_BTK_) non parce que tu peux demander ici
(20:58:40) (@_BTK_) je suis très bon pour trouver les copieurs
(20:58:45) (@_BTK_) et les voleurs
(20:58:56) (+Yeixy) je te crois sur parole
(20:58:58) (@_BTK_) y’en a a toi
(20:58:59) (@_BTK_) aps de prb
(20:59:02) (@_BTK_) le mini general domwar
(20:59:03) (@_BTK_) c’est sur
(20:59:06) (@_BTK_) mais y’en a d’autre
(20:59:09) (@_BTK_) ej suis sur que c’est pas de toi
(20:59:19) (@__MaX__) Non mais qu’il y ait du taf de toi ok
(20:59:19) (+Yeixy) quelle autre ne sont pas de moi?
(20:59:25) (@__MaX__) c’est une chose
(20:59:26) (@_BTK_) je ne sais pas
(20:59:28) (@_BTK_) je vais cehrcher
(20:59:33) (@_BTK_) de totue façon l’info va circuler
(20:59:42) (@__MaX__) que ce modèle soit le tient, il nous a pas fallu 25 secondes pour en déduire que c’était faux
(20:59:43) (@_BTK_) mais là en l’occurence ce qui me plait vraiemnt pas
(20:59:51) (@_BTK_) c’est qeu tu as utilisé du material copyrighté
(20:59:58) (@_BTK_) que tu as trainé raul dans la boue
(21:00:00) (+Yeixy) copyrigthé
(21:00:06) (@_BTK_) (c’est pas la premiere fois qu’i lfait ça tu as dis)
(21:00:09) (@_BTK_) ça va pas en rester là je crois
(21:00:12) (+Yeixy) il ne l’ai pas
(21:00:21) (+Yeixy) disponible sur pmods
(21:00:23) (@_BTK_) si il l’est
(21:00:24) (@_BTK_) oui
(21:00:26) (@_BTK_) l’image
(21:00:30) (+Yeixy) donc il est public
(21:00:35) (@__MaX__) HAHAHAHAHAHAHA
(21:00:36) (@_BTK_) sauf qu’on a concédé el droit de reproduction a pmods
(21:00:38) (@_BTK_) selon leur charte
(21:00:39) (@_BTK_) amsi aps a toi
(21:00:42) (@_BTK_) tu n’en a pas le droit
(21:00:47) (+Yeixy) je ne savais pas
(21:00:54) (+Yeixy) j’en suis fort désolé
(21:00:59) (@_BTK_) pas autant que moi
(21:00:59) (@__MaX__) Une image est protégée par les droits d’auteurs même publiée sur un site public
(21:01:02) (@_BTK_) on va faire simple
(21:01:08) (@_BTK_) tu t’excuses publiquement sur 3dvf
(21:01:12) (@_BTK_) et on passe l’éponge
(21:01:12) (@__MaX__) a moins de mentionner qu’elle est libre de droit
(21:01:15) (+Yeixy) sincerement je ne savais pas
(21:01:17) (@_BTK_) ou alors je fais remonter ça plus haut
(21:01:27) (@_BTK_) et ça va poser de gros prbs a ta vie profesionnelle
(21:01:28) (+Yeixy) je vais m’excuser
(21:01:34) (+Yeixy) pas de soucis
(21:01:35) (@__MaX__) Merci Yeixy
(21:01:40) (+Yeixy) et retiré l’image
(21:01:52) (@__MaX__) et en plus t’as de la chance _BTK_ est dans un bon jour
(21:01:57) (@_BTK_) oui
(21:02:03) (@_BTK_) en général ej fais pas dans le détail
(21:02:05) (@__MaX__) normalement il aurait déjà contacté le service juridique à ce stade

(21:02:07) (@_BTK_) ça m’ai déjà arrivé
(21:02:15) (@_BTK_) et ça s’est fini avec des dédommagements
[...]

:: DEV .:. mailto et base64

Mardi 3 mars 2009 à 13:48

Le mailto, quelle magnifique invention du net. Malheureusement, c’est un “exploit” utilisé par les bots de spam pour recolter des adresse email. Du coup, j’ai cherché plusieurs solutions pour parer à ce problème. J’ai trouvé quelques JS sur le net, mais le fait est qu’il fallait découper le mail en plusieurs parties pour éviter que ces fameux bots retrouvent l’adresse dans le corps.

Hors en php, mon but est d’afficher l’email directement… du coup j’ai pensé à une conversion en base64, ça pourra servir probablement a quelques un d’entre vous.

Tout d’abord j’ai récupéré un joli js sur le net qui encode et decode le Base64.

&lt;!--

// This code was written by Tyler Akins and has been placed in the
// public domain.  It would be nice if you left this header intact.
// Base64 code from Tyler Akins -- http://rumkin.com

var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

function encode64(input) {
var output = "";
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;

do {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);

enc1 = chr1 &gt;&gt; 2;
enc2 = ((chr1 &amp; 3) &lt;&lt; 4) | (chr2 &gt;&gt; 4);
enc3 = ((chr2 &amp; 15) &lt;&lt; 2) | (chr3 &gt;&gt; 6);
enc4 = chr3 &amp; 63;

if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}

output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) +
keyStr.charAt(enc3) + keyStr.charAt(enc4);
} while (i &lt; input.length);

return output;
}

function decode64(input) {
var output = "";
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;

// remove all characters that are not A-Z, a-z, 0-9, +, /, or =
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

do {
enc1 = keyStr.indexOf(input.charAt(i++));
enc2 = keyStr.indexOf(input.charAt(i++));
enc3 = keyStr.indexOf(input.charAt(i++));
enc4 = keyStr.indexOf(input.charAt(i++));

chr1 = (enc1 &lt;&lt; 2) | (enc2 &gt;&gt; 4);
chr2 = ((enc2 &amp; 15) &lt;&lt; 4) | (enc3 &gt;&gt; 2);
chr3 = ((enc3 &amp; 3) &lt;&lt; 6) | enc4;

output = output + String.fromCharCode(chr1);

if (enc3 != 64) {
output = output + String.fromCharCode(chr2);
}
if (enc4 != 64) {
output = output + String.fromCharCode(chr3);
}
} while (i &lt; input.length);

return output;
}

Puis tout simplement, j’ai créé la fonction suivante :


function showEmail(string) {
var codedmail = decode64(string);
document.write('&lt;a href="mailto:'+codedmail+'"&gt;'+codedmail+'&lt;/a&gt;');
}

Une fois ce pavé écrit, il vous suffit d’appeler la fonction comme ceci :


&lt;script type="text/javascript"&gt;showEmail('bWFjaGluQHRydWMuY29t');&lt;/script&gt;

Seul point noir au tableau, il faut le javascript activé. Mais l’intérêt est que par exemple, pour une liste de mail, il n’y a aucunement besoin d’encoder les informations en base. Il suffit juste de ressortir le champ en clair, de passer la fonction base64_encode(); dans la zone du script… et ce, en ne laissant aucune trace d’un quelconque mail, @ ou machin [at at at] truc [dot] com.

A priori, c’est la meilleur technique que j’ai trouvé à l’heure actuelle sans avoir a passer par un formulaire.

:: DEV .:. IE et Sauts de ligne / Retour chariot

Mercredi 3 décembre 2008 à 11:43

Cela fait maintenant un bail que je me bats tous les jours avec IE. C’est bien sur le lot de tous les intégrateurs, développeurs, bidouilleurs du web. Sauf que là putain de putain, ça commence à me gaver sévère à certains niveaux.

Je viens de découvrir la source d’un des problèmes que je cherchais depuis quelques temps complètement par hasard… vous savez, le fameux espacement entre deux items qui apparait uniquement sur IE. Pour prendre un exemple assez simple, imaginons une image et un div l’un au dessus de l’autre. On aurait un truc du genre :

&lt;img src="/monimage.jpg" alt="iedemerde" /&gt;
&lt;div&gt;du poulet.&lt;/div&gt;

Pour bien isoler ce div, on va l’entourer pour vérifier que cela colle bien. Résultat sur firefox : l’image et le div sont accolés, IE, un espace de 4 pixel est visible. Je cherche plusieurs solutions, celle que l’on utilise habituellement pour IE : passer une position relative, passer un zoom à 1… Rien n’y fait. Et par hasard, je fais ça :

&lt;img src="/monimage.jpg" alt="iedemerde" /&gt;&lt;div&gt;du poulet.&lt;/div&gt;

Miracle, plus d’espace sur IE. Le pire dans l’histoire, c’est que je n’ai pas le problème deux fois de suite… en gros, ma structure ressemble à ça :

&lt;img src="/monimage.jpg" alt="iedemerde" /&gt;
&lt;div&gt;du poulet.&lt;/div&gt;
&lt;img src="/monimage2.jpg" alt="iedemerdebis" /&gt;
&lt;div&gt;du boeuf&lt;/div&gt;

Première partie, accolée sous IE et Firefox (safari et tout), deuxième accolée sous tous les navigateurs sauf IE ; je suis obligé de ne pas faire de retour.

Donc ma question est : est-ce que quelqu’un a trouvé une origine à ce problème ? Ou est-ce tout simplement un putain de truc “kifofaireavec” ?

:: DEV .:. Mysql - liaisons dynamique LIBMYSQL.dll

Vendredi 17 octobre 2008 à 19:08

“le point d’entrée de procédure mysql_slave_query est introuvable dans la bibliothèque de liaisons dynamique LIBMYSQL.dll”

C’est probablement le message d’erreur que vous pourrez obtenir un jour en utilisant un serveur local comme EasyPHP ou WAMP. Etant donné que j’ai cherché des heures d’où pouvait bien provenir le problème, je me dis qu’il est plus simple de vous fournir une astuce pour y remédier.

Il y a plusieurs solutions sur le net qui ne fonctionnent pas, mais je vais quand même les inclure dans la procédure, on ne sait jamais.

Tout d’abord, coupez votre serveur local, fermez vos navigateurs et commencez par scanner votre ordinateur avec votre logiciel anti-spyware favori ET votre antivirus favori.

Une fois ceci effectué, copiez votre fichier “libmysql.dll” présent dans votre répertoire php de votre serveur local et collez le dans votre répertoire c:\windows\system32. Relancez votre WAMP ou EasyPHP… et vous voilà repartit pour des heures de codage de folie.

Je mentionne rapidement : ceci est destiné au OS windows (pour ceux qui n’avaient pas compris).

:: DEV .:. Ubiquity news

Dimanche 31 août 2008 à 21:22

Comme promis, des news pour les ajouts de ubiquity que j’ai réalisé hier et aujourd’hui :

Tout d’abord, vous pouvez accéder au readme et au feed toujours au même endroit.

Sites ajouté : Gamekult, gamefaqs, gamersyde, opensubtitles, tvtorrents, mininova and supertorrents.
Fonctionnalités : recherche avancée pour mininova, supertorrents et fenetres de notifications sur ces deux sites pour la recherche.

Par exemple, on peut spécifier une catégorie pour mininova et / ou trier les résultats obtenus. Pour supertorrents on peut spécifier un ou plusieurs catégories. Bien sur, pour supertorrents ou tvtorrents, il faut avoir un compte pour bénéficier de la recherche.

Je continue a explorer les possibilités de développement de Ubiquity qui se révèlent de plus en plus passionnantes. D’autres part, il y a d’autres sites qui arrivent sous peu, que ce soit du sous-titre (subtitlesource.org) ou des sites communautaires, la recherche avancée pour opensubs. Et je pense que j’aurais d’autres idées dans les temps a venir.

Sinon, Ubiquity est passé en 0.1.1, il va falloir supprimer vos feeds et les ajouter a nouveau pour que cela fonctionne de nouveau.

Enjoy !

:: DEV .:. Ubiquity for nf, factornews…

Samedi 30 août 2008 à 13:46

Suite à l’article de Sram, voici l’accès a l’extension Ubiquity. Il fallait bien que pendant mes vacances même… n’étant pas à la maison, que je trifouille du code. Forcément. M’enfin bref, ça marche, je regarderais en détail à mon retour comment améliorer tout ceci… et, umh, ah oui… c’est par ici.

:: DEV .:. MyCSS Improved V1 for Wordpress

Mardi 24 juin 2008 à 20:04

Download MyCSS Improved (MyCSS v2)
(english version below)

De retour pour cette version de MyCSS Improved ou MyCSS v2, comme vous voulez.

Cette fois ci en version finale de mon côté, quelques petites améliorations :

- A la place de faire les vérifications en dur dans le code, j’ai créé des fonctions.
- Création du fichier par copy du gabarit original, chmod du fichier.
- Ajout de pseudos identifiants unique dans l’attente de trouver un moyen de générer un réel id unique pour chaque CSS.

Il ne reste plus qu’à faire des tests grandeur nature (plus que moi, j’ai testé ça sur 3 bécane différentes et 3 installation différentes de wordpress Mu, ça semble rouler).

Vous trouverez le howto dans le fichier readme-mycssi.txt.

————————————————————–

Here is the first release of MyCSS Improved, a new version of MyCSS for Wordpress MU developped by Yaosan Yeo ( plugin website ).

This version of MyCSS allows you to have different CSS for multiple blogs with Wordpress MU.
It generates a copy of a template css with a “pseudo” unique ID.

There’s some issues with this way of creating a unique CSS with the blog name :
- If the user changes the name of the blog, the css won’t be working anymore, you got to go again in MyCSS tab and generate the new CSS
- If the blog has the EXACT SAME NAME of another blog, it will use the css file of the
first blog (or the other ones) created. And each user will overwrite the changes.

If someone as any idea to generate a unique ID i can find the Wordpress functions, i’m eager to hear about it.

Enjoy !

(It might work with Wordpress, but i didn’t test it actually… installation details in the readme-mycssi.txt)

:: DEV .:. Wordpress MyCSS Improved Beta

Lundi 23 juin 2008 à 23:32

Avant de commencer, mention de l’auteur original :

Plugin Name: MyCSS
Plugin URI: http://www.channel-ai.com/blog/plugins/mycss/
Description: Add theme independent CSS stylesheet to your blog, supports direct editing via admin panel.
Version: 1.1
Author: Yaosan Yeo
Author URI: http://www.channel-ai.com/blog/

Suite à une discussion avec Dr.Loser par mail, je me suis décidé a remettre le nez dans wordpress. Lapatine.fr devrait avoir ses blogs bientôt.

Je me suis basé sur son code pour créer un système de CSS respectif à chaque blog créé avec Wordpress Mu ( qui se trouve par ici ). Son système était pas mal mais cela ne faisait qu’une css pour l’intégralité des blogs. Ce que je voulais c’était créer un plugin qui gère une css par blog. C’est chose faite.

C’est encore une version beta, j’ai probablement des vérifications a ajouter et un chmod a corriger.

Pour le faire fonctionner, tout simple, installez la version de Wordpress MU que vous trouverez grâce au lien précédent, décompressez l’archive dans /wp-content/plugins. Vous devriez avoir alors un répertoire mycss. Faites un petit chown apache:apache, connectez vous et activez le plugin. Pour l’instant il crée bien les fichiers en se basant sur la css de base mais ne fait pas de chmod sur le fichier.

Si des gens peuvent tester pour me confirmer que ca marche chez eux, je suis preneur. Sinon, bon test. Une fois une release finale, je ferais un article en anglais puisque je sais que de nombreux utilisateurs de wordpress cherche un plugin qui gère ça.

MyCSS Improved BETA

:: DEV .:. Le CSS c’est bien bandant.

Dimanche 22 juin 2008 à 16:24

Cela faisait bien un an que je n’avais pas pris le temps de me faire une nouvelle CSS. J’en fais pour tout le monde, sauf pour moi. Si bien que j’ai pris le temps de faire ça aujourd’hui. Au delà du résultat, Je dois avouer qu’on prend sacrément son pied à réaliser ce genre de choses. Contrairement à une paire de blogs que j’ai pu tester, il faut avouer que NF offre pas mal de possibilité en terme de réalisation.

J’avais le truc en tête depuis hier, je voulais taper dans A Scanner Darkly… en récupérant le art pack sur le site, voilà a quoi j’ai pu m’amuser. Globalement ça peut sembler bateau, mais il y a quelques trucs sympa en terme de code que j’ai pris un peu de temps à peaufiner.

Il y aurait de quoi ajouter quelques possibilités dans les balises html, pour faire varier l’affichage de l’index par rapport à l’affichage des articles, mais bon, je m’en tire déjà pas mal là, et je dois avouer que j’aime bien ma petite image au dessus des commentaires. Et puis, j’ai gardé mon alignement a droite, spécialement pour mess qui est jaloux de cette idée de génie. =] (pour le constater il faut une résolution supérieure à 1280 par contre).

Bien sûr, je n’ai foutrement pas pris le temps de tester la compatibilité IE6 (sur le 7 ca semble être same all same all), je verrais si je prends le temps de le faire à l’occaz…

:: DEV .:. De la compatibilité CSS IE - Firefox

Vendredi 20 juin 2008 à 21:58

J’ai un petit soucis sur le blog de Scorflex, j’ai utilisé un freediv pour mettre en place le fond sur la droite de la home et des articles, et j’ai placé ça avec un z-index pour que la rightcol passe au dessus, hors sur IE7 ça ne passe pas. J’ai cru lire que IE donnait priorité a l’ordre du code html par rapport au Z-index, mais théoriquement du coup, la colonne devrait bien passer au dessus.

Là je séche complètement, quelqu’un doué en CSS aurait une idée ? Ca me permettrait également d’améliorer mes connaissances en compatibilité… même si je bosse H24 sur ça, j’ai toujours des problèmes dans le genre, et c’est bien d’ôter une épine du pied de temps a autres ;)