Lecture libre, sans compteChapitre 7 · Validation des acquis et bonnes pratiques

Organisation du code et méthodologie

~2 min de lectureLeçon 22 sur 22Apprendre le HTML - Bases solides pour débutants

Organisation du code et méthodologie

En bref
  • 1Une structure de fichiers claire facilite la maintenance et la collaboration
  • 2Les conventions de nommage uniformes rendent le code plus professionnel
  • 3Une méthodologie rigoureuse évite les erreurs et améliore la productivité

Introduction

Créer du code HTML, c'est comme ranger sa maison : une organisation claire aujourd'hui vous fera gagner des heures demain. Une bonne méthodologie de travail distingue le développeur amateur du professionnel.

Structure de fichiers recommandée

Chargement du diagramme...

Organisation type d'un projet web

DossierContenuPourquoi cette organisation ?
css/Toutes les feuilles de styleSéparation claire du design
js/Scripts JavaScriptLogique métier isolée
images/Assets visuels organisés par typeGestion facile des médias
pages/Pages secondaires HTMLNavigation claire du site

Le saviez-vous ?

Les développeurs passent en moyenne 75% de leur temps à lire du code existant et seulement 25% à en écrire du nouveau

Étude de Robert C. Martin dans 'Clean Code'

Conventions de nommage essentielles

Pour les fichiers HTML

html
1<!-- ✅ BIEN : Noms explicites et cohérents -->
2index.html
3about-us.html
4contact-form.html
5product-details.html
6
7<!-- ❌ ÉVITER : Noms ambigus ou incohérents -->
8page1.html
9CONTACT.html
10productDétails.html

Pour les classes CSS

html
1<!-- ✅ BIEN : Convention BEM (Block Element Modifier) -->
2<div class="header">
3  <nav class="header__navigation">
4    <a class="header__link header__link--active">Accueil</a>
5    <a class="header__link">À propos</a>
6  </nav>
7</div>
8
9<!-- ✅ BIEN : Noms descriptifs -->
10<section class="product-showcase">
11  <div class="product-card">
12    <h3 class="product-title">Titre</h3>
13    <button class="btn btn--primary">Acheter</button>
14  </div>
15</section>

💡 À retenir : Utilisez toujours des tirets (-) pour les noms de classes CSS, jamais d'espaces ou de caractères spéciaux.

Méthodologie de développement étape par étape

Chargement du diagramme...

Phase 1 : Planification (15 minutes par page)

html
1<!-- Commencez toujours par un plan en commentaires -->
2<!DOCTYPE html>
3<html lang="fr">
4<head>
5    <!-- 
6    PLAN DE LA PAGE ACCUEIL :
7    1. Header avec logo + navigation
8    2. Section héro avec titre principal
9    3. Section services (3 colonnes)
10    4. Section témoignages
11    5. Footer avec contacts
12    -->
13    <meta charset="UTF-8">
14    <title>Accueil - Mon Site</title>
15</head>

Phase 2 : Structure HTML sémantique

html
1<!-- ✅ Structure claire et sémantique -->
2<header class="site-header">
3    <div class="container">
4        <logo class="site-logo">Mon Entreprise</logo>
5        <nav class="main-navigation">
6            <!-- Navigation principale -->
7        </nav>
8    </div>
9</header>
10
11<main class="main-content">
12    <section class="hero-section">
13        <!-- Contenu héro -->
14    </section>
15    
16    <section class="services-section">
17        <!-- Services proposés -->
18    </section>
19</main>
20
21<footer class="site-footer">
22    <!-- Pied de page -->
23</footer>

⚠️ Attention : Respectez toujours la hiérarchie des titres (h1 unique, puis h2, h3...). Ne sautez jamais de niveau pour des raisons esthétiques.

Bonnes pratiques de documentation

Commentaires utiles dans le code

html
1<!-- ===== HEADER PRINCIPAL ===== -->
2<header class="site-header">
3    <!-- Logo et branding -->
4    <div class="header__brand">
5        <img src="images/logos/company-logo.svg" alt="Logo MonEntreprise">
6    </div>
7    
8    <!-- Navigation principale - Menu responsive -->
9    <nav class="header__navigation" role="navigation">
10        <ul class="nav-list">
11            <li><a href="#accueil" class="nav-link nav-link--active">Accueil</a></li>
12            <!-- Autres liens de navigation -->
13        </ul>
14    </nav>
15</header>
16
17<!-- ===== CONTENU PRINCIPAL ===== -->
18<main class="main-content">
19    <!-- Section héro - CTA principal du site -->
20    <section class="hero-section">
21        <!-- Contenu impactant pour convertir les visiteurs -->
22    </section>
23</main>

Documentation projet (README.md)

markdown
1# Projet Site Vitrine - MonEntreprise
2
3## Structure du projet

/ ├── index.html # Page d'accueil ├── css/ │ ├── styles.css # Styles principaux │ └── reset.css # Reset CSS ├── js/ │ └── script.js # Interactions de base └── images/ ├── logos/ # Logos et branding └── photos/ # Photos produits

text
1## Conventions utilisées
2- Classes CSS : convention BEM
3- Nommage : kebab-case pour les fichiers
4- Images : format optimisé (WebP si possible)

🎯 En pratique : Créez toujours un fichier README.md pour expliquer la structure de votre projet. C'est le premier réflexe des développeurs qui découvrent un nouveau code.

Organisation avancée avec CSS

Structuration modulaire des styles

css
1/* ===== RESET ET BASE ===== */
2/* reset.css - Remise à zéro des styles navigateur */
3
4/* ===== VARIABLES CSS ===== */
5:root {
6    --primary-color: #007bff;
7    --secondary-color: #6c757d;
8    --font-family: 'Roboto', sans-serif;
9    --max-width: 1200px;
10    --spacing-unit: 1rem;
11}
12
13/* ===== COMPOSANTS RÉUTILISABLES ===== */
14.btn {
15    padding: calc(var(--spacing-unit) * 0.5) var(--spacing-unit);
16    border-radius: 4px;
17    border: none;
18    cursor: pointer;
19}
20
21.btn--primary {
22    background-color: var(--primary-color);
23    color: white;
24}
25
26/* ===== LAYOUT PRINCIPAL ===== */
27.container {
28    max-width: var(--max-width);
29    margin: 0 auto;
30    padding: 0 var(--spacing-unit);
31}

💡 À retenir : Les variables CSS (custom properties) rendent votre code plus maintenable. Changez une couleur à un endroit, elle se met à jour partout.

Outils pour automatiser l'organisation

Extensions VSCode recommandées

ExtensionUtilitéPourquoi l'adopter
PrettierFormatage automatiqueCode toujours bien indenté
Auto Rename TagRenommage synchroniséÉvite les erreurs de balises
Live ServerServeur localTest en temps réel
HTML CSS SupportAutocomplétion avancéeGain de productivité