Apprendre le développement web
==============================

Bienvenue dans l'espace d'apprentissage (*Learning Area*) de MDN. Cet ensemble d'articles a pour but de fournir aux développeuses et développeurs web débutants tout ce qui est nécessaire pour commencer à développer des sites web.

Le but de cette section de MDN n'est pas de vous faire passer de « débutant » à « expert », mais plutôt de vous mettre à l'aise avec les technologies. À partir de là, vous devriez être capable de vous débrouiller par vous-même, en utilisant le reste du contenu de MDN et d'autres ressources intermédiaires ou avancées.

Si vous débutez complètement, le développement web peut être un réel défi : notre but est de simplifier suffisamment le sujet pour que vous appreniez facilement, tout en vous fournissant assez de détails pour que vous soyez autonome. Vous devriez vous sentir chez vous, que vous soyez étudiant·e apprenant le développement web (de votre propre gré ou dans le cadre de vos études), un·e enseignant·e recherchant des supports de cours, une amatrice ou un amateur ou encore quelqu'un qui souhaite simplement comprendre comment fonctionnent le Web et ses technologies.

Vous voulez devenir développeuse ou développeur web front-end ?

Nous avons mis au point un cours qui comprend toutes les informations essentielles dont vous avez besoin pour atteindre votre objectif.

Commencer

Par où commencer ?
------------------

Je débute complètement

Si vous débutez totalement dans le développement web, nous vous recommandons de commencer par travailler notre module « Premiers pas sur le Web », qui est une introduction pratique au développement web.

Au-delà des bases

Si vous possédez déjà quelques connaissances, l'étape suivante consiste à étudier en détail HTML et CSS : débutez avec notre module Introduction à HTML, puis voyez le module Introduction à CSS.

Écrire des scripts

Si vous êtes déjà à l'aise avec le HTML et les CSS, ou si vous êtes plutôt intéressé par le codage, voyez le JavaScript ou le développement côté serveur. Commencez par nos modules JavaScript : premiers pas et Premiers pas côté serveur.

Les *frameworks* et l'outillage

Lorsque vous aurez appris l'essentiel de HTML, CSS, et JavaScript, vous devriez étudier les outils de développement web côté client et éventuellement approfondir les *frameworks* JavaScript côté client, ainsi que la programmation web côté serveur.


**Note :** Notre glossaire fournit des définitions de la terminologie employée. Si vous avez des questions particulières à propos du développement web, la section sur les questions fréquentes pourra éventuellement vous aider.

Sujets abordés
--------------

Voici une liste des sujets abordés dans la zone d'apprentissage de MDN.

Débuter avec le développement web

Une introduction pratique au développement web pour les personnes qui commencent tout juste.

HTML — structuration du Web

Le HTML est le langage utilisé pour structurer les diverses parties d'un contenu et définir leur signification et leur rôle. Cet article vous enseigne le HTML en détail.

CSS — mise en forme du Web

CSS est le langage que nous pouvons aussi bien utiliser pour styliser et mettre en forme les contenus web que pour ajouter des comportements tel l'animation. Cet article couvre exhaustivement les CSS.

JavaScript — des scripts dynamiques coté client

C'est le langage de script utilisé pour ajouter des fonctionnalités dynamiques aux pages web. Cet article enseigne les fondamentaux nécessaires pour comprendre et écrire aisément du JavaScript.

Les formulaires web — Manipuler les données saisies par les utilisatrices et utilisateurs

Les formulaires web sont un outil puissant pour interagir avec les utilisatrices et utilisateurs. Ils permettent notamment de collecter des données et aux personnes de contrôler l'interface utilisée. Dans ces articles, nous verrons les aspects essentiels sur la structure, la mise en forme et les interactions avec les formulaires web.

Accessibilité — rendre le Web utilisable par tous

L'accessibilité consiste à rendre le contenu web disponible au plus grand nombre de personnes possible quels que soient leur handicap, leur matériel, leur résidence ou autres différences. Cet article fournit tout le savoir nécessaire.

Performances du Web - rendre les sites web rapides et dynamiques

La performance web est l'art de s'assurer que les applications web se téléchargent rapidement et sont réactives aux interactions, indépendamment de la bande passante, de la taille de l'écran, du réseau ou des capacités de l'appareil.

MathML (en-US)

MathML est un langage utilisé pour écrire des formules mathématiques dans les pages web (avec des fractions, indices, exposants, racines, intégrales, sommes, etc.).

Outils et tests

Cette rubrique présente les outils utilisés pour faciliter le développement web, tels que les outils de test inter-navigateurs, les *linters*, les outils de transformation et de mise en forme, les systèmes de gestion de version, les outils de déploiement, ainsi que des *frameworks* JavaScript côté client.

Programmation de site web coté serveur

Même si vous êtes focalisé·e·s sur le développement côté client, il est toujours utile de connaître le mode de fonctionnement des serveurs et les fonctionnalités du code côté serveur. Cette rubrique fournit une introduction générale sur le fonctionnement côté serveur et des didacticiels détaillant la manière de créer une application côté serveur à l'aide de deux environnements applicatifs populaires : Django (en Python) et Express (Node.js).

Exercices et évaluations
------------------------

Dans cette section de MDN, de nombreux modules contiennent des articles avec des exercices et des évaluations que vous pourrez suivre. Voici quelques conseils pour en tirer le meilleur parti.

Il existe deux types de tâches dans ces modules :

* Les **exercices d'apprentissage actif** (par exemple dans Prendre des décisions dans le code - les conditions)
* Des **évaluations** plus approfondies à la fin de chaque module (voir par exemple Construire une galerie d'images)

Pour la plupart de ces exercices, consultez les dépôts GitHub associés (la plupart des fichiers sont disponibles dans les dépôts `mdn/learning-area`, et `mdn/css-examples`).

Chaque évaluation et exercice dispose d'un guide de notation et des solutions recommandées qui vous permettront d'évaluer votre travail.

Obtenir nos exemples de code
----------------------------

Les exemples de code que vous rencontrerez dans l'Espace d'apprentissage sont tous disponibles sur GitHub. Si vous souhaitez les copier tous sur votre ordinateur, le plus simple est de télécharger un ZIP de la dernière branche du code principal.

Si vous préférez copier le dépôt d'une manière plus flexible qui permet des mises à jour automatiques, vous pouvez suivre les instructions plus complexes :

1. Installer Git sur votre machine. C'est le logiciel sous-jacent de contrôle de version sur lequel GitHub fonctionne.
2. S'inscrire pour obtenir un compte GitHub.
3. Une fois inscrit, se connecter dans github.com avec votre nom d'utilisateur et votre mot de passe.
4. Ouvrir l'invite de commande (Windows) ou un terminal (Linux, macOS).
5. Pour copier depuis le dépôt de l'espace d'apprentissage un répertoire nommé « learning-area » à l'emplacement courant dans votre ordinateur, utilisez la commande suivante :

```bash
git clone https://github.com/mdn/learning-area
```

6. Vous pouvez maintenant saisir le répertoire et retrouver les fichiers recherchés (soit avec votre explorateur de fichiers ou avec la commande `cd`).

Vous pouvez mettre à jour le dépôt de `learning-area` pour tout changement intervenu sur la branche principale `main` du dépôt GitHub en parcourant les étapes suivantes :

1. Dans votre terminal/invite de commande, allez dans le répertoire `learning-area` avec `cd`. Par exemple, si vous êtes dans son répertoire parent :

```bash
cd learning-area
```

2. Mettez à jour le dépôt avec la commande :

```bash
git pull
```

Nous contacter
--------------

Si vous voulez nous contacter au sujet de quoi que ce soit, le meilleur moyen est de nous contacter (en-US). N'hésitez pas à nous faire part de tout ce que vous pensez être erroné ou manquant sur le site, des demandes de nouveaux sujets d'apprentissage, des demandes d'aide pour des éléments que vous ne comprenez pas ou toute autre question ou préoccupation.

Si vous souhaitez aider à développer/améliorer le contenu, jetez un coup d'œil à la façon dont vous pouvez aider, et contactez-nous ! Nous sommes plus qu'heureux de parler avec vous, que vous soyez apprenti, un enseignant, un développeur web expérimenté ou quelqu'un d'autre intéressé à améliorer l'expérience d'apprentissage.

Voir aussi
----------

Mozilla Developer Newsletter (en anglais)

Notre newsletter pour les développeuses et développeurs web, une grande aide pour tous niveaux de compétence.

Learn JavaScript (en anglais)

Une excellente ressource pour les futurs développeurs web - Apprenez JavaScript dans un environnement interactif, avec des leçons courtes et des tests interactifs, avec une évaluation automatisée. Les 40 premières leçons sont gratuites, et le cours complet est disponible contre un petit paiement unique.

Web demystified

Une grande série de vidéos expliquant les principes fondamentaux du Web, destinée aux débutants absolus en matière de développement web. Créé par Jérémie Patonnier.

Codecademy (en anglais)

Un site interactif pour apprendre les langages de programmation à partir du début.

BitDegree (en anglais)

Théorie de base du codage avec un processus d'apprentissage ludique. Principalement destiné aux débutants.

Code.org

Théories de codage de base et pratique, destiné essentiellement aux enfants et aux débutants.

The Odin Project (en anglais)

Un parcours libre et *open source* allant d'un niveau débutant à avancé.

freeCodeCamp.org

Site interactif avec didacticiels et projets pour apprendre le développement web.

Web literacy map

Un *framework* pour l'initiation à la maîtrise du Web et aux compétences du XXIe siècle, qui donne également accès à des activités d'enseignement classées par catégorie.

Edabit

Des milliers de défis JavaScript interactifs.