En quoi cela consiste, il s’agit de “tromper” votre ordinateur en lui indiquant une adresse IP spécifique pour une adresse internet donnée. Cette pratique est très répandue dans le monde du développement notamment lorsque que vous devez accéder à un site en cours de développement ou de pré-production ou de validation. Ce site ne doit être accessible qu’à un petit nombre de “happy few”. Ces derniers ayant fait le changement dans leur fichier hosts, changement qui rend accessible le site via leur navigateur. Or, il est rare que les développeurs, “geeks” et autres “diafoirus du code” vous donnent la moindre explication sur la marche à suivre, comme si tout cela se faisait le plus naturellement du monde :):)
Ce changement dans le fichier hosts
Cela peut aussi être utile lors d’une phase de développement en local. C’est à dire non pas sur une adresse publique mais sur une adresse , si vous avez installer un environnement de dev PHP-MySQL ou ROR. Les liens sur comment installer un environnement de développement PHP-MySQL ou en Ruby On Rails sont indiqués dans la section en base de cette page Pour aller plus loin
Qu’est-ce-qu’un fichier hosts ?
Il ne s’agit pas d’une bête gluante qui va jaillir de votre poitrine et qui a la vitesse de l’éclair va se réfugier dans la machine à laver… Non, c’est une vulgaire fichier texte, sans l’extension .txt qui est utilisé par le système d’exploitation de votre ordinateur. Ce fichier contient un certain nombre d’adresse IP. Une adresse IP (avec IP pour Internet Protocol) est le numéro qui identifie une machine connecté à Internet. Il contient notamment l’adresse dite “loopback IP address 127.0.0.1 in IPv4″ qui correspond à “localhost (qui signifie “this computer”)” dont la devise est citée plus bas.
- Plus d’information sur
hosts, l’IP127.0.0.1….
http://en.wikipedia.org/wiki/Localhost -
Le glossaire Google du vocabulaire Internet
http://www.google.com/support/googleanalytics/bin/topic.py?topic=11285
-
La définition Google de l’adresse IP
http://www.google.com/support/googleanalytics/bin/answer.py?hl=fr&answer=33028
Une citation attribuée à tort à Tim Berners-Lee
There’s no place like 127.0.0.1
Le code d’un fichier hosts ?
Si vous placez devant la ligne le signe #, la ligne sera désactivée. C’est le cas de notre ligne 4, #127.0.0.1 site1.local.hecube.net, vous ne pourrez donc accéder en local à cette adresse via votre navigateur.
1 2 3 4 | 127.0.0.1 localhost 127.0.0.1 dev.local.hecube.net 91.121.175.39 prod.local.hecube.net #127.0.0.1 site1.local.hecube.net |
Modifier le fichier hosts sur un PC et sur MAC
Les deux marches à suivre détaillées ci-dessous….
La marche à suivre sur un PC
Voilà, écran par écran, la marche à suivre pour changer son fichier hosts sur un PC qui tourne sous XP.
1. Via l’explorateur windows, on va se rendre dans le répertoire windows.

2. Vous pouvez, sans modifier les paramètres d’affichage des dossiers, accéder à l’adresse C:\WINDOWS\system32\drivers\etc

emplacement du fichier hosts

Il n’est pas besoin de changer les paramètres d’affichage des dossiers pour accéder à hosts

3. Editer le fichier avec notepad
Ajouter les lignes des adresses que vous voulez atteindre. L’insertion se fait toujours de la forme adresse IP[espace]URL par exemple 127.0.0.1 dev.local.hecube.net

5. Le fichier hosts modifié
Une fois les modifications faites, vous n’avez plus qu’à les enregistrer.

6. Les adresses sont accessibles dans le navigateur
Il ne vous reste plus qu’à vous rendre aux adresses indiquées.
91.121.175.39 prod.local.hecube.net

127.0.0.1 dev.local.hecube.net

La marche à suivre sous Mac
Voilà, écran par écran, la marche à suivre pour changer son fichier hosts sur un MAC.
1. Lancer le terminal
Vous devez lancer le terminal. Cette application se trouve dans “Applications > Utilitaires > Terminal” (en passant le chemin sous la console elle-même est /Applications/Utilities/Terminal.app).
accès au terminal

écran du terminal

2. Passer en root sur votre MAC
Pour vous vus permettre de changer de compte utilisateur et de passer en root sur votre Mac, il vous faut taper la commande ensuite sudo -s, ensuite le mot de passe poru entrer sur votre machine.
NOTE : Le mot de passe n’apparait pas, vous êtes sous linux. Vous pouvez taper whoami pour vérifier que vous êtes désormais en user root sur votre MAC.
ATTENTION : EN root, vous avez de nombreux priviléges donc éviter les commandes intempestives qui pourraient endommager votre ordinateur.


3. Editer /etc/hosts
En tapant la commande vi /etc/hosts, vous allez éditer votre fichier hosts. Pour insérer les nouvelles entrées dans votre fichier hosts, taper sur la lettre i de votre clavier, vous êtes en mode insertion dans Vi. Vous pouvez désormais modifier votre fichier.



4. Sauvegarder les changements dans /etc/hosts
Pour conserver les changements, faites CRTL+C, vous sortez du mode insertion, il ne vous reste plus qu’à sauvegader vos changement en tapant :wq. La conséquence de cette comande est w pour “write” et q pour quitter.
les nouvelles adresses et domaines ont été insérés 91.121.175.39 prod.local.hecube.net, 127.0.0.1 dev.local.hecube.net

5. Sortir du compte root
Pour sortir du compte root, taper exit
Vous êtes revenu dans le compet utilisateur habituel…

6. Les adresses sont accessibles dans le navigateur
Il ne vous reste plus qu’à vous rendre aux adresses indiquées.
91.121.175.39 prod.local.hecube.net

127.0.0.1 dev.local.hecube.net

Pour aller plus loin
Pour installer rapidement et simplement un site en local qui fonctionne avec le couple php-mysql, reportez-vous aux articles de ce blog :
Pour installer rapidement et simplement un site en local sous Ruby On Rails, reportez-vous aux articles de ce blog :
- Installer l’environnement Ruby On Rails sur PC via InstantRails
- Installer Locomotive sur Mac pour tester l’environnement Ruby On Rails (RoR)
Crédits
Pour l’illustration, il s’agit d’un détournement des panneaux de signalisation visibles ne France. la police c’est de l’Arial à ce qui parait.
http://www.developpement-durable.gouv.fr/
http://www.interieur.gouv.fr/






16 Commentaires
Super ! Merci pour le tuto !
Merci beaucoup, exactement ce dont j’avais besoin.
merci de la qualité du tuto !! mon premier jour sous mac et manip réaliser en 5min encore merci !!!
ptit souci quand je met le mot de passe sa apparait pas je fait comment ? merci de m aider
@ Dragula Lorsque on est dans la terminal, on est dans un environnement plus proche de linux que de mac. Or sous linux, le mot de passe n’est même pas figuré par des
*******, c’est normal donc normal. La seule précaution est de ne pas se tromper lorsque on saisit son mot de passe.ok merci bruno je ressaye et je te tien au courant
Salut, je suis sous mac et mon interface de Terminal n’est pas la même (j’ai un fond blanc) cela change-t-il quelque chose?
Lorsque j’entre “root” il me dit que la commande est inconnue, ensuite il ne me demande pas mon mot de passe puis enfin il me dit que mon hosts est en mode “read only file” et que je dois “add ! to override”.
Que dois-je faire?
Merci d’avance!
@Will38 Voilà déjà pour obtenir cet écran vert et noir mais cela n’a aucune incidence sur les manips, c’est une juste une question de gouts et de couleurs. Il faut aller dans Terminal > préférence > menu déroulant pour sélectionner “Nouvelles fenêtres avec les réglages”; pour avoir cette écran vert et noir c’est “homebrew”. Sinon, les étapes popur passer en root sont :
sudo -s root (étape 1)
password: (étape 2 on saisie son mot de passe qui n’apparait en clair ou on tapes enter si pour se connecter à son mac on n’a pas mis de mot de passe)
vi /etc/hosts (étape 3 tu auras à ce moment les droits pour éditer le fichier hosts)
ensuite suivre les étapes décrites dans l’article…
@bruno,
Salut, il faut que je rajoute ceci 74.208.105.171 gs.apple.com dans mon fichiers hosts, je dois etre tres bete mais il m’est impossible d’aller jusqu’au bout, je comprends pas !
HELP
@Matt peux-tu indiquer si tu es sur PC ou MAC et éventuellement l’étape ou cela coince ! Sur MAC par exemple, les erreurs courantes sont que : les utilisateurs ne connaissent parfois pas leur mot de passe root ou parfois il n’y pas de mot de passe root du tout, dans ce dernier cas il suffit de taper la touche entrée de ton clavier.
Salut Bruno… Alors déja je tenais a te féliciter pour ce tutoriel qui est super bien présenté!
Ce la dit il m’arrive un pépin…J’ai suivi a lettre pour la modification du fichier host et comme Matt je voulais incrémenter 74.208.105.171 gs.apple.com… J’ai réussi sans soucis…
Le seul truc c’est que ca n’a pas apporté la modif que j’attendais du coup je voudrais a nouveau l’enlever mais je n’y arrive plus car ca me met un message d’erreur comme tel:
E325: ATTENTION
Found a swap file by the name “/etc/.hosts.swp”
owned by: root dated: Wed Mar 17 23:42:46 2010
file name: /private/etc/hosts
modified: YES
user name: root host name: pc-de-raph.lan
process ID: 531
While opening file “/etc/hosts”
dated: Wed Mar 17 20:41:44 2010
(1) Another program may be editing the same file.
If this is the case, be careful not to end up with two
different instances of the same file when making changes.
Quit, or continue with caution.
(2) An edit session for this file crashed.
If this is the case, use “:recover” or “vim -r /etc/hosts”
to recover the changes (see “:help recovery”).
If you did this already, delete the swap file “/etc/.hosts.swp”
to avoid this message.
Swap file “/etc/.hosts.swp” already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
donc je clique recover j’essaie de modifier et la ca me met :
E17: “/Users/Raph5783″ is a directory
Et la je me mords les doigts car je me dis que je n’avais pas qu’a y toucher…
J’éspère que tu pourra m’aider…
Bien cordialement…Raphael…
@Raph apparemment tuas une version temporaire de ton fichier hosts , c’est ce que t’indique ce msg dans la console Cf encart du dessous.
Le mieux est en root de faire le soperation suisvnates :
- taper la commande suivante vim -r /etc/hosts
- reprendre le processus dédition du fichier hosts et devant la ligne inséré mettre en # afin de dépublier la ligne
Bon courage
Salut bruno je te recontacte,car j’ai essayé en vain de remettre le fichiers hosts a l’origine mais je n’y arrive pas…Il me met sans arret :
E17: “/Users/Raph5783″ is a directory
Et la je peine enormément…J’ai essayé avec le # mais rien y fait…
Pourrait tu Stp me détailler la manip stp car je suis encore super novice la dedans…Je te remercie d’avance,et surtout te remercie de t’etre penché sur la question…
A bientot…
Raphaël…
Salut Bruno, je n’ai tjrs pas de réponses de ta part :(…j’espère que tu reponderas a ma requête ! Merci d’avance et désolé de réitéré ma demande…a bientôt Raph
@Raph Toutes les étapes dans l’ordre où elles doivent être effectuées. Bon courage
(1) Lancez le terminal et tapez la ligne suivante
sudo -s(2) Entrez la ligne suivante dans le terminal
vi /etc/hosts(3) Tapez la touche i pour passer en mode insertion sous l’éditeur Vi
(4) Insérez ou désactivez la ligne souhaitée dans le fichier hosts.
Note 1 : Les adresses se tapent toujours de la forme suivante :
91.121.175.39 prod.local.hecube.netNote 2 Pour désactiver une adresse comme
91.121.175.39 prod.local.hecube.net, il suffit de supprimer la ligne ou de placer un # devant.(5) Tapez ctrl+c ou esc pour sortir du mode insertion
(6) Tapez alors :wq pour écrire et quitter l’éditeur Vi
Salut bruno ou devrais je dire mon sauveur ;)…
Bon ben simplement pour te dire que le message d’erreur
E17: “/Users/Raph5783″ is a directory
provenait du (.) que j’avais mis apres :wq (.) pour enregistrer et quitter…
A priori j’ai reussi a le mettre en ordre donc tant mieu…
Merci pour tout en tout cas!!!
A bientot
Amicalement Raph