Aller au contenu principal

5-2 Créer un projet

Nous allons créer le projet Angular pour l'application Houdini via l'interface en ligne de commande d'Angular.

À partir d'un dossier sur votre ordinateur dans lequel vous voulez mettre le projet, exécutez la commande suivante:

ng new houdini --inline-style --inline-template --skip-tests --style scss

Aux questions:

  • Do you want to create a 'zoneless' application without zone.js (Developer Preview)? (y/N), répondez N pour non
  • Do you want to enable Server-Side Rendering (SSR) and Static Site Generation (SSG/Prerendering)?, répondez N pour non.
  • ? Which AI tools do you want to configure with Angular best practices? https://angular.dev/ai/develop-with-ai, répondez ❯◉ None.

À propos des paramètres:

  • ng new: permet de créer un nouveau projet
  • houdini: le nom du projet/dossier
  • --inline-style: les règles de style scss pourront être mises directement dans la composante plutôt qu'un fichier séparé
  • --inline-template: le code HTML sera dans le même fichier que la logique et le code
  • --skip-tests: ne pas créer automatiquement un fichier de test pour chaque composant, mais vous aurez quand même à écrire des tests 😉
  • --style scss: utiliser scss pour le style

Il se pourrait que cela prenne un peu de temps avec l'installation des différents paquets npm.

Ouvrir le projet

Une fois terminé, vous pouvez ouvrir le dossier dans WebStorm.

Ajout de l'attribut "flat": true à angular.json

Nous verrons bientôt plus en détails le fichier angular.json qui contient certaines configurations propres au projet.

Pour l'instant, nous allons ajouter à ce fichier une configuration "flat": true. Ce paramètre fera en sorte de ne pas créer un dossier propre à chaque composant lors de leur création, qui est le comportement par défaut d'Angular.

Ajoutez la ligne "flat": true dans la section @schematics/angular:component:

angular.json
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"houdini-test": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"inlineTemplate": true,
"inlineStyle": true,
"style": "scss",
"skipTests": true,
"flat": true
},
//...

Déposer votre projet sur Git

Vous pouvez créer un nouveau projet sur Gitlab. Choisir:

  • Blank Projet
  • SANS Readme (Ne PAS cocher Initialize repository with a README)

Et ensuite suivre les instructions Push an existing Git repository pour pousser le nouveau projet (dossier houdini) vers GitLab:

cd houdini
git remote add origin url_de_votre_repo_git
git push --set-upstream origin --all
git push --set-upstream origin --tags

Cela enverra sur git l'installation initiale de votre projet Angular (un commit est créé automatiquement lors de l'installation).

Envoyer vos changements

Si vous faites git status, vous verrez dans changements à angular.json:

On branch main
Your branch is up to date with 'origin/main'.

Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: angular.json

C'est normal, vous avez ajouté une ligne "flat": true au fichier!

Pour soumettre vos changements:

  1. git add . -> ajoute les fichiers modifiés au suivi git
  2. git commit -m "Ajout de 'flat: true' à angular.json" (ou tout autre message de commit que vous jugerez pertinent)
  3. git push