Quel est le but du fichier index.php ?

From Joomla! Documentation

This page is a translated version of the page What is the purpose of the index.php file? and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français

Le fichier index.php est le squelette du site. Chaque page que Joomla! affiche est l' "index.php" étoffé d'une sélection de contenu inséré dans la base de données.

Le fichier index.php d'un template contient un mélange de code qui s'affichera tel quel, et du code php, qui sera modifié avant d'être affiché. Le code est familier à toute personne ayant déjà créé une simple page web en HTML : il y a deux sections principales - <head> et <body>. L'index.php est différent dans le sens où il utilise du code php pour insérer les informations sélectionnées à partir d'une base de données.

Voici un exemple :

Une section entête (head) HTML traditionnelle :

<head>
<title>My Example Webpage</title>
<meta name="title" content="example" />
<link rel="stylesheet" href="www.example.com/css/css.css" type="text/css" />
</head>

Et la même chose façon Joomla :

<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>templates/mytemplate/css/css.css" type="text/css" />
</head>

Ainsi, au lieu de définir ces parties d'en-tête dans le fichier index.php, les parties d'en-tête sont recherchées dans la base de données grâce à du code PHP. Et ces deux scripts vont délivrer le même code à un utilisateur. Si vous regardez le code d'un site web Joomla, tout le <?php bla /> aura été remplacé par un code html traditionnel.

La bonne conception d'un template

index.php doit, autant que faire se peut, aller à l'essentiel, car il sera renvoyé à chaque fois qu'une nouvelle page est chargée. Les éléments tels que les styles doivent être inclus dans les fichiers CSS, qui sont enregistrés dans le cache des utilisateurs. Les présents tutoriels vont passer en revue les aspects techniques de la création de votre index.php.

Pourquoi index.php ?

Index.htm a toujours été le nom donné historiquement à la page d'accueil d'un site web. Ainsi, lorsqu'un utilisateur accède à www.exemple.org, le serveur web délivre www.exemple.org/index.htm. Joomla! étant écrit en PHP, index.php est le fichier automatiquement délivré. Pour compliquer un peu plus les choses, lorsqu'un utilisateur navigue sur le site Joomla, l'index.php du répertoire racine redirige vers l'index.php du template utilisé par défaut.