Skip to content

Chapitre 9 : Test de l'application

9.1 Test dans le navigateur

bash
npm run dev

Ouvrez l'URL affichée dans Chrome. Vous pouvez tester :

  1. Tap sur le bouton power : la lame s'étend avec le son d'allumage, puis le hum démarre.
  2. Re-tap : la lame se rétracte avec le son d'extinction.
  3. Changement de couleur : quand le sabre est éteint, cliquez sur une pastille, puis rallumez.

Les vibrations ne fonctionneront pas dans le navigateur (c'est normal).

9.2 Simuler l'accelerometre

Pour tester la detection de swing sans telephone :

  1. Ouvrez Chrome DevTools (F12)
  2. Allez dans l'onglet Sensors (dans le menu ... > More tools > Sensors)
  3. Dans la section Orientation, bougez les sliders rapidement

9.3 Test sur un appareil Android

bash
npm install @capacitor/android
npx cap add android
npm run build
npx cap sync android
npx cap open android

9.4 Scenarios de test sur appareil

#ActionResultat attendu
1Tap powerLame s'etend + son ignite + hum demarre + vibration forte
2Secouer le telephoneSon de swing + vibration moyenne
3Re-tap powerLame se retracte + son retract + hum s'arrete + vibration warning
4Changer de couleur (sabre eteint)La pastille selectionnee s'agrandit, le prochain allumage utilise la nouvelle couleur

Recapitulatif de l'architecture

src/
├── main.ts                              # Dark mode force
├── views/
│   └── HomePage.vue                     # Interface + orchestration
└── composables/
    ├── useLightsaberSound.ts            # Web Audio API (sons)
    ├── useHapticFeedback.ts             # Capacitor Haptics (vibrations)
    └── useMotionDetector.ts             # Capacitor Motion (accelerometre)

APIs Capacitor utilisees :

PluginUsageMethodes cles
@capacitor/hapticsVibrationsHaptics.impact(), Haptics.notification()
@capacitor/motionAccelerometreMotion.addListener('accel', ...)
@capacitor/status-barBarre de statut sombreStatusBar.setStyle(), StatusBar.setBackgroundColor()

Si besoin, vous trouverez le projet final sur le repo suivant : lightsaber-ionic. N'oubliez pas de bien être sur la branche solution-improved et d'installer toutes les dépendances avec npm install avant de lancer le projet.