Ajout protection par mot de passe site Html

WRInaute discret
Voilà, je rencontre un petit problème technique pour le site d'un de mes clients.

Petit récapitulatif :

Le site en question est développé essentiellement en HTML, pas de Php ni de Bdd et comporte + de 1500 pages.
A la racine du site on a les pages sommaires, puis des répertoires par catégorie avec à l'intérieur les pages produits en html.

Mon client désire la chose suivante :

Un internaute arrive sur le site, recherche à l'aide des pages sommaires la catégorie du produit qui l'intéresse, puis en cliquant sur le nom du produit il doit être dirigé vers la fiche produit (qui se trouve donc dans un répertoire).
Cependant si celui-ci ne s'est jamais enregistré sur le site, la fiche ne doit pas s'afficher mais une page demandant à la personne de se connecter ou s'inscrire et créer son propre mot de passe.

Le but pour mon client étant de collecter des données type nom, entreprise, fonction et mail.
Les internautes créent eux-même leurs login et mot de passe comme bon leur semble.

Question :

Le site contenant + de 1500 pages, pas question de transformer le html en php !
La solution via .htaccess et .htpasswd est intéressante mais peut-on automatiser la création de l'utilisateur et de son mot de passe automatiquement ? j'en doute.

Bref je ne suis pas très compétent dans ce domaine et j'aurais voulu avoir un peu d'aide !
Connaissez-vous une solution plus simple ?

Encore bonne fêtes à tous !
 
WRInaute accro
Bonjour
A mon sens, tu ne pourras pas te passer d'un langage de programmation dynamique. Création de cookies, système de login, etc ... tant de choses que le HTML ne peut pas faire.
Tu peux garder les pages en question, et bricoler un "cadre" php qui va appeler (avec include) les 1.500 pages de ton site (genre include.php?page=lapage1.html pour /lapage1.html),comme ça tu n'as pas besoin de retoucher les pages existantes, les codes PHP gérant les accès étant dans le fichier include.php

Ensuite trifouiller un peu de réécriture d'URL pour garder les mêmes URL qu'aujourd'hui, mais je ne vois pas comment tu pourrais le faire sans passer par du dynamique.

prévois du café et de l'aspirine :)
 
WRInaute occasionnel
J'aurais bien aimé t'aider... mais ils ont raisons :(
Il faut passer par du dynamique, pour gérer tout ça...
Ca peut ne pas être long, si tu utilises la technique (berk) des frames... c'est la solution la plus rapide à mon avis...
 
WRInaute accro
Sinon tu as la solution d'ajouter une directive htaccess qui te permettrait d'exécuter du code php dans tes pages.

Ensuite tu te crée un fichier qui effectue tes traitements, et tu fais un include de ce fichier sur l'ensemble de tes pages en utilisant des fonctions avancée de rechercher/remplacer (genre juste avant la première balise html de tes pages), comme Dreamweaver qui permet de remplacer des éléments dans l'ensemble des fichiers d'un site.

Quand je n'ai pas vraiment le choix je passe par ce genre de choses, mais ca reste une plaie à maintenir.
 
WRInaute discret
Merci à tous pour vos conseils.

Je suis conscient que la meilleur méthode serait de tout repasser en dynamique, mais cela prendrait un temps fou, et on a malheureusement pas le budget pour !

Je vais essayer de me tourner vers la solution de UsagiYojimbo.

@UsagiYojimbo >> si tu pouvais m'en dire un peu plus sur cette méthode ça m'intéresserait bien.

Je ne pose pas souvent de questions sur ce forum mais là je suis totalement à la rue.
Encore merci.
 
WRInaute accro
Insère déjà ces deux lignes dans un fichier .htaccess à la racine du site (en espérant que tu sois bien sur un serveur Apache, sur ISS je ne saurai trop comment faire) :

Code:
AddType application / x-httpd-php. html
addtype application/x-httpd-php .htm AddType application / x-httpd-php. htm

Puis, à l'aide de Dreamweaver, dans lequel tu auras paramétré ton site, tu fais un rechercher/remplacer (en espérant que toutes tes pages sont structurées de la même façon) sur la première chaîne présente dans le code html de l'une d'elle,

par exemple :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

et tu remplaces cette chaine par (par exemple ) :

<?php include("traitement.php"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Ca te permettra de rapidement rajouter en en-tête de tes pages un include identique, dans lequel tu pourras coder le traitement voulu.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut