Commentaires   |   Accueil     Archives     Précédent     Suivant    Forum     Mon Twitter     Débuter sur Mac

Public-privé :


Si vous souhaitez faire un site public avec une partie privé, faites deux sites : l'un restera public, l'autre sera privé.
L'inconvénient si vous utilisez le menu de navigation  d'iWeb, c'est que vous aurez un menu différent pour chaque site.


MobileMe :


Tout se passe dans les réglages de publication. Cliquez sur le nom du site dans la colonne latérale gauche d'iWeb pour y accéder

Cochez la case "Faire de mon publié un site privé"

choisissez "un nom d'utilisateur" et  "un mot de passe" (Vous remarquerez que les accents et les espaces ont été bannis)

Publiez



Faites preuve de goût dans le choix de votre nom d'utilisateur et votre mot de passe


Note : Si iWeb peut proposer un service si simple aux abonnés MobileMe, c'est parce que  Apple est aussi administrateur des serveurs de MobileMe.


Sur un serveur FTP :


Au préalable, on choisit un (ou plusieurs) nom(s) d'utilisateur et un mot de passe (par nom d'utilisateur). Généralement on choisit un nom d'utilisateur pour tout le monde, comme c'est le cas sur MobileMe.


La protection par mot de passe se déroule en plusieurs étapes. Chacune de ces étapes correspond à la création d'un fichier particulier

4 fichiers = 4 étapes

  1. 1.crypter son (ses) mot(s) de passe (fichier cryptage.php) sauf si vous hébergez votre site sur  Free.fr

  2. 2.créer un fichier  qui répertorie son (ses) nom(s) d'utilisateur et son (ses) mot(s) de passe crypté (fichier .htpasswd)

  3. 3.récupèrer le chemin absolu de son precédent fichier (fichier chemin.php)

  4. 4.créer un fichier  obligeant son dossier à s'ouvrir avec un mot de passe (fichier .htaccess)


Comme un bon ouvrier il vous faudra de bons outils, à savoir :

un logiciel client-FTP (ex. Cyberduck, Transmit etc.)

un éditeur de texte (ex.  Fraise, TextWrangler, Smultron,  Textmate etc.)

J'utilise Textmate et Transmit, aussi vous trouverez sur cette page des captures de ces deux logiciels.


Le dossier que l'on va protéger par un mot de passe est le dossier Site (ou nom_de_site) créé et publié par  iWeb sur mon serveur FTP . Lors de la publication iWeb publie dans le dossier racine de mon serveur FTP une page index.html et un dossier ayant pour nom celui que vous lui avez attribué dans la la colonne latérale droite ou les réglages de publication, à la différence près que le nom de ce dossier ne contient pas d'espace pas de caractères accentués (par ex. un site nommé "le site de Dédé"  donnera le dossier "le_site_de_Dede")



ici, Je cherche à protéger le dossier nommé secret.



a. Méthode rapide : on est un "pro", on va à l'essentiel


Affichez les fichiers invisibles sur votre client-FTP.

Sur votre serveur, dans le dossier Site  créé par iWeb, Créer 4 fichiers à l'aide de votre client-FTP. 
Nommez les : cryptage.php, chemin.php, .htpasswd (pas d'extension de fichier), .htaccess (pas d'extension de fichier).


  1. 1.Etape 1

Ouvrir  cryptage.php  avec un editeur de texte, coller le code ci-dessous , dans ce code changer votremotdepasse et sauvegarder


<?php echo crypt('votremotdepasse'); ?>


Ouvrir cryptage.php avec un navigateur, copier le mot de passe crypté


  1. 2.Etape 2

Ouvrir .htpasswd, coller le code suivant et sauvegarder


nomdutilisateur:votremotdepassecrypté


en gros ça se limite à un nom d'utilisateur et un mot de passe crypté séparés par deux points.


  1. 3.Etape 3

Ouvrir le fichier chemin.php avec un editeur de texte, coller le code suivant et sauvegarder


<?php

$dir = dirname(__FILE__);

echo $dir . "/.htpasswd";

?>


Ouvrir le fichier chemin.php avec un navigateur, copier le chemin absolu de votre fichier.htpassword


  1. 4.Etape 4

Ouvrir votre fichier .htaccess dans un editeur de texte, coller le code ci-dessous ,

changer chemin/absolu/de/votre/fichier.htpasswd et sauvegarder


AuthUserFile "chemin/absolu/de/votre/fichier.htpasswd"

AuthType Basic

AuthName "le site privé"

Require valid-user



b. Méthode détaillée : on débute, on a besoin de captures d'écran


1. Affichez les fichiers invisibles sur votre client-FTP.

Sur Transmit :
il y a un gros bouton qui doit apparaitre en bleu




ou menu > Présentation > afficher les éléments non visibles

ou cmd majuscule R


Sur Cyberduck :

menu > Présentation > afficher les fichiers cachés ou cmd majuscule R


  1. 2.Sur votre serveur, dans le dossier Site  créé par iWeb...



Mon dossier Site a pour nom "secret"


... créez 4 nouveaux fichiers à l'aide de votre client-FTP. 



Par un simplle clic droitdans mon fichier "secret", j'ai acces à l'option nouveau fichier


Nommez-les : cryptage.php, chemin.php, .htpasswd (pas d'extension de fichier), .htaccess (pas d'extension de fichier).



Dans mon dossier "secret", je crée et renomme 4 nouveaux fichiers vides


  1. 3.On choisit un mot de passe  et on va le crypter grâce au fichier cryptage.php :

clic droit sur le fichier cryptage.php > Ouvrir avec >  un éditeur de texte (ici TextMate)




Collez le code suivant (dans ce code, changer votremotdepasse) et sauvegardez.


<?php echo crypt('votremotdepasse'); ?>


Choisir son mot de passe : éviter les espaces, les accents, les apostrophes et les guillemets.


Ouvrez cryptage.php avec un navigateur, copiez le mot de passe crypté.



Oui, oui on copie tout cette ligne.


  1. 4.on ouvre le fichier .htpasswd avec un éditeur de texte et on colle le code suivant


nomdutilisateur:votremotdepassecrypté



Mon mon d'utilisateur est "public", mon mot de passe crypté est juste... impronoçable.


  1. 5.Pour continuer, nous avons besoin de connaître le chemin absolu de ce fichier .htpasswd


Ouvrez le fichier chemin.php, collez le code suivant :


<?php

$dir = dirname(__FILE__);

echo $dir . "/.htpasswd";

?>



Ouvrez cette page avec un navigateur et copiez le chemin affiché.





  1. 6.Ouvrez le fichier .htaccess et copiez le code suivant (changer chemin/absolu/de/votre/fichier.htpasswd) et sauvegarder


AuthUserFile "chemin/absolu/de/votre/fichier.htpasswd"

AuthType Basic

AuthName "My Private Website"

Require valid-user


Vous pouvez changer le texte entre guillemets de la ligne AuthName (ici My Pryvate Website) qui apparîtra sur le formulaire d'identification (voir image ci-dessous), vous pouvez mettre des accents des caractères accentuées mais évitez les apostrophes et les guillemets supplémentaires.



  1. 7.Ouvrez votre site avec un navigateur un formulaire d'identification apparaîtra



Et si ça marche pas :


Quelques pistes :

1. Vous avez entrez un mauvais nom d'utilisateur ou un mauvais mot de passe

  1. 2.le chemin absolu du fichier .htpasswd noté dans dans le fichier .htaccess n'est pas le bon

  2. 3.le mot de passe crypté a été mal noté dans le fichier .htpassword


Effacez au moins votre fichier .htaccess pour avoir de nouveau acces à votre site web sans mot de passe


Liens utiles :


Site du Zéro :  protéger un dossier avec un .htaccess

htaccesstools : full path to file using php

aidoweb : fichier .htaccess chez free.fr