Depuis la classe de Première, tu maîtrises les fondations du HTML5 et du CSS3. En Terminale, il s'agit de consolider ces briques pour produire des pages non seulement valides, mais réellement professionnelles : structure sémantique claire, mise en page fluide, formulaires ergonomiques.
Le HTML5 a introduit des balises sémantiques qui décrivent le rôle d'une zone de la page plutôt qu'un simple conteneur générique (<div>) : <header>, <nav>, <main>, <section>, <article>, <aside> et <footer>. Il a aussi enrichi les formulaires avec de nouveaux types de champ (email, date, number, tel) et des attributs de validation natifs comme required ou pattern, qui évitent d'écrire du code de vérification supplémentaire pour les cas les plus simples.
Le module CSS Flexbox permet d'aligner et de répartir des éléments dans un conteneur, sans recourir aux anciennes techniques de positionnement (flottants, tableaux détournés). Il est idéal pour organiser des cartes, un menu ou un pied de page.
La propriété display: flex transforme le conteneur en flex container ; gap espace les cartes ; flex-wrap: wrap autorise le retour à la ligne sur petit écran, ce qui rend la page responsive sans média-requêtes complexes.
Le JavaScript est le langage qui donne vie au frontend : il réagit aux actions de l'utilisateur et modifie la page sans recharger. En Terminale, tu approfondis trois piliers : les structures conditionnelles, la gestion des événements et l'écriture de petites fonctions réutilisables.
Un événement est une action détectée par le navigateur : un clic, une saisie clavier, l'envoi d'un formulaire... La méthode addEventListener() permet d'y réagir sans mélanger le HTML et le JavaScript.
Découper son code en petites fonctions rend le programme plus lisible et plus facile à réutiliser.
Avant d'envoyer un formulaire au serveur, on vérifie généralement que les champs obligatoires ne sont pas vides. Cela évite des allers-retours inutiles et guide l'utilisateur immédiatement.
Le frontend désigne tout ce qui s'exécute dans le navigateur de l'utilisateur (HTML, CSS, JavaScript) : c'est la partie visible et interactive du site. Le backend, à l'inverse, désigne le code qui s'exécute côté serveur, avant que la page ne soit envoyée au navigateur : il traite les données, interroge une base de données, vérifie un mot de passe, génère du contenu personnalisé...
Le langage PHP reste l'un des plus accessibles pour démarrer en programmation côté serveur : il s'intègre directement dans des fichiers HTML et s'exécute sur le serveur avant l'envoi de la page.
Le code placé entre <?php et ?> est exécuté sur le serveur ; seul le résultat (ici le texte affiché) est envoyé au navigateur. L'utilisateur ne voit jamais le code PHP lui-même, contrairement au JavaScript qu'il peut inspecter dans son navigateur.
Node.js permet d'exécuter du JavaScript côté serveur, en dehors du navigateur. Son intérêt principal : utiliser le même langage pour le frontend et le backend d'un même projet. Il est très employé pour des sites modernes et des applications en temps réel, mais son apprentissage est plus progressif que celui du PHP pour un premier projet de site dynamique.
Une base de données est un espace de stockage structuré, organisé en tables, utilisé côté serveur pour conserver les informations d'un site : comptes utilisateurs, articles publiés, messages de contact, commandes... MySQL est l'un des systèmes de gestion de bases de données (SGBD) les plus répandus pour les sites web, en particulier associé à PHP.
Une table MySQL ressemble à un tableau : chaque ligne est un enregistrement, chaque colonne un champ.
Côté PHP, on établit d'abord une connexion conceptuelle au serveur MySQL, puis on envoie des requêtes.
L'instruction SELECT nom, email FROM utilisateurs demande à la base de renvoyer les colonnes nom et email de tous les enregistrements de la table utilisateurs.
Un hébergement web est un espace de stockage sur un serveur distant, accessible en permanence sur internet, où sont déposés les fichiers de ton site (pages HTML, CSS, JavaScript, PHP, base de données). Un nom de domaine (par exemple monsite.cg) est l'adresse lisible qui permet aux visiteurs d'atteindre cet hébergement, à la place d'une adresse IP difficile à retenir.
messages.Écris le code HTML et CSS permettant d'afficher trois cartes côte à côte (par exemple trois activités d'un club scolaire), alignées horizontalement et réparties uniformément grâce à Flexbox.
flex: 1 1 30% indique à chaque carte de faire environ un tiers de la largeur du conteneur, tout en pouvant rétrécir ou grandir selon l'espace disponible ; flex-wrap: wrap permet aux cartes de passer à la ligne sur un écran étroit.
Un formulaire d'identifiant #monFormulaire contient un champ #pseudo. Écris un script JavaScript qui empêche l'envoi du formulaire si ce champ est vide, et qui affiche une alerte à l'utilisateur.
La méthode preventDefault() bloque l'envoi réel du formulaire tant que la condition n'est pas respectée ; trim() supprime les espaces avant de tester la longueur, pour éviter qu'une saisie de simples espaces soit acceptée comme valide.
Explique, avec un exemple simple en PHP, la différence entre le frontend et le backend d'un site web.
Le frontend regroupe le HTML, le CSS et le JavaScript exécutés directement dans le navigateur de l'utilisateur : ce code peut être consulté via l'outil « Afficher le code source ». Le backend regroupe le code exécuté sur le serveur, avant l'envoi de la page : l'utilisateur n'y a jamais accès directement, seul le résultat final lui parvient.
Ici, le serveur calcule l'heure et choisit le message avant d'envoyer la page : le navigateur ne reçoit que le texte final ("Bonjour !" ou "Bonsoir !"), jamais le code PHP ni la logique de calcul. C'est un traitement backend. Si l'on voulait faire ce même choix côté navigateur, à partir de l'heure de l'utilisateur, on écrirait ce test en JavaScript : ce serait alors un traitement frontend.
Conçois le plan complet d'un site web personnel de fin d'études : liste les pages nécessaires, décris le contenu du formulaire de contact, et propose la structure d'une table MySQL pour enregistrer les messages reçus.
Pages du site :
index.html — page d'accueil : présentation personnelle, photo, courte biographie.projets.html — présentation de réalisations (portfolio scolaire, exposés, projets techniques).contact.html — formulaire de contact.Formulaire de contact : champs Nom, E-mail, Message, tous validés en JavaScript avant l'envoi (aucun champ vide), puis transmis à un script PHP traitement.php.
Le script traitement.php reçoit les données envoyées par le formulaire, les enregistre dans la table messages à l'aide d'une requête INSERT INTO, puis affiche une confirmation à l'utilisateur. L'ensemble des fichiers (HTML, CSS, JS, PHP) est ensuite transféré vers l'hébergement à l'aide d'un client FTP.
10 questions · Correction immédiate
Quelle balise HTML5 doit être utilisée pour désigner le contenu principal et unique d'une page ?
En Flexbox, quelle propriété CSS aligne les éléments enfants le long de l'axe principal du conteneur ?
En JavaScript, quel mot-clé permet d'exécuter un bloc de code lorsqu'une condition précédente est fausse ?
Quelle méthode JavaScript permet d'écouter un événement (clic, envoi, etc.) sur un élément du DOM ?
Que désigne le terme « backend » dans le développement web ?
Quelle syntaxe permet d'afficher du texte à l'écran en PHP ?
MySQL est un système de gestion de...
Quelle instruction SQL permet de récupérer des données stockées dans une table ?
Qu'est-ce qu'un nom de domaine ?
À quoi sert un client FTP comme FileZilla lors de la mise en ligne d'un site ?