Bonjour Angular, Bonjour !

Dans cet article, nous allons voir comment démarrer un nouveau projet Angular grâce à l’Angular CLI. Puis, nous allons découvrir ensemble la signification des fichiers et dossiers générés par le CLI.

Qu’est-ce que l’Angular CLI ?

L’Angular CLI est l’interface de ligne de commande officielle utilisée dans l’écosystème Angular. Son objectif est de simplifier la vie du développeur dans la création d’applications Angular.

L’Angular CLI est une boîte à outils complète qui vous permet de démarrer rapidement un nouveau projet Angular via la commande ng new, de générer du code à partir de blueprints prédéfinis via ng generate, de mettre à jour du code existant via ng update et d’ajouter automatiquement le code nécessaire pour certaines librairies qui supportent la commande ng add.

L’Angular CLI prend également en charge le processus de build des applications avec la commande ng build et comprend un serveur intégré qui vous permet d’afficher l’application dans votre environnement de développement local grâce à la commande ng serve.

Installation des outils nécessaires

Node.js et npm

Pour utiliser l’Angular CLI, vous devez avoir la dernière version active LTS de Node.js. Si vous n’avez pas Node.js sur votre machine, référez-vous aux guides suivants :

Vérifiez que vous avez tout ce qu’il faut en lançant les deux commandes suivantes qui doivent afficher respectivement les versions de Node.js et de npm.

node -v
npm -v

IDEs: WebStorm ou Visual Studio Code

Pour développer des applications Angular, vous aurez aussi besoin d’un IDE. Les deux IDEs que je vous recommande sont par ordre de préférence :

L’Angular CLI

Installez l’Angular CLI grâce à npm en lançant la commande suivante dans une fenêtre de ligne de commande :

npm i -g @angular/cli

Une fois l’Angular CLI installé avec succès, vous aurez à votre disposition l’exécutable ng que vous pourrez invoquer sur la ligne de commande.

Pour vérifier que vous avez correctement installé l’Angular CLI, exécutez la commande suivante dans un terminal :

ng version

En sortie de cette commande, vous devriez voir la version de l’Angular CLI que vous avez installée, ainsi que d’autres informations comme la version de Node.js que vous utilisez et votre système d’exploitation actuel comme le montre la capture d’écran suivante.

Sortie de l'exécution de la commande ng version

Création d’une nouvelle application Angular !

Maintenant que vous disposez des outils nécessaires, vous pouvez générer un nouveau projet Angular en lançant la commande suivante :

ng new my-app

Cette commande va vous poser deux questions :

  • Would you like to add Angular routing? (y/N) - Traduction française : Souhaitez-vous ajouter le routeur d’Angular ? Dans une vraie application, vous auriez certainement besoin du routeur, mais pour les besoins de cet article, acceptez la réponse par défaut (“No”) en appuyant sur la touche Entrée.
  • Which stylesheet format would you like to use? - Traduction française : Quel format voulez-vous utiliser pour vos feuilles de styles ? Là encore, appuyez sur la touche Entrée pour choisir la réponse par défaut qui est “CSS”.

La sortie suivante devrait s’afficher dans votre terminal :

$ ng new my-app
? Would you like to add Angular routing? No
? Which stylesheet format would you like to use? CSS
CREATE my-app/README.md (1059 bytes)
CREATE my-app/.editorconfig (274 bytes)
CREATE my-app/.gitignore (548 bytes)
CREATE my-app/angular.json (2700 bytes)
CREATE my-app/package.json (1037 bytes)
CREATE my-app/tsconfig.json (901 bytes)
CREATE my-app/tsconfig.app.json (263 bytes)
CREATE my-app/tsconfig.spec.json (273 bytes)
CREATE my-app/.vscode/extensions.json (130 bytes)
CREATE my-app/.vscode/launch.json (474 bytes)
CREATE my-app/.vscode/tasks.json (938 bytes)
CREATE my-app/src/favicon.ico (948 bytes)
CREATE my-app/src/index.html (291 bytes)
CREATE my-app/src/main.ts (214 bytes)
CREATE my-app/src/styles.css (80 bytes)
CREATE my-app/src/assets/.gitkeep (0 bytes)
CREATE my-app/src/app/app.module.ts (314 bytes)
CREATE my-app/src/app/app.component.css (0 bytes)
CREATE my-app/src/app/app.component.html (23083 bytes)
CREATE my-app/src/app/app.component.spec.ts (956 bytes)
CREATE my-app/src/app/app.component.ts (210 bytes)
✔ Packages installed successfully.
Successfully initialized git.

Nous allons détailler à quoi servent tous ces fichiers dans la section suivante, mais pour le moment, retenez que la commande ng new a généré un nouveau projet Angular dans le répertoire my-app avec tous les fichiers nécessaires. Il a ensuite installé toutes les dépendances requises pour le développement Angular grâce au gestionnaire de paquets npm. Magnifique !

Vous pouvez maintenant vous rendre dans le répertoire my-app et lancer votre projet nouvellement généré dans le navigateur en exécutant la commande suivante :

ng serve

Dans votre terminal, vous devriez avoir une sortie similaire à ça :

$ ng serve
✔ Browser application bundle generation complete.
Initial Chunk Files | Names | Raw Size
vendor.js | vendor | 1.71 MB |
polyfills.js | polyfills | 314.27 kB |
styles.css, styles.js | styles | 209.39 kB |
main.js | main | 45.98 kB |
runtime.js | runtime | 6.51 kB |
| Initial Total | 2.27 MB
Build at: 2023-01-15T21:57:03.047Z - Hash: 2ac89e70ce3ac80c - Time: 4641ms
** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
✔ Compiled successfully.

Maintenant, ouvrez localhost:4200 dans votre navigateur préféré et vous devriez voir quelque chose de similaire à la capture d’écran suivante :

Un nouveau projet Angular qui tourne sur localhost:4200 sous Firefox

Félicitations ! Vous avez réussi à développer votre première application Angular. Maintenant, revenons sur les fichiers et dossiers générés par la commande ng new.

Structure d’un project Angular

Fichiers et dossiers à la racine du projet

Voici la liste des fichiers et des dossiers à la racine d’un projet Angular :

.
├── .angular
├── .editorconfig
├── .git
├── .gitignore
├── .vscode
├── README.md
├── angular.json
├── node_modules
├── package-lock.json
├── package.json
├── src
├── tsconfig.app.json
├── tsconfig.json
└── tsconfig.spec.json

Voici une description brève de ces fichiers et dossiers :

Fichier ou dossierDescription
/.angularDossier contenant des fichiers mis en cache par l’Angular CLI. Vous n’allez jamais interagir directement avec ce dossier.
.editorconfigFichier de configuration pour les IDEs et éditeurs de texte.
.gitDossier contenant les informations et données gérées par Git.
.gitignoreFichier définissant la liste des fichiers ignorés par Git.
.vscodeDossier contenant des fichiers de configuration pour Visual Studio Code.
README.mdFichier contenant des informations et des instructions concernant votre projet.
angular.jsonFichier de configuration de l’Angular CLI dans le contexte de ce projet.
/node_modulesDossier contenant tous les paquets npm dont dépend de votre projet.
package-lock.jsonFichier généré automatiquement par npm et contenant les versions exactes des dépendances installées dans votre projet.
package.jsonFichier de manifeste pour les projets Node.js contant des métadonnées (nom du projet, auteur, etc). Ce manifeste va être utilisé par npm pour installer les dépendances du projet.
/srcDossier contenant le code source de votre application. Nous allons décrire son contenu dans la suite de l’article.
tsconfig.app.jsonFichier de configuration de TypeScript pour la partie applicative du projet.
tsconfig.spec.jsonFichier de configuration de TypeScript pour les tests unitaires.
tsconfig.jsonFichier de configuration de TypeScript permettant de factoriser la configuration commune des deux fichiers tsconfig.*.json cités plus haut.

Autres fichiers qui peuvent se trouver à la racine du projet

Dans les versions précédentes de Angular, on pouvait aussi trouver les fichiers suivants à la racine du projet :

FichierDescription
.browserlistrcFichier qui configure la liste des navigateurs supportés par votre application.
karma.conf.jsFichier de configuration de l’outil de test Karma.

Détaillons à présent le contenu du dossier /src d’un projet Angular.

Fichiers et dossiers contenus dans /src

Le dossier /src contient les sources de votre application Angular. C’est là où vous passerez le plus clair de votre temps à écrire du code. Voici la liste des fichiers et des dossiers qui s’y trouvent :

.
├── app
│   ├── app.component.css
│   ├── app.component.html
│   ├── app.component.spec.ts
│   ├── app.component.ts
│   └── app.module.ts
├── assets
│   └── .gitkeep
├── favicon.ico
├── index.html
├── main.ts
└── styles.css

Voici une description brève de ces fichiers et dossiers :

Fichier ou dossierDescription
/appDossier contenant les entités Angular lié au composant principal AppComponent
app.component.cssFeuille de style CSS associé au composant principal.
app.component.htmlFichier HTML définissant le template du composant principal.
app.component.spec.tsFichier contenant des tests unitaires concernant le composant principal.
app.component.tsFichier TypeScript contenant la logique du composant principal.
app.module.tsFichier contenant le module qui déclare le composant principal.
/assetsDossier contenant les ressources du projet comme des images, des fichiers PDF, etc.
favicon.icoFichier contenant l’icône qui s’affiche lorsque le site est ajouté dans les marque-pages.
index.htmlLa page principale de l’application qui sera servi aux navigateurs par le serveur qui va héberger votre application. Contient principalement la balise app-root.
main.tsPoint d’entrée principal de l’application. Contient la logique qui instruit au navigateur de générer le DOM de l’application.
styles.cssFeuille de style CSS global de l’application.

Autres fichiers ou dossiers pouvant se trouver dans /src

Dans les versions précédentes de Angular, on pouvait aussi trouver les fichiers et dossiers suivants dans /src :

Fichier ou dossierDescription
/environmentsDossier contenant des fichiers de configuration pour le build (mode dev vs mode production).
environments.tsFichier de configuration pour le mode développement.
environment.prod.tsFichier de configuration pour le mode production.
polyfills.tsFichier contenant des scripts permettant de combler des lacunes de certains navigateurs.
test.tsLe point d’entrée principal pour les tests unitaires.

Conclusion

Dans cet article, nous avons appris à générer une nouvelle application Angular et à la lancer en local grâce à l’Angular CLI. Nous sommes ensuite partis à la découverte des fichiers et dossiers générés par le CLI pour un nouveau projet Angular.


Vous aimez ce blog ?
Suivez-moi sur Twitter pour plus de contenu !

Rejoignez la newsletter pour du contenu de grande qualité dans votre boite mail

Pas de spam. Que du contenu de qualité.