Site web MAJ

Résolu
tiib0w Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   -  
dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,


Je cherche à modifier simplement une page d'un site web:

Sa fait longtemps que je cherche/test mais je ne trouve toujours pas ce qu'il me faut


En fait j'ai créer un site pour une personne qui n'y connait rien en HTML/CSS mais sur ce site la page Boutique doit être mise à jour régulièrement. Cette personne souhaite devenir indépendante, non dépendante de moi en tout cas.


J'ai trouvé plusieurs solutions mais aucune vraiment n'ont fonctionner: CMS, PHP



Conseillez moi, SVP
A voir également:

15 réponses

dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452
 
Bonjour,

Je t'ai répondu dans ton autre message :

http://www.commentcamarche.net/forum/affich 6499640 cms#dernier

et je te propose une solution :

Bonjour,

Je ne sais pas si tu as réussi à créer ton espace administration de ton site, pour t'aider, j'ai fait un petit tutoriel, qui peut aussi servir à d'autres :

Pour créer une interface de gestion de son site, il faut d'abord créer l'espace d'administration.



ESPACE D'ADMINISTRATION

Il y a plusieurs façon de procéder, j'ai choisi d'utiliser les sessions.

Créer un dossier "admin" et placer un fichier "mdp.php" qui contient ceci :

<?php
$mdpAdministrateur = "toto";
?>


(toto étant le mot de passe, il est bien sûr possible et conseillé de le changer)

Il faut protéger le dossier "admin" avec un fichier ".htaccess", qui contient ceci :
<Limit GET POST>
order deny,allow
deny from ALL
</Limit>


et avec un fichier "index.php" qui contient ceci :

<?php header("location:../index.php"); ?>


A la racine du site.

Créer un fichier admin.php et placer ce script :

<?php
session_start();

/******************************************************************************

  Accès à l'espace d'administration

******************************************************************************/

//On récupère le fichier "mdp.php" où se trouve le mot de passe
require_once("admin/mdp.php");


if ($maint == 1) 
{
header("location: index.php");
}

empty($_POST['mdp']) ? $mdp = '' : $mdp = $_POST['mdp'];
empty($_GET['logout']) ? $logout = '' : $logout = $_GET['logout'];

$PageAdmin = "";

if ($mdp == $mdpAdministrateur) {
$PageAdmin = "adminok";
$_SESSION['PageAdmin'] = "adminok" ;
}

elseif ($logout == 1) {
unset($_SESSION['PageAdmin']);
header("location: index.php");
}

if (session_is_registered("PageAdmin") || $mdp == $mdpAdministrateur) {

//Afficher ici la page et les liens vers les autres fichiers de l'espace d'administration
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Admin</title>
</head>
<body>

<p style="text-align: center"><b>ADMINISTRATION DU SITE</b></p>

<p style="text-align: center"><a href="edito.php"><b>Editorial</b></a></p>

<hr>

<p style='text-align:center'><a href='admin.php?logout=1'><b>D&eacute;connexion</b></a>||<a href="index.php">Retour Accueil</a></p>

</body>
</html>

<?php

}

else {
          
// Si la connexion est fermée on affiche le formulaire d'authentification

//-----------------------------------------------------------------------------
// Formulaire de saisie du mot de passe
//-----------------------------------------------------------------------------

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Admin</title>
</head>
<body>

<p style="text-align: center"><b>AUTHENTIFICATION POUR ACCES A L'ESPACE ADMINISTRATION</b></p>
<div style="text-align: center">
<form action="admin.php" method="post" name="le_pass">
<p><b>Veuillez saisir le mot de passe :</b></p>
<b><input type="password" name="mdp" maxlength="10"></b>
<p><input type="submit" value="Connexion" class='bouton'></p>
</form>
<script type="text/javascript">document.le_pass.mdp.focus();</script>
</div>
</body>
</html>

<?php
}
?>




Sur chaque page de l'administration du site, il faut placer en début de fichier :

<?php
session_start();

if(!isset($_SESSION['PageAdmin']))
{
	header("location:admin.php"); // redirection
	exit; // arrêt du script
}

?>


et placer en fin de fichier le lien de déconnexion :


<?php
echo("<hr>");
echo("<p style='text-align:center'><a href='admin.php?logout=1'><b>D&eacute;connexion</b></a></p>");
?>



La zone d'administration est crée, il faut maintenant créer les formulaires de mise à jour des pages du site.


Créer un dossier "data" à la racine du site, il contiendra les fichiers texte.

Pour cet exemple, créer un fichier "edito.txt", vierge.

Il faut le protéger avec un fichier ".htaccess", qui contient ceci :
<Limit GET POST>
order deny,allow
deny from ALL
</Limit>


et avec un fichier "index.php" qui contient ceci :

<?php header("location:../index.php"); ?>




Pour faciliter l'écriture des articles, nous allons utiliser FCKeditor.
Télécharger la dernière version :

https://ckeditor.com/

Décompresser l'archive à la racine du site dans un dossier "fckeditor".

Il est possible de modifier la configuration de cet éditeur de texte dans deux fichiers :

"fckconfig.js" et "fckeditor.js".

Dans "fckconfig.js" il est possible de créer une "toolbar" personnalisée, par exemple.

Dans "fckeditor.js" il est possible de modifier le formulaire, par exemple les dimensions.



Création d'une page de mise à jour, avec un formulaire dans une page en Html et Php :


Créer un fichier en Php, par exemple pour mettre à jour la page d'accueil, "edito.php".

Placer ce script à l'intérieur :


Partie en Php

<?php
session_start();

if(!isset($_SESSION['PageAdmin']))
{
	header("location:admin.php"); // redirection
	exit; // arrêt du script
}

// Enregistrement des modifications dans le fichier texte

empty($_POST['edito']) ? $edito = '' : $edito = $_POST['edito'];
$edito= str_replace("\'", "'",$edito);


if (isset($_POST['edito'])) {
  file_put_contents("data/edito.txt", $edito);
}



// Initialisation des variables pour l'affichage du contenu dans le formulaire
$contenu = file_get_contents("data/edito.txt");
$contenu = str_replace("\'", "'",$contenu);

?>


Partie en Html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Edito</title>
</head>
<body>

<!--
Script d'affichage de FCKeditor
-->
<script type="text/javascript" src="fckeditor/fckeditor.js"></script>
<script type="text/javascript">
      window.onload = function()
      {
         var oFCKeditor = new FCKeditor("edito") ;
oFCKeditor.ToolbarSet = "Default" ;
         oFCKeditor.BasePath = "fckeditor/" ;
         oFCKeditor.ReplaceTextarea() ;
      } 
</script>



<!--
Formulaire d'écriture du texte
-->
<div class="center">
<form action="edito.php" method="POST">
<p><textarea cols="60" rows="10" name="edito" id="edito"><?php echo $contenu; ?></textarea></p>
<p style="text-align: center"><input type="submit" value="Enregistrer" class='bouton'></p>
</form>
</div>

<hr>

<p style='text-align:center'><a href='admin.php?logout=1'><b>D&eacute;connexion</b></a>||<a href="admin.php">Retour Admin</a></p>

</body>
</html>





AFFICHAGE DU CONTENU DANS LES PAGES DU SITE

Dans les pages du site, qui devront être en Php, il faut insérer le contenu du fichier texte, dans une page en php/html, "index.php" de cette manière :

Par exemple pour la page d'accueil "editorial", à l'endroit où on souhaite afficher le texte :


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Accueil</title>
</head>
<body>

<p style="text-align: center;">PAGE D'ACCUEIL</p>

<p style="text-align: center;"><a href="admin.php">Administration</a></p>

<p style="text-align: center;">Editorial</p>

<div style="text-align: center;">

<?php

//On récupère le contenu du fichier texte
$edito = file_get_contents("data/edito.txt");

//On nettoie le contenu du fichier texte du problème des apostrophes
$edito= str_replace("\'", "'",$edito);

//On affiche le contenu du fichier texte
echo $edito; 

?>

</div>

</body>
</html>



Bon j'espère que je n'ai rien oublié, j'ai testé ce script en local avec Php5, il fonctionne.

Bon courage.
0
tiib0w Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   11
 
Désolé j'avais pas vu la réponse



Mais ton tutoriel est excellent, je teste tout de suite.



MERCI
0
tiib0w Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   11
 
Alors, ton tutoriel est vraiment bien fait

Mais je n'ai pas réussi à te suivre vers la fin.


Tu peux m'expliquer sans le code la procédure ?
0
dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452
 
Il faut pratiquer en plusieurs étapes.

1ère étape :
D'abord créer l'espace d'administration, qui est un espace virtuel, géré par des sessions.
Il se compose d'un fichier "admin.php", situé à la racine du site, c'est ce fichier qui ouvre la session.

Il a besoin du fichier "mdp.php", situé dans un dossier "admin", protégé.

2ème étape :
L'espace d'administration se compose également de fichiers contenant un formulaire d'écriture dans un fichier texte, situé lui-même dans un dossier protégé, "data".

Ce fichier texte, contiendra le contenu des pages de ton site.

3ème étape :
Dans mon exemple, je ne mets à jour que la page d'accueil du site (index.php), mais le principe est le même pour toutes les pages, il suffit d'utiliser autant de fichiers en Php de mise à jour et de fichiers texte que de pages de ton site à mettre à jour.

La fin du tutoriel concerne l'affichage du texte contenu dans le fichier "edito.txt", dans ta page d'accueil (index.php).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452
 
Je te conseille de créer un site de test avec les fichiers de mon exemple, pour mieux comprendre le principe, ensuite tu n'auras plus qu'à l'appliquer à ton site actuel.
0
tiib0w Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   11
 
Voila j'ai essayé mais toujours rien,

Bizzarement, je n'est pas touché au MDP mais quand je clique sur le bouton il revient sur la meme page pourtant j'ai le bon pass.



tu peux m'expliquer la prodédure un peu plus détaillé ?


J'ai tous mis dans un dossier "test":

Racine du site: index.html ("site"), index.php, edito.php, admin (dossier), data (dossier).

Admin: .htaccess, admin.php, index.php, mdp.php

Data: .htaccess, edito.txt, index.php.


Certains liens sont morts car ils n'ont pas le bon chemin, autrement dans les script du type "location: ../index.php", dois je compéter les deux points ?


Merci encore
0
tiib0w Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   11
 
j'avais pas vu l'edit, j'ai dans un premier temps changé admin.php de place
0
dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452
 
Bonsoir,

A la racine, il ne doit pas y avoir de fichier "index.html", puisqu'il y a un fichier "index.php".
Si le fichier "index.html" est celui de ton site, il faut le renommer en "index.php" et intégrer le script en php du fichier "index.php".

Donc, à la racine, il doit y avoir, les fichiers "index.php", "admin.php et edito.php, et les dossiers "admin", "data" et "fckeditor".

Le dossier "admin" contient les fichiers, "index.php", ".htaccess" et "mdp.php".
Le dossier "data" contient les fichiers "index.php", ".htaccess" et "edito.txt".
Le dossier "fckeditor" contient les dossiers et les fichier de l'éditeur de texte.

Pour ce qui est des deux points dans les fichiers "index.php" se trouvant dans les dossiers "admin" et "data", c'est normal, c'est pour remonter d'un répertoire.

A+
0
tiib0w Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   11
 
Voila, je pense avoir enfin une installation correcte


Mais le coup du MDP ne marche toujours pas, il me renvoie sur la même page


Sinon c'est quoi "éditoriale" sur la page d'accueil, j'y suis allé, j'ai bien testé FCKeditor mais sa ne modifie aucun fichier.



Merci
0
dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452
 
Editorial est le nom que je donne à la variable qui affiche le texte en page d'accueil. Je lui ai donné ce nom arbitrairement, parce que c'est en général en page d'accueil que l'on écrit un éditorial.

En ce qui concerne le mot de passe, je ne comprends pas, quand je teste en local, ça fonctionne parfaitement.
Ce n'est d'ailleurs pas le point le plus délicat du script.

Vérifie que le fichier est bien "mdp.php" en minuscules, et que le contenu est bien exactement :

<?php
$mdpAdministrateur = "toto";
?>


De plus, le mot de passe à écrire dans le formulaire d'authentification est : toto en minuscule et sans guillemet.
0
tiib0w Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   11
 
Toujours pas, j'ai refait une installation complète mais toujours rien :'(


Je crois que je vais me mettre au PHP et essayé de le faire autrement, à moins que tu es un tutoriel différent quelque part ^^


Peut-être un script de news ferait il l'affaire ?


Merci
0
dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452
 
Je ne vois pas ce que tu n'arrives pas à faire, le script fonctionne parfaitement.

Quel serveur web utilises-tu ?

Je te redonne les fichiers et leur contenu :

A la racine du site

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>index</title>
</head>
<body>
<p style="text-align: center;">PAGE D'ACCUEIL</p>

<p style="text-align: center;"><a href="admin.php">Administration</a></p>

<p style="text-align: center;">Editorial</p>

<div style="text-align: center;">
<?php

//On récupère le contenu du fichier texte
$edito = file_get_contents("data/edito.txt");

//On nettoie le contenu du fichier texte du problème des apostrophes
$edito= str_replace("\'", "'",$edito);

//On affiche le contenu du fichier texte
echo $edito; 

?>
</div>
<br>
</body>
</html>


admin.php

<?php
session_start();
/******************************************************************************

  Accès à l'espace d'administration

******************************************************************************/

//Dans le fichier "mdp.php" se trouve le mot de passe
require_once("admin/mdp.php");


if ($maint == 1) 
{
header("location: index.php");
exit; 
}

empty($_POST['mdp']) ? $mdp = '' : $mdp = $_POST['mdp'];
empty($_GET['logout']) ? $logout = '' : $logout = $_GET['logout'];

$PageAdmin = "";

if ($mdp == $mdpAdministrateur) {
$PageAdmin = "adminok";
$_SESSION['PageAdmin'] = "adminok" ;
}
elseif ($logout == 1) {
unset($_SESSION['PageAdmin']);
header("location: index.php");
exit; 
}

if (session_is_registered("PageAdmin") || $mdp == $mdpAdministrateur) {

//Afficher ici la page et les liens vers les autres fichiers de l'espace d'administration
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Admin</title>
</head>
<body>
<p style="text-align: center"><b>ADMINISTRATION DU SITE</b></p>
<p style="text-align: center"><a href="edito.php"><b>Editorial</b></a></p>
<hr>
<p style='text-align:center'><a href='admin.php?logout=1'><b>D&eacute;connexion</b></a>||<a href="index.php">Retour Accueil</a></p>
</body>
</html>

<?php
}
else {
        
// Si la connexion est fermée on affiche le formulaire d'authentification

//-----------------------------------------------------------------------------
// Formulaire de saisie du mot de passe
//-----------------------------------------------------------------------------

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Admin</title>
</head>
<body>
<p style="text-align: center"><b>AUTHENTIFICATION POUR ACCES A L'ESPACE ADMINISTRATION</b></p>
<div style="text-align: center">
<form action="admin.php" method="post" name="le_pass">
<p><b>Veuillez saisir le mot de passe :</b></p>
<b><input type="password" name="mdp" maxlength="10"></b>
<p><input type="submit" value="Connexion" class='bouton'></p>
</form>
<script type="text/javascript">document.le_pass.mdp.focus();</script>
</div>
</body>
</html>
<?php
}
//-----------------------------------------------------------------------------

?>


edito.php

<?php
session_start();

if(!isset($_SESSION['PageAdmin']))
{
	header("location:admin.php"); // redirection
	exit; // arrêt du script
}

// Enregistrement des modifications dans le fichier texte

empty($_POST['edito']) ? $edito = '' : $edito = $_POST['edito'];
$edito= str_replace("\'", "'",$edito);


if (isset($_POST['edito'])) {
  file_put_contents("data/edito.txt", $edito);
}

// Initialisation des variables pour l'affichage du contenu dans le formulaire
$contenu = file_get_contents("data/edito.txt");
$contenu = str_replace("\'", "'",$contenu);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Edito</title>
</head>
<body>

<!--
Script d'affichage de FCKeditor
-->
<script type="text/javascript" src="fckeditor/fckeditor.js"></script>
<script type="text/javascript">
      window.onload = function()
      {
         var oFCKeditor = new FCKeditor("edito") ;
oFCKeditor.ToolbarSet = "Default" ;
         oFCKeditor.BasePath = "fckeditor/" ;
         oFCKeditor.ReplaceTextarea() ;
      } 
</script>



<!--
Formulaire d'écriture du texte
-->
<div class="center">
<form action="edito.php" method="POST">
<p><textarea cols="60" rows="10" name="edito" id="edito"><?php echo $contenu; ?></textarea></p>
<p style="text-align: center"><input type="submit" value="Enregistrer" class='bouton'></p>
</form>
</div>
<hr>
<p style='text-align:center'><a href='admin.php?logout=1'><b>D&eacute;connexion</b></a>||<a href="admin.php">Retour Admin</a></p>
</body>
</html>


Dans le dossier admin :

.htaccess

<Limit GET POST>
order deny,allow
deny from ALL
</Limit>


index.php

<?php header("location:../index.php"); ?>


mdp.php

<?php
$mdpAdministrateur = "toto";
?>


Dans le dossier data :

.htaccess

<Limit GET POST>
order deny,allow
deny from ALL
</Limit>


index.php

<?php header("location:../index.php"); ?>


edito.txt

vierge

Dans le dossier fckeditor :

Le contenu de l'archive téléchargée sur le site https://ckeditor.com/
0
dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452
 
J'ai mis les fichiers du site de test dans une archive, à télécharger à cette adresse :

http://familypm.free.fr/404.php
0
tiib0w Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   11
 
Dugenou t'sais quoi, je t'aiime ^^


J'ai pris tes fichiers et tout a fonctionner au poil,


l'erreur ? tout simplement je suis une B*TE car je pensais que sans envoyer par FTP ou en local cela fonctionnerait

(comme quand je teste mes pages web, juste un double click sur le fichier)



Maintenant, j'essaie de modifier pour que ça convienne à mon site, c'est à dire modifier la page boutique.php



Je reviendrais surement avec plein de problème sur ce post ;)



MERCI
0
tiib0w Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   11
 
DUGENOU !!


Sa faisait lgts ^^


Je voudrais savoir si c'était possible de restreindre l'édition à un certain "bloc" sur la page ??


Car le texte se met sur mon design malgrès que j'aligne au centre donc si l'édition en se fait que dans la zone de texte c'est bon




Voila

@+
0
dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452
 
Bonsoir,

Utilise les balises <div> </div> pour structurer ta page.
0