L'informatique, c'est pas magique
Une page web est constitué d'un ficher maître qui est un ficher texte écrit en html, et d'un certain nombre de fichiers annexes qui lui sont liés (ex. images insérées dans le texte).
HTML est l'acronyme de HyperText Markup Language, à savoir Langage hypertexte à balises.
feuilles de style) car l'important en html est la structuration de l'information, non son apparence.
exemple de page web minimaliste :
<html> -- début de de la page <head> -- début de l'entête de page <title>Titre de la page</title> </head> -- fin de l'entête de page <body> -- début du corps de la page <h1>Ceci est un titre de niveau 1</h1> <p>Ceci est un paragraphe simple</p> <p>Ceci est une autre paragraphe dans lequel j'insère une image <img src="nom du fichier image"></p> <h2>Ceci est est un titre de niveau 2</h2> <ul> -- début de liste non numérotée <li>ceci est un item de la liste</li> <li>ceci est un autre item de la liste</li> <li>ceci est encore un item de la liste</li> </ul> -- fin de liste non numérotée </body> -- fin du corps de la page </html> -- fin de de la page
hyperliens) qui d'une page pointent vers une autre (ou vers tout autre fichier). En pratique, tout élément d'une page (bribe de texte, image, etc.) peut être incorporé dans une balise html particulière appelée
ancrequi indiquera le nom du fichier lié. Une fois affichée dans le navigateur, l'ancre aura une apparence particulière (coloration, surbrillance, soulignement, encadrement, etc.) qui la signalera comme telle à l'utilisateur. Il suffira à celui-ci de cliquer sur l'ancre pour provoquer le rapatriement et l'affichage du fichier lié.
exemple :
<p>Ceci est un paragraphe dans lequel <a href="toto.html">cette portion de texte est une ancre</a>. Cliquer dessus provoquera l'affichage du fichier toto.html.</p>
Le langage html répond à un standard international qui garantit que le contenu des pages respectant le standard sera correctement présenté par tout navigateur, sur toute machine et sous tout système d'exploitation. Pour autant, certains constructeurs ont développé des extensions, voir des non-conformités au standard, qui ne sont comprises que de leur propre navigateur : c'est essentiellement le cas de Microsoft et de son navigateur Internet Explorer.
Pour construire une page html, il suffit d'en écrire le code (comme ci-dessus) avec un éditeur de texte, et d'en vérifier le résultat en ouvrant la page avec un navigateur. Néanmoins, pour ceux qui ne souhaitent pas apprendre la syntaxe html, il existe des outils dédiés, appelés éditeurs html
, qui a minima fournissent une aide pour la rédaction (assistance à l'introduction des balises), voir fournissent une interface visuelle WYSIWYG et prennent totalement en charge la génération du code html. Dans ce cas, on ne maîtrise pas la conformité au standard du code html généré, et l'on peut se trouver en butte avec des éléments qui ne s'affichent pas ou de façon incorrecte selon la plateforme cliente utilisée.
Pour aller plus loin, voir Faire un site web.
HTML est le langage d'origine du web, et en reste le langage de base. Comme on peut le voir dans l'exemple, tout est déterminé dans la page html - contenu, comportement -, c'est pour cela que l'on appelle les sites uniquement construits avec html des sites web statiques
.
Mais très vite, on a voulu faire des choses plus dynamiques
: permettre à l'utilisateur d'interagir, modifier les données présentées en fonction de cette interaction, connecter le site web à une base de donnée, à un processus ou une application informatique complexe (dans ce cas, le site web est devenu une interface utilisateur à distance pour une application, comme une commande de billet de train par exemple).
Pour ce faire, on a recours à d'autres langages que html, à sa place ou en combinaison avec lui. Pour la plupart, ce sont ce qu'on appelle des langages de script
car ils permettent d'écrire de petits programmes (les scripts
) qui sont exécutés à la volée dès qu'on les sollicite (par exemple par un clic sur un lien hypertexte).
Il en existe de 2 sortes :
client side: le script est embarqué dans la page html et exécuté sur l'ordinateur de l'utilisateur quand elle est récupérée et affichée par le navigateur, ce qui permet un niveau de traitement assez limité ; le plus connu est Javascript.
server side: le script est exécuté sur le serveur quand il reçoit la requête (cf. Le protocole HTTP) et ce qui est renvoyé à l'utilisateur - le plus souvent sous la forme d'une page html - est le résultat de l'exécution du script (par exemple, résultat d'une requête d'extraction dans une base de donnée) ; on comprend que la capacité de traitement est beaucoup plus étendue - parmi les plus connus citons php, perl et python, tous issus du monde du logiciel libre.
C'est sur la base de scripts server side
que fonctionnent des outils appelés Content Management Systems
ou CMS, qui s'appuient généralement sur un langage de script et une base de donnée, et qui permettent de créer des blogs ou des sites web à rédaction collaborative, sans avoir à écrire une ligne de code html ou d'un autre langage. Exemples : SPIP, Drupal, Joomla, Zope, WordPress.