Organisation du code et méthodologie
Organisation du code et méthodologie
- 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
Organisation type d'un projet web
| Dossier | Contenu | Pourquoi cette organisation ? |
|---|---|---|
| css/ | Toutes les feuilles de style | Séparation claire du design |
| js/ | Scripts JavaScript | Logique métier isolée |
| images/ | Assets visuels organisés par type | Gestion facile des médias |
| pages/ | Pages secondaires HTML | Navigation 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
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.htmlPour les classes CSS
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
Phase 1 : Planification (15 minutes par page)
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
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
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)
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
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
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
| Extension | Utilité | Pourquoi l'adopter |
|---|---|---|
| Prettier | Formatage automatique | Code toujours bien indenté |
| Auto Rename Tag | Renommage synchronisé | Évite les erreurs de balises |
| Live Server | Serveur local | Test en temps réel |
| HTML CSS Support | Autocomplétion avancée | Gain de productivité |