Aperçu

Vue.js est un framework JavaScript progressif pour créer des interfaces utilisateur. Il est conçu pour être adoptable de manière incrémentale et se concentre sur la couche vue, ce qui facilite son intégration avec d'autres bibliothèques ou projets existants.

Avant de commencer
Assurez-vous que votre tableau de bord est ouvert - vous aurez besoin des identifiants Git qui y sont affichés. Ce modèle inclut Vue 3, Tailwind CSS 4, Pinia pour la gestion d'état et Vue Router.

Démarrage rapide

1

Créer un dépôt à partir du modèle

Sur votre tableau de bord, allez dans l'onglet Tools & Deployment. Cliquez sur le bouton "New Repository", sélectionnez le modèle Vue.js dans le menu déroulant, saisissez un nom de dépôt et un sous-domaine, puis cliquez sur "Create Repository".

2

Cloner votre dépôt

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Installer les dépendances

npm install
4

Démarrer le serveur de développement

npm run dev

Ouvrez http://localhost:4200 dans votre navigateur.

5

Construire et pousser

npm run build
git add .
git commit -m "Initial setup"
git push origin main
Chaque push vers Git déploie automatiquement votre application. Consultez l'URL de travail du module sur votre tableau de bord pour voir votre site en ligne.

Développement local avec Docker

Si vous n'avez pas Node.js installé localement, vous pouvez utiliser Docker pour exécuter les commandes Vue. Le projet inclut un Dockerfile pour les builds de production avec nginx.

Qu'est-ce que Docker ?
Docker crée des "conteneurs" isolés contenant tous les logiciels nécessaires (Node.js, npm) sans les installer sur votre ordinateur. Considérez-le comme une machine virtuelle légère.

Prérequis

Installez Docker Desktop pour votre système d'exploitation (Windows, Mac ou Linux).

Exécuter des commandes avec Docker

# Exécuter npm install
docker run --rm -v $(pwd):/app -w /app node:lts-alpine npm install

# Exécuter le serveur de développement (accessible sur localhost:4200)
docker run --rm -v $(pwd):/app -w /app -p 4200:4200 node:lts-alpine npm run dev

# Construire pour la production
docker run --rm -v $(pwd):/app -w /app node:lts-alpine npm run build
Remarque
Docker est facultatif pour le développement local. La plateforme NStrim gère le déploiement automatiquement - vous n'avez besoin de Docker que si vous souhaitez exécuter des commandes localement sans avoir Node.js installé.

Structure du projet

Comprendre où sont situés les fichiers :

├── src/
│   ├── assets/               # Ressources statiques (images, polices)
│   ├── components/           # Composants Vue
│   ├── views/                # Composants de page
│   ├── router/               # Configuration de Vue Router
│   ├── stores/               # Stores Pinia
│   ├── App.vue               # Composant racine
│   └── main.js               # Point d'entrée de l'application
├── public/                   # Fichiers statiques publics
├── index.html                # Point d'entrée HTML
├── vite.config.js            # Configuration Vite
├── package.json              # Dépendances et scripts
└── Dockerfile                # Configuration de build Docker
        

Tâches courantes

Créer un composant

Créez des fichiers .vue dans src/components/ :

<!-- src/components/Button.vue -->
<script setup>
defineProps({
  label: String
});

const emit = defineEmits(['click']);
</script>

<template>
  <button
    class="bg-blue-500 text-white px-4 py-2 rounded"
    @click="emit('click')"
  >
    {{ label }}
  </button>
</template>

Ajouter une route

Modifiez src/router/index.js :

import { createRouter, createWebHistory } from 'vue-router';
import Home from '../views/Home.vue';
import About from '../views/About.vue';

const router = createRouter({
  history: createWebHistory(),
  routes: [
    { path: '/', component: Home },
    { path: '/about', component: About }
  ]
});

export default router;

Utiliser un store Pinia

Créez un store dans src/stores/ :

// src/stores/counter.js
import { defineStore } from 'pinia';

export const useCounterStore = defineStore('counter', {
  state: () => ({ count: 0 }),
  actions: {
    increment() { this.count++ },
    decrement() { this.count-- }
  }
});

Utiliser Tailwind CSS

Tailwind CSS 4 est préconfiguré. Utilisez les classes directement dans vos templates :

<div class="bg-blue-500 text-white p-4 rounded-lg">
  Hello Tailwind!
</div>

Commandes utiles

npm run dev Démarrer le serveur de développement (port 4200)
npm run build Construire pour la production
npm run preview Prévisualiser le build de production localement
npm run test:unit Exécuter les tests unitaires avec Vitest
npm run lint Vérifier et corriger le style du code
npm run format Formater le code avec Prettier

Dépannage

npm install échoue avec des erreurs de permission

Cause : Problèmes de permission avec le cache npm ou node_modules.

Solution : Supprimez le dossier node_modules et le fichier package-lock.json, puis relancez npm install.

Le port 4200 est déjà utilisé

Cause : Un autre processus utilise le port 4200.

Solution : Utilisez un port différent : npm run dev -- --port 3000 ou arrêtez l'autre processus.

Le composant ne se met pas à jour

Cause : Réactivité non correctement configurée.

Solution : Utilisez ref() pour les primitives et reactive() pour les objets. Accédez aux valeurs ref avec .value dans le script, mais pas dans le template.

Le routeur ne fonctionne pas

Cause : RouterView n'est pas dans App.vue ou le routeur n'est pas enregistré.

Solution : Assurez-vous que <RouterView /> est dans App.vue et que le routeur est ajouté avec app.use(router) dans main.js.

Le build échoue après le déploiement

Cause : Erreurs de build ou dépendances manquantes.

Solution : Exécutez d'abord npm run build localement pour vérifier les erreurs avant de pousser.

Flux de déploiement

Chaque fois que vous poussez du code vers Git, votre application est automatiquement construite et déployée :

Modification du code git push npm run build Déploiement vers nginx En ligne !

L'URL de votre application déployée suit ce format :

https://<your-subdomain>-<repo-name>.<session-domain>

Exemple : https://student01-module-a.demo.nstrim.app

Pour plus d'informations, consultez la documentation officielle Vue.js.