5024 sujets

Sémantique web et HTML

Bonjour,

Mon site est en php, j'ai acheté une template en html5.
Ma question est la suivante, puis je enregistrer les pages ex: liste.htm (html5) en liste.php?

Le code html5 sera t il compatible?

Il est biensur possible de le faire avec des fichiers html mais en html5?

Merci pour vos réponses
Sophie
Modifié par etoiledumatin (24 Aug 2018 - 09:01)
Bonjour
Je ne sais pas ce que veut dire une extension html5. Pour autant que je sache il n’y a pas de produit qui fasse une différence entre .htm et .html, je suppose que .html5 ne doit pas faire de différence.
.php est pris en charge par le serveur qui "traque" les balises <?php ?> pour interpréter leur contenu et envoie le reste tel quel au navigateur client.
A mon avis appeler le fichier toto.php, toto.htm, toto.html ou toto.html5 ne doit rien changer au résultat
C'est une légende urbaine!

Le php se contente de générer des chaînes de caractères et même des données binaires, et il ne se préoccupe pas du contenu de ce qu'il génère.
Avec du php, on peut gérer n'importe quoi, du html, du css, du javascript, des images et autres choses.
De plus le php ne se préoccupe pas non plus des chaînes de caractères qui le contiennent: l'interpréteur php renvoie tels quels les caractères du fichier qui ne sont pas contenus dans des balises <?php ?> et n’interprète que ce qui se trouve dans ces balises.

Ce qui n'est pas supporté "nativement" en php, c'est la lecture d'un fichier contenant tu HTML5 par la fonction loadHTML: il émet un warning pour toutes les balises qui n'existaient pas avant HTML5, c'est dire qu'il y en a beaucoup!

Pour ne pas être enquiquiné par cette flopée de warnings, il suffit de mettre

$dom = new DOMDocument();
$errorReporting = error_reporting(E_ALL & ~E_WARNING);
$dom -> loadHTML($htmlText);
error_reporting($errorReporting);

On a alors un "arbre" DOMDocument correctement formaté dans la variable $dom, que l'on peut lire et modifier en utilisant les fonctions adéquates de la classe DOMDocument
voir http://php.net/manual/fr/class.domdocument.php
Pour faire simple.

Les deux sont interprétés par le navigateur. Aussi tu peux tout à faire créer un fichier
comme accueil.php, mettre du html dedans, et déclarer des balises PHP selon tes besoins sans faire du fichier en entier un fichier php.

Exemple :

<!-- TxtHint récupère la réponse d'une requête Ajax (échec ou succès envoi messsage -->
<div id="txtHint" style="margin:auto;display:block;margin-top:70px;"></div>
<select class="form-control space-bottom" id="send_to" style="margin:auto;display:block;margin-top:70px;width:275px"name="target" required>
<!-- Mon controlleur PHP récupère la liste des contacts et les place dans un SELECT html (destinataires possibles des messages) -->
<?php 
    foreach($contacts_rows as $key0 => $value0){
        $name = implode(' ',$value0);
        foreach($value0 as $key =>$value){
            if($key == 'email'){
                echo '<option " value="'.$value.'">'.$name.'</option>';
            }
        }
    }
?>
</select>
<div class ="container">

<!-- Le formulaire de saisie-->
<center style="color:#decba4">
    Saisissez le message à envoyer :<br> <textarea rows="8" cols="50" id="msg" name="content" value =""></textarea><br>

<!-- In inputhidden avec l'identifiant de l'utilisateur pour savoir qui envoie lors de la requête AJAX-->
    <input type="hidden" id="exp" name="sender" value="<?php echo $_SESSION['ID'];?>"/>

<!-- Le bouton qui lance la requête AJAX -->
    <input class = "button " style="margin-left:3%;background:#333333;color:#decba4;border:none" type="button" onclick = 'insertMessage()'name="msg_send" value="Envoyer"></center>
</div>

</body>
</html>

Modifié par Athos_is_coding (24 Aug 2018 - 13:54)