06.10.08
Proxy PAC locaux (et IE)
Les fichiers PAC (Proxy Auto Configuration) sont des mini-javascript limités (en terme de fonctions) utilisés pour indiquer à un navigateur quel est le proxy de la société pour sortir sur le web.
Par extension, on peut l’utiliser pour faire une sorte de load-balancing, de répartition suivant l’IP, court-circuiter le proxy pour tel ou tel site etc. Bref, peu de fonctions, mais pas mal d’utilisation détournées. Google vous expliquera ça mieux que moi.
Ce format de fichier vient de chez Netscape, il y a une 12aine d’années, on n’a pas encore fait mieux. Sa syntaxe complète est décrite chez Netscape.
Il y a un truc bien merdique (sous IE :O) avec les fichiers PAC. Je vous en fais part car pour le coup, j’ai trouvé beaucoup de monde sur google se posant une question et personne n’y répondant correctement.
Une fois votre “proxy.pac” créé, il s’agit de le mettre à dispo des utilisateurs. Deux solutions :
- le publier sur un serveur web (interne)
- le copier d’une manière ou d’une autre sur le PC des utilisateurs, localement
La première méthode est bien pour une utilisation interne (serveur web interne toujours accessible), mais pour les personnes mobiles, c’est naze : quel que soit le serveur web utilisé, il faudra pouvoir l’atteindre, ce qui n’est pas nécessairement possible depuis un site quelconque de connexion à Internet.
La deuxième méthode est bonne pour tout le monde, du moment que vous avez moyen d’injecter le fichier sur le PC des utilisateurs.
Ensuite, dans ce cas, vous indiquez dans votre navigateur un chemin du genre c:\mon repertoire\monproxy.pac
Et c’est là le début des ennuis.
- Firefox va convertir l’adresse en file:///c:/mon%20repertoire/monproxy.pac
- IE ne convertit rien et ne trouve pas le fichier. Bref, ça-marche-pas (c) MS
Comment faire ? j’ai vu plein de fois la question sur le web, jamais la réponse.
Pour que ça marche sous IE, il faudra donc :
- commencer par file://c:/
- ne pas mettre d’espace ni de %20. Comment faire ? nommer les répertoires à l’ancienne, façon Windows 95. C’est pas beau ça ? c’est pas un navigateur génial IE ? Exemple : file://c:/docume~1/mon_id/mon_proxy.pac
Et voilà. La clef, c’est le “~1″ des familles.
J’entends dans le fond de la salle une question : “pourquoi ne pas mettre le fichier sur C:\ ou C:\Windows directement ?”. Parce-que j’ai des utilisateurs non admin de leur poste et le script de logon au domaine n’a pas les droits d’écrire là-dedans. Par contre dans %USERPROFILE% (ie, C:\Documents and settings/mon_id/) c’est bon.
Simple, mais de quoi perdre des heures.
Merci Microsoft.