IE7 et z-index

12 août 2009

Internet Explorer 7 possède un bug bien particulier qui lui est propre au niveau des z-index. En tous les cas je ne l’ai pas retrouvé ni sur IE6 (pour une fois) ni sur IE8.

Ce bug m’est apparu lorsque j’ai créé un menu déroulant en CSS / jQuery impliquant des listes positionnées en relative et absolute et que dans le contenu situé sous le menu j’ai un ou plusieurs éléments positionnés également en relative ou absolute. Dans ce cas j’avais le menu déroulant qui passait sous les éléments du contenu. Problème de z-index semble-t-il. Pourtant malgré le fait de bien paramétrer des z-index sur les éléments du menu et les éléments du contenu, rien à faire, le menu déroulant reste derrière. Grossièrement, le code a cette structure:

<div id="header">
    <div id="div_menu">
        <ul id="menu">
            <li><a href="#">Lien 1</a>
                <ul class="sousmenu">
                    <li><a href="#">Sous-menu</a></li>
                    <li><a href="#">Sous-menu</a></li>
                    <li><a href="#">Sous-menu</a></li>
                </ul>
            </li>
        </ul>
    </div>
</div>
<div id="contenu">
    <div id="element_en_absolu">Le sous menu passe derrière !</div>
</div>

Tous mes z-index avaient été placés sur les éléments #div_menu, #menu, #menu li etc.. ainsi que sur #element_en_absolu.

Finalement j’ai trouvé la solution sur ce blog. J’ai résolu le problème en définissant un z-index le plus élevé sur #header. Ce qui veut dire qu’il faut donc définir un z-index qui soit le plus élevé que tous les autre sur le ou les parents du menu.

Rediriger le traffic HTTP d’un serveur à un autre avec Apache

4 août 2009

Un site est sur un serveur dédié A. Vous voulez le migrer sur un serveur dédié B. La migration des fichiers et de la base de données éventuelle ne pose pas spécialement de problème. Ce qui est plus délicat, c’est lorsque vous allez modifier les pointages DNS du nom de domaine : en effet, le temps de la propagation, certains visiteurs vont rapidement arriver sur le serveur dédié B alors que d’autres vont rester bloqués sur le serveur A pendant 24 à 48h. Si dans le cadre d’un site statique cela ne pose aucun souci, c’est plus problématique dans le cas d’un site dynamique car cela peut engendrer une désynchronisation de la base de données entre les deux serveurs et conduire à des pertes de données.

L’idéal serait que le serveur A puisse rediriger les visiteurs sur le serveur B le temps de la propagation des DNS. Apache va nous y aider.

Lire le reste de cet article »

Configuration d’un serveur dédié chez OVH

15 juillet 2009

Ça faisait un moment que je n’avais pas eu à configurer un serveur dédié pour de la production. L’occasion d’en faire un petit article, le but étant de faire un serveur très basique, sans gestion de boîte mails, sans LDAP, sans chroot, etc. Juste une base LAMP.

Ce serveur dédié a été choisi chez OVH. J’ai bien sûr demandé une Debian nue mais ça n’a pas vraiment été le cas. En fait, OVH livre une distribution Debian avec un noyau personnalisé et plusieurs outils installés par défaut. Suite à une mésaventure lors du passage de Etch à Lenny sur un de mes dédiés, j’ai décidé de ne plus laisser le noyau d’OVH mais d’installer un noyau standard. Si cette manipulation vous intéresse, voyez ce billet. Sinon ce qui suit fonctionne quand même parfaitement. Ces infos sont désormais obsolètes, GRUB2 semble parfaitement gérer les noyaux OVH automatiquement.

Lire le reste de cet article »

Changer le noyau d’une Debian OVH

3 juillet 2009

Malgré le fait de demander une Debian nue à l’installation de mon serveur dédié, OVH m’a mis une distrib qui semble un peu modifiée par eux, notamment au niveau du noyau. Le noyau que j’ai au départ a un nom tout bizarre genre bzImage-2.6.27.10-xxxx-grs-ipv4-64.

En fait c’est un noyau préparé par OVH qui contient les derniers patchs de sécurité et qui permet de se passer de modules externes car ils sont embarqués. Problème: quand j’ai voulu upgrader ma distrib de Etch à Lenny, j’ai eu énormément d’ennuis et j’ai dû faire appel à un ami spécialiste pour me dépatouiller.

Le premier problème a été Lilo: il a commencé à me mettre des warnings pendant la mise à jour. Comme je n’étais pas sûr des conséquences que cela aurait au reboot et vu que Lilo commence sérieusement à dater, on a décidé de mettre Grub, et là tout est parti en vrille, ce qui n’aurait pas été le cas si j’avais eu un noyau standard… En effet d’une part Grub se base sur le nom d’un noyau standard pour s’installer, ce qui n’était pas le cas. La config de grub ne n’est donc pas faite correctement. On s’est donc dit que dans ce cas, on allait donner à Grub ce qu’il voulait, c’est à dire un noyau standard. Sauf que la il va aussi falloir gérer les modules à la main. En plus de cela le serveur était en raid1 logiciel, ce qui nécessite une maipulation supplémentaire avec Grub.

On va donc essayer à travers cet article de remettre la distribution droite dès le départ étant donné que le serveur dédié sur lequel je refais cette expérience est neuf.

Lire le reste de cet article »

Installer un serveur SVN sur Debian

11 avril 2009

Ce pense-bête a été fait à partir des deux articles suivants:

http://blog.fabroce.info/post/2006/11/19/Installer-un-depot-subversion-sur-une-Debian
http://blog.utopiaz.org/2008/04/mise-en-place-svn-et-virtual-hosts-apache/

Son but est de mettre en place un serveur subversion sur une Debian permettant la gestion de plusieurs dépôts avec une gestion des droits différente selon les dépôts. Lire le reste de cet article »

Installer un paquet testing sur une distribution stable

2 octobre 2008

Suite à un bug présent sur le PHP installé sur ma distribution stable, j’ai dû faire une mise à jour afin de pouvoir installer la version testing, sans pour autant basculer complètement sur cette dernière. Le but du jeu est d’installer uniquement le paquet voulu (et ses dependances bien sûr).

Lire le reste de cet article »

Erreur apt-get : Dynamic MMap ran out of room

2 octobre 2008

J’ai eu droit à cette erreur en faisant un apt-get update. J’ai trouvé la solution ici:

http://e.rycks.com/index.php/post/2005/08/17/22-dynamic-mmap-ran-out-of-room

pour résumer il faut aller dans /etc/apt/apt.conf.d/ et créer un fichier 10cachelimit (le nom du fichier peut-être modifié à votre guise). Y placer l’instruction suivante:

APT::Cache-Limit "10000000";

Cela permet à APT d’utiliser plus de RAM. La valeur entre guillemets est à modifier selon les besoins. Personnellement j’ai dû passer à 20000000 pour que cela fonctionne.

Bug après désinstallation d’Internet Explorer 7

29 août 2008

J’ai dû pour une raison obscure désinstaller Internet Explorer 7 de la machine d’un client afin qu’il puisse retrouver Internet Explorer 6 sous Windows XP. Ce n’est pas la première fois que je fais cela et à chaque fois j’ai dû faire face à un problème:

Sous Outlook Express, lorsqu’on essaye d’afficher la boîte de dialogue des polices de caractère dans la rédaction d’un message, on obtient une erreur 501 nous signalant un accès refusé.

Lire le reste de cet article »

Installation PHP5/Apache2.2/MySQL5 sous Windows

16 août 2008

Cette installation est effectuée sous Windows XP Pro SP2, mais devrait fonctionner sous Vista sans problème. Elle est destinée à une installation en tant que plateforme de développement, pas à une installation de production.

Installation de PHP

Télécharger la dernière version de PHP sur php.net (la dernière version est la 5.2.6 au moment de cet article). Prenez la version zip package.

A la racine de votre disque dur c: créeez un répertoire php et dézippez-y l’archive PHP.

Lire le reste de cet article »

Les screens sous Debian

4 août 2008

Les screens sont vraiment indispensables pour tous ceux qui travaillent en mode console sous ssh. Ils permettent de créer une ou des consoles virtuelles sous la même session qui ne se détruisent pas lorsque l’utilisateur se déconnecte. Concrêtement, lorsqu’on lance une compilation dans un screen, si vous avez un plantage réseau, connexion ou autre, la compilation continue. On peut se relogguer et récupérer la session screen qui était en cours. En plus de la protection apportées, les screens sont efficaces pour lancer un travail qui peut durer longtemps. On peut ainsi lancer un travail sur un serveur le soir, s’en déconnecter et aller se coucher, puis le lendemain reprendre le screen et obtenir le résultat.

Lire le reste de cet article »