Skip to content

2. Installation d'un environnement de travail

Note : dans la suite, on utilise l’outil VSCode pour tester les scripts Dart. Ouvrez deux fenêtres VSCode et ouvrez [File / Open Folder] les dossiers des deux projets.

Le cours TypeScript installe Node.js, un projet npm ([package.json]), TypeScript lui-même et son vérificateur de types ([tsc]), un exécuteur de scripts sans compilation préalable ([tsx]), puis ESLint. L'équivalent Dart de toute cette chaîne d'outils tient en un seul composant à installer : le [SDK Dart] - téléchargeable sur [dart.dev] ou, plus simplement, installé via un gestionnaire de paquets système ([choco install dart-sdk] sous Windows, [brew install dart] sous macOS, ou le dépôt APT officiel sous Linux/Debian/Ubuntu).

Là où TypeScript a besoin de trois outils distincts (le compilateur [tsc] pour vérifier les types, [tsx] pour exécuter un script sans l'avoir compilé au préalable, et ESLint pour l'analyse de style), le SDK Dart fournit tout cela dans une seule commande, [dart], dotée de sous-commandes : [dart run] (exécute un script), [dart analyze] (vérifie les types ET le style - l'équivalent combiné de [tsc] ET d'ESLint), [dart pub] (gère les dépendances, l'équivalent de [npm]), [dart format] (reformate le code, l'équivalent de Prettier) et [dart test] (lance les tests).

2.1. Vérification des outils installés

Une fois le SDK installé, on vérifie l'installation dans un terminal VSCode :


PS C:\Data\st-2026\dev\dart\dart-sept-2026-scripts\dart-fondamentaux> dart --version
Dart SDK version: 3.12.2 (stable) (Tue Jun 9 01:11:39 2026 -0700) on "windows_x64"

qui affiche la version du SDK (par exemple [Dart SDK version: 3.5.0 (stable)]). Contrairement à Node.js et TypeScript, installés séparément (une version de Node, une version de TypeScript), le numéro de version du SDK Dart couvre à la fois le langage, le compilateur et l'ensemble des outils commandés par [dart] : il n'y a qu'une seule version à suivre.

2.2. Mise en place du projet VSCode

Comme pour TypeScript, on crée un dossier de projet et on l'ouvre dans VSCode. Là où un projet TypeScript se déclare avec deux fichiers ([package.json] pour les dépendances, [tsconfig.json] pour les options du compilateur), un projet Dart n'en a besoin que d'un seul : [pubspec.yaml].

2.2.1. Le fichier pubspec.yaml

[pubspec.yaml] joue à la fois le rôle de [package.json] (nom du projet, dépendances) et, dans une moindre mesure, de [tsconfig.json] (la clé [environment: sdk:] fixe la plage de versions du SDK Dart acceptée, un peu comme [target]/[lib] fixent la version d'ECMAScript ciblée par [tsc]) :

1
2
3
4
5
6
7
8
9
name: dart_fondamentaux
description: Scripts du cours "Introduction au langage Dart par l'exemple"
publish_to: 'none'
environment:
  sdk: '>=3.3.0 <4.0.0'

dependencies:
  http: ^1.2.0
  dio: ^5.4.0

À la différence du YAML de [package.json] (au format JSON), [pubspec.yaml] est un fichier YAML à proprement parler - l'indentation y est significative, exactement comme en Python.

Une fois ce fichier écrit, la commande [dart pub get] (équivalent de [npm install]) télécharge les dépendances déclarées et génère un fichier [pubspec.lock] (équivalent de [package-lock.json]), qui fige les versions exactes installées.

2.3. Premier script

Un script Dart minimal, [bonjour.dart] :

1
2
3
void main() {
  print('Bonjour Dart !');
}

se lance avec :

dart run bonjour.dart

Deux différences immédiates avec le premier script TypeScript du cours : la fonction [main] est ici OBLIGATOIRE (un script Dart exécutable doit définir une fonction [main] au niveau du fichier - contrairement à TypeScript/[tsx], où le code de plus haut niveau du fichier s'exécute directement, sans fonction à définir) ; et [dart run] compile et exécute le script en une seule étape, sans étape de transpilation séparée visible (comme [tsx], mais sans outil supplémentaire à installer : [dart run] fait partie du SDK lui-même).

2.4. Second script : l'analyse statique

Là où le cours TypeScript distingue une étape de «vérification de types» ([tsc --noEmit]) et une étape ESLint distincte, Dart fusionne les deux dans une seule commande :

dart analyze

lancée sans argument depuis la racine d'un projet muni d'un [pubspec.yaml], analyse tous les fichiers [.dart] du projet : elle signale à la fois les erreurs de type (l'équivalent de [tsc]) et les problèmes de style couverts par les règles de lint activées (l'équivalent d'ESLint) - voir la section suivante pour l'activation de ces règles.

2.5. Le linter

ESLint est un outil externe, à installer et à configurer séparément (fichier [eslint.config.js], choix d'un preset...). Dart intègre son propre linter directement dans [dart analyze] : il suffit d'ajouter le paquet officiel [package:lints] aux [dev_dependencies] du [pubspec.yaml], puis de créer un fichier [analysis_options.yaml] à la racine du projet :

include: package:lints/recommended.yaml

Ce seul fichier joue le rôle du [eslint.config.js] du cours TypeScript : il active un jeu de règles recommandées par l'équipe Dart (variables inutilisées, comparaisons suspectes, préférence pour [const], etc.), que [dart analyze] applique ensuite automatiquement.

2.6. Extension VSCode Dart

L'extension officielle [Dart] (éditeur : Dart Code), installée depuis le marché d'extensions de VSCode, joue exactement le même rôle que l'extension ESLint du cours TypeScript, mais en plus complet : coloration syntaxique, complétion, affichage des erreurs de [dart analyze] directement dans l'éditeur, et lancement des scripts (bouton [Run]/[Debug] au-dessus de chaque fonction [main]) sans quitter VSCode. Installer cette seule extension suffit à couvrir ce que le cours TypeScript répartit entre plusieurs extensions.