Version 03












A propos du Index.php
<?php
// Récupération de tous les fichiers dans le répertoire "articles"
$articles = glob("articles/article*.html"); // Trouve tous les fichiers "articleXX.html"
?>
<?php include 'template_part/_head.html'; ?> <!-- Inclut la partie <head> -->
<?php include 'template_part/_header.html'; ?> <!-- Inclut le header -->
<h2>Boucle d'article de la HomePage</h2>
<hr> <!-- Séparateur -->
<?php
// Vérifie si des articles ont été trouvés
if (!empty($articles)) {
// Boucle pour afficher le contenu de chaque article
foreach ($articles as $article) {
// Extraction du numéro d'article depuis le nom du fichier
preg_match('/article(\d+)\.html$/', $article, $matches);
$articleNumber = $matches[1];
?>
<div>
<?php include $article; ?> <!-- Inclut le contenu de l'article -->
<a href="single.php?article=<?php echo $articleNumber; ?>">Lire la suite</a>
</div>
<hr> <!-- Séparateur entre les articles -->
<?php
}
} else {
// Message affiché si aucun article n'est trouvé
echo "<p>Aucun article disponible pour le moment.</p>";
}
?>
<?php include 'template_part/_footer.html'; ?> <!-- Inclut le footer -->Explication de la logique du code
Dès que la page s’affiche, le programme commence par chercher tous les fichiers qui contiennent les articles dans le dossier articles/. Ces fichiers sont des pages HTML, et le programme regarde s’ils suivent un nom précis, comme article01.html, article02.html, etc.
Ensuite, il vérifie si des articles ont été trouvés. S’il n’y a aucun fichier correspondant, un message apparaît pour dire : « Aucun article disponible pour le moment. » Cela évite que la page reste vide.
Si des articles existent, le programme commence à les parcourir un par un. Pour chaque article, il fait deux choses importantes :
- Il extrait le numéro de l’article (par exemple, « 01 » ou « 02 ») à partir du nom du fichier.
- Il affiche le contenu de l’article sur la page.
Après avoir affiché un article, il ajoute un bouton « Lire la suite ». Ce bouton est un lien qui permet d’accéder à la page individuelle de cet article.
Pour que tout soit bien organisé, une ligne horizontale est insérée entre chaque article. À la fin, le pied de page du site est ajouté.
A propos de single.php
<?php
// Vérifie si un numéro d'article est fourni dans l'URL
if (isset($_GET['article'])) {
$articleNumber = $_GET['article']; // Récupère le numéro d'article
// Construction du chemin vers le fichier article correspondant
$articleFile = "articles/article" . htmlspecialchars($articleNumber) . ".html";
// Vérification : Si le fichier existe, on l'utilise. Sinon, on dirige vers _404.html
if (file_exists($articleFile)) {
$articleToInclude = $articleFile; // Article valide
} else {
$articleToInclude = "template_part/_404.html"; // Page 404
}
} else {
// Si aucun numéro n'est fourni, on dirige directement vers _404.html
$articleToInclude = "template_part/_404.html";
}
?>
<?php include 'template_part/_head.html'; ?> <!-- Inclut la partie <head> -->
<?php include 'template_part/_header.html'; ?> <!-- Inclut le header -->
<?php include $articleToInclude; ?> <!-- Inclut l'article ou la page 404 dynamiquement -->
<?php include 'template_part/_footer.html'; ?> <!-- Inclut le footer -->
Explication de la logique du code
Lorsque quelqu’un clique sur un lien pour lire un article, le script commence par vérifier : « Est-ce qu’un numéro d’article a été envoyé dans l’adresse (URL) ? ». Ce numéro, comme ?article=02, permet de savoir quel article afficher.
Si un numéro d’article est trouvé, le programme construit le chemin vers le fichier correspondant, par exemple : articles/article02.html. Ensuite, il vérifie si ce fichier existe bien dans le dossier articles.
- Si le fichier existe, le programme décide : « Super, on peut afficher cet article ! ».
- Si le fichier n’existe pas, le programme comprend : « Ah non, cet article n’est pas disponible », et il se prépare à afficher une page d’erreur (
template_part/_404.html).
Si aucun numéro d’article n’a été envoyé dans l’adresse, le programme ne cherche même pas d’article. Il choisit directement d’afficher la page d’erreur.
Enfin, après avoir décidé quel contenu afficher (l’article ou la page d’erreur), le programme organise la page :
- Il inclut la partie
_head.htmlpour les métadonnées et les styles. - Il ajoute
_header.htmlavec le titre et le menu. - Il affiche soit l’article demandé, soit la page d’erreur.
- Il termine avec
_footer.html