Les bases du web
Maîtrisez les technologies web de manière guidée et progressive : HTML, CSS, JavaScript, HTTP, CMS et architectures.
🧭 Sommaire de la formation
Introduction au développement web
🌐 Qu'est-ce que le web ?
Le web est comme une immense bibliothèque mondiale où chaque livre (site web) est écrit dans des langages spécifiques :
- 📰 HTML = La structure du livre (titre, chapitres, paragraphes)
- 🎨 CSS = La mise en page et le design (police, couleurs, mise en forme)
- ⚡ JavaScript = Les éléments interactifs (pages qui bougent, animations)
- 🚚 HTTP = Le système de livraison (comment le livre arrive chez vous)
- 🏪 Serveur = La librairie qui stocke tous les livres
🎯 Pourquoi apprendre le web ?
- 🌍 Omniprésent : Sites, apps, plateformes
- 💼 Opportunités : Métiers en forte demande
- 🚀 Créativité : Donner vie à ses idées
- 🔧 Accessibilité : Technologies ouvertes
- 💡 Innovation : Évolution permanente
🌟 Ce que vous allez maîtriser
- 📋 HTML : Structurer le contenu
- 🎨 CSS : Styliser et animer
- ⚡ JavaScript : Rendre interactif
- 🔗 HTTP : Comprendre les échanges
- 🏗️ Architectures : Organiser les projets
- 🔒 Sécurité : Protéger les applications
🌐 L'écosystème web moderne
Ce que voit l'utilisateur
La logique serveur
Stockage des informations
Communication entre services
🧠 À retenir
Une page statique renvoie toujours le même HTML, quelle que soit la personne ou le moment de la consultation. Une page dynamique est générée à la volée côté serveur ou modifiée côté client et varie selon l'utilisateur, les données ou le contexte (ex. tableau de bord, fil d'actualité, recherche).
Glossaire — Termes techniques du cours
Références rapides pour les notions mentionnées dans la formation.
🧩 Fondamentaux
- HTML : Langage de balisage qui structure le contenu d’une page (titres, paragraphes, images, liens).
- CSS : Langage de styles qui contrôle l’apparence (couleurs, tailles, mise en page, animations).
- JavaScript : Langage de programmation qui apporte l’interactivité côté navigateur.
- DOM : Représentation en arbre du document HTML manipulable en JavaScript.
- Frontend : Partie visible par l’utilisateur (HTML/CSS/JS dans le navigateur).
- Backend : Logique côté serveur (exécution, accès base de données, API).
- CMS : Système de gestion de contenu prêt à l’emploi (WordPress, Drupal, Joomla).
- Base de données : Système de stockage et de requête des informations (MySQL, PostgreSQL).
🌐 Réseau et HTTP
- Client : Le navigateur ou l’application qui envoie des requêtes.
- Serveur : La machine qui traite la requête et renvoie la réponse.
- URL : Adresse d’une ressource sur le web (schéma, domaine, chemin, paramètres).
- HTTP/HTTPS : Protocole d’échange de messages entre client et serveur (HTTPS chiffré par TLS).
- Requête/Réponse : Dialogue standard HTTP où le client demande et le serveur répond.
- Méthodes HTTP : GET (lire), POST (créer), PUT (remplacer), PATCH (modifier partiel), DELETE (supprimer), OPTIONS, HEAD.
- En‑têtes HTTP : Métadonnées de la requête/réponse (type de contenu, cache, auth...).
- Codes d’état : 2xx succès, 3xx redirections, 4xx erreur client, 5xx erreur serveur.
🔗 API et données
- API : Point d’accès permettant à des applications de communiquer entre elles.
- REST : Style d’API utilisant les verbes HTTP et des ressources adressables.
- JSON : Format texte léger pour échanger des données clé‑valeur.
- Formulaire : Ensemble de champs envoyés au serveur pour traitement.
- Cookie : Petit fichier stocké par le navigateur pour persistance côté client.
- Session : État utilisateur maintenu côté serveur et identifié par un cookie.
- LocalStorage : Stockage persistant côté navigateur (clé/valeur) non envoyé au serveur.
🛡️ Sécurité et architecture
- Authentification : Vérifier qui est l’utilisateur (login, mot de passe, OAuth...).
- Autorisation : Définir ce que l’utilisateur peut faire (rôles, permissions).
- Chiffrement : Rendre illisible sans clé (TLS/SSL pour HTTPS, chiffrement des données).
- Hash (SHA‑256) : Empreinte irréversible utilisée pour vérifier l’intégrité/mots de passe.
- XSS : Injection de scripts côté client via contenu non filtré.
- CSRF : Détournement d’une session pour forcer une action non voulue.
- Injection SQL : Insertion de requêtes malveillantes dans la base de données.
- Monolithique : Application unique regroupant front et back.
- Microservices : Application découpée en services indépendants communiquant via API.
- Architecture API‑centrée : Le front consomme des données via des API dédiées.
- Cloud : Services d’infrastructure/plateforme hébergés (AWS, Azure, GCP).
- Nom de domaine : Adresse lisible (ex. monsite.com) pointant vers un serveur via DNS.
1. HTML - La structure
📋 HTML : Le squelette de votre page
HTML (HyperText Markup Language) est comme le plan architectural d'une maison :
- 🏠 Structure : Où placer les murs, portes, fenêtres
- 📍 Éléments : Chaque pièce a sa fonction (salon, cuisine, chambre)
- 🏷️ Balises : Les étiquettes qui définissent chaque élément
- 🔗 Liens : Les couloirs qui relient les pièces entre elles
🏗️ Structure de base d'un document HTML
🏷️ Balises HTML essentielles
📝 Structure et contenu
<p> - Paragraphe
<div> - Division générique
<span> - Élément en ligne
<ul><li> - Liste non ordonnée
<ol><li> - Liste ordonnée
<img> - Image
<a> - Lien
🧭 Navigation et structure
<nav> - Navigation
<main> - Contenu principal
<section> - Section
<article> - Article
<aside> - Contenu secondaire
<footer> - Pied de page
💻 Simulateur HTML - Testez vos connaissances !
🎯 Exercice pratique : Modifiez le code HTML ci-dessous et voyez le résultat en temps réel !
2. CSS - Le style et la beauté
🎨 CSS : Le décorateur d'intérieur du web
CSS (Cascading Style Sheets) est comme décorer et aménager votre maison :
- 🎨 Couleurs : Peindre les murs dans vos couleurs préférées
- 📐 Dimensions : Définir la taille des meubles et leur disposition
- ✨ Effets : Ajouter des éclairages, des ombres, des textures
- 📱 Responsive : Adapter l'aménagement selon la taille de la pièce
🎨 Syntaxe CSS de base
📦 Le modèle de boîte (Box Model)
📐 Anatomie d'un élément CSS
(contenu)
🎛️ Propriétés CSS courantes
🎨 Couleurs et texte
background: #f0f0f0;
font-family: Arial;
font-size: 16px;
text-align: center;
📐 Dimensions et espacement
height: 50px;
margin: 10px;
padding: 15px;
border: 1px solid #ddd;
📱 Mise en page
justify-content: center;
align-items: center;
position: relative;
z-index: 1;
🎨 Simulateur CSS - Stylisez en direct !
✨ Atelier pratique : Modifiez le CSS et observez les changements sur le texte !
3. JavaScript - L'interactivité
⚡ JavaScript : Le magicien du web
JavaScript est comme le moteur d'une voiture :
- 🏎️ Vitesse : Rendre les pages web rapides et réactives
- 🔧 Fonctionnalités : Ajouter des fonctionnalités avancées (formulaires, jeux, animations)
- 📱 Mobile : Adapter les sites aux appareils mobiles
- 🌐 API : Communiquer avec d'autres services web
📚 Les bases de JavaScript
🌐 Travailler avec le DOM
📑 Le Document Object Model (DOM)
(les points de connexion)
🎮 Événements et interactions
⚡ Simulateur JavaScript - Codez et testez !
🚀 Laboratoire de code : Écrivez du JavaScript et voyez les résultats immédiatement !
4. PHP - Le serveur web dynamique
🐘 PHP : Le chef cuisinier du web
PHP (PHP: Hypertext Preprocessor) est comme un chef cuisinier dans un restaurant :
- 👨🍳 Côté serveur : Travaille dans la cuisine (serveur) invisible aux clients
- 📝 Commandes : Reçoit les commandes (requêtes) des clients (navigateurs)
- 🍽️ Préparation : Prépare les plats (pages web) selon la commande
- 🚚 Service : Livre le plat fini (HTML généré) au client
- 🗄️ Stockage : Accède aux ingrédients (base de données)
🚀 Pourquoi PHP est populaire ?
✅ Avantages de PHP
- 🆓 Gratuit : Open source et libre d'utilisation
- 📚 Facile : Syntaxe simple pour débuter
- 🌐 Universel : Fonctionne sur tous les serveurs
- 🗄️ Bases de données : Intégration native MySQL
- 🔧 Mature : Écosystème riche et stable
🎯 Utilisations courantes
- 🌍 Sites web dynamiques : Blogs, e-commerce
- 📊 Applications web : CRM, ERP, tableaux de bord
- 🔗 API REST : Services web et microservices
- 🎨 CMS populaires : WordPress, Drupal, Joomla
- 🛒 E-commerce : PrestaShop, Magento
💻 Syntaxe PHP de base
🗄️ PHP et bases de données
🔄 Cycle de vie d'une requête PHP
Demande une page PHP
Exécute le code PHP
Consulte les données
Génère la réponse
📝 Exemple pratique : Formulaire de contact
🐘 Simulateur PHP - Testez votre code !
⚡ Laboratoire PHP : Écrivez du code PHP et voyez le résultat !
Note : Ce simulateur est à des fins éducatives. Le vrai PHP s'exécute côté serveur.
5. CMS - Systèmes de Gestion de Contenu
🏗️ CMS : L'architecte de sites web
Un CMS (Content Management System) est comme un kit de construction de maison préfabriquée :
- 🧱 Fondations : Structure de base déjà construite
- 🎨 Décoration : Thèmes et templates prêts à utiliser
- 🔧 Extensions : Modules pour ajouter des fonctionnalités
- 👥 Multi-utilisateurs : Plusieurs personnes peuvent contribuer
- 📝 Interface simple : Pas besoin d'être développeur
🌟 Pourquoi utiliser un CMS ?
⚡ Rapidité
- 🚀 Installation rapide : Site prêt en minutes
- 📝 Création facile : Interface WYSIWYG
- 🎨 Thèmes prêts : Design professionnel
- 🔌 Plugins : Fonctionnalités en un clic
👥 Collaboration
- 🔐 Gestion utilisateurs : Rôles et permissions
- ✍️ Rédaction collaborative : Plusieurs auteurs
- 📊 Workflow : Validation avant publication
- 📱 Administration mobile : Gérer depuis partout
🔧 Maintenance
- 🛡️ Sécurité : Mises à jour automatiques
- 💾 Sauvegarde : Backup automatisé
- 📈 SEO intégré : Optimisation moteurs
- 📊 Analytics : Statistiques intégrées
🏆 CMS populaires comparés
🌐 WordPress (43% du web)
- ✅ Pour : Blogs, sites vitrine, e-commerce
- 🎨 Thèmes : Des milliers gratuits/premium
- 🔌 Plugins : 60 000+ extensions disponibles
- 👥 Communauté : Énorme support communautaire
- 💻 Hébergement : Compatible partout
🎯 Drupal (Avancé)
- ✅ Pour : Sites complexes, gouvernement
- 🔒 Sécurité : Très sécurisé par défaut
- ⚙️ Flexibilité : Très personnalisable
- 👨💻 Public : Développeurs expérimentés
- 🏢 Usage : Sites d'entreprise
🎨 Joomla (Équilibré)
- ✅ Pour : Sites communautaires, portails
- 👥 Multi-langues : Excellent support
- 🎭 Templates : Système de templates avancé
- ⚖️ Complexité : Entre WordPress et Drupal
- 🏪 E-commerce : VirtueMart intégré
🛒 Shopify/WooCommerce (E-commerce)
- ✅ Pour : Boutiques en ligne
- 💳 Paiements : Systèmes intégrés
- 📦 Gestion stock : Outils professionnels
- 📊 Analytics : Rapports de ventes
- 🚚 Livraison : Intégration transporteurs
🔄 Processus d'installation d'un CMS
📋 Étapes d'installation WordPress
🎨 Interface d'administration CMS
👀 Tableau de bord WordPress typique :
6. Protocoles HTTP - Les fondations du web
🚚 HTTP : Le facteur du web
HTTP (HyperText Transfer Protocol) est comme le protocole de livraison :
- 📦 Requêtes : Demander un colis (ressource)
- 📬 Réponses : Recevoir le colis avec le contenu demandé
- 🔄 Échanges : Communication entre client et serveur
- 🔒 HTTPS : HTTP sécurisé (avec un cadenas)
📦 Les méthodes HTTP
🔍 Méthodes courantes
POST - Envoyer des données
PUT - Mettre à jour des données
DELETE - Supprimer des données
⚙️ Méthodes avancées
OPTIONS - Options de communication
HEAD - Obtenir les en-têtes seulement
TRACE - Boucler le message reçu
🔄 Le cycle de vie d'une requête HTTP
🌐 De l'URL à la réponse
(ressource demandée)
7. Architectures - Les structures du web
🏗️ Architectures web : Les fondations
Une architecture web est comme le plan d'un bâtiment :
- 🏢 Monolithique : Tout en un (front et back ensemble)
- 🏗️ Modulaire : Séparé en modules (microservices)
- 🌐 API-Centrée : Communication par API
- ☁️ Cloud : Hébergement dans le cloud (AWS, Azure)
🏢 Architecture monolithique
🏗️ Architecture modulaire
🌐 Architecture API-Centrée
8. Sécurité Web - Protéger vos applications
🔒 Sécurité Web : Les clés de la protection
La sécurité web est comme fermer à clé sa maison :
- 🔑 Authentification : Vérifier l'identité (login, mot de passe)
- 🛡️ Autorisation : Contrôler l'accès (qui peut voir quoi)
- 🔄 Chiffrement : Cacher les données (SSL/TLS)
- 🚫 Protection contre les attaques : XSS, CSRF, SQLi, etc.
🔑 Authentification et autorisation
🛡️ Chiffrement des données
9. Outils du développeur web
🛠️ Outils essentiels : Équiper votre boîte à outils
Les outils du développeur web sont comme les outils d'un artisan :
- 🔍 Éditeurs de code : Écrire et modifier le code (VSCode, Sublime)
- 🧪 Navigateurs : Tester et déboguer les sites (Chrome, Firefox)
- 📦 Gestionnaires de paquets : Gérer les bibliothèques et dépendances (npm, yarn)
- ☁️ Services cloud : Héberger et déployer des applications (Heroku, Netlify)
🔍 Éditeurs de code
🧪 Navigateurs
💡 Astuce
L’éditeur de code (ex. VSCode) est l’outil principal pour écrire et organiser vos fichiers. Le navigateur sert à tester et déboguer, le gestionnaire de paquets à installer des bibliothèques, et les services cloud à héberger/déployer.
📚 Ressources complémentaires
🎓 Pour aller plus loin dans votre apprentissage
Découvrez une sélection de ressources qualitatives pour approfondir vos connaissances en développement web :
📖 Documentation officielle
- MDN Web Docs - La référence Mozilla pour HTML, CSS, JavaScript
- W3Schools - Tutoriels et exemples pratiques
- Can I Use - Compatibilité des fonctionnalités web
- CSS-Tricks - Astuces et guides CSS avancés
🛠️ Outils pratiques
- CodePen - Éditeur de code en ligne pour tester
- JSFiddle - Playground JavaScript
- XAMPP - Serveur local Apache/PHP/MySQL
- WordPress.org - Télécharger WordPress
- GitHub - Hébergement et versioning de code
- Netlify - Déploiement de sites statiques
🚀 Frameworks populaires
- React - Bibliothèque JavaScript pour UI
- Vue.js - Framework progressif
- Angular - Framework complet
- Laravel - Framework PHP moderne
- Symphony - Framework PHP professionnel
- Bootstrap - Framework CSS responsive
🏗️ CMS et plateformes
- WordPress - CMS le plus populaire
- Drupal - CMS entreprise sécurisé
- Joomla - CMS équilibré et flexible
- Shopify - Plateforme e-commerce
- WooCommerce - E-commerce sur WordPress
- Ghost - CMS orienté blog moderne
🎯 Prochaines étapes
- Projets pratiques - Créez votre portfolio
- Serveur local - Installez XAMPP/MAMP
- Premier CMS - Testez WordPress localement
- PHP avancé - Objets, MVC, frameworks
- Responsive design - Adaptez aux mobiles
- Accessibilité - Rendez vos sites inclusifs
- Performance - Optimisez la vitesse
🎯 Méthodologie d'apprentissage efficace
- 🏗️ Pratiquez régulièrement : Codez un peu chaque jour, même 15 minutes
- 📱 Créez des projets : Partez de vos idées et réalisez-les
- 👥 Rejoignez une communauté : Forums, Discord, meetups locaux
- 📚 Diversifiez vos sources : Livres, vidéos, podcasts, formations
- 🔧 Expérimentez : Testez de nouvelles technologies régulièrement
- 🐛 Déboguez avec méthode : Apprenez à lire et corriger les erreurs
- 🤝 Partagez vos créations : GitHub, portfolio, réseaux sociaux