4.8 KiB
4.8 KiB
Sauvegarde de l'état avant migration - Application Binôme
Date de sauvegarde
20 juillet 2025 - 22:40 UTC
État actuel du projet
Configuration générale
- Nom du projet: bons-programmeurs (Binôme)
- Version: 0.1.0
- Branche de sauvegarde: migration-vue3
Stack technique actuelle
Framework principal
- Vue.js: 2.6.12
- Vue CLI: ~4.5.11
- Vue Router: 3.5.1
- Vuex: 3.6.2
TypeScript et outils de développement
- TypeScript: ~3.9.3
- ESLint: ^6.7.2
- Prettier: ^1.19.1
- Node Sass: ^4.12.0
- Sass Loader: ^8.0.2
Composition API et extensions
- @vue/composition-api: ^1.0.0-beta.1 (plugin pour Vue 2)
- vuex-composition-helpers: ^1.0.18
- vuex-persist: ^2.2.0
Internationalisation
- vue-i18n: ^8.23.0
- @intlify/vue-i18n-loader: ^1.0.0
- vue-cli-plugin-i18n: ~1.0.1
PWA et Service Worker
- @vue/cli-plugin-pwa: ~4.5.11
- register-service-worker: ^1.7.1
Autres dépendances
- plyr: ^3.6.2 (lecteur multimédia)
- retrobus: ^1.6.1
- core-js: ^3.6.5
Scripts disponibles
{
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
"i18n:report": "vue-cli-service i18n:report --src './src/**/*.?(js|vue)' --locales './src/locales/**/*.json'"
}
Configuration PWA actuelle
- Nom: Binôme
- Couleur de thème: #f8efba
- Mode d'affichage: standalone
- Workbox: skipWaiting et clientsClaim activés
- Raccourcis: Start a session (/play)
Structure des fichiers
src/
├── App.vue
├── main.ts
├── i18n.ts
├── registerServiceWorker.ts
├── assets/ (icônes SVG)
├── components/ (ChilledMusic, DevSession, IntervalInput, SpotifyMusic, SWNewVersion, ZoneMusic)
├── hooks/ (useInterval, useMusic, useSpotify, useTimer, useWakeLock)
├── lib/ (spotify-player.js - À CONSERVER)
├── locales/ (en.json, fr.json)
├── router/ (index.ts)
├── store/ (index.ts)
├── styles/ (app.scss, plume.scss, variables.scss)
├── types/ (StopwatchState.ts)
├── utils/ (notification.ts, spotify.ts)
└── views/ (Home.vue, Privacy.vue, SpotifyCallback.vue)
Fichiers de configuration
- vue.config.js: Configuration PWA complète avec icônes et raccourcis
- tsconfig.json: Configuration TypeScript avec paths aliases
- .eslintrc.js: Configuration ESLint avec Vue 2 et TypeScript
- babel.config.js: Configuration Babel standard Vue CLI
- .prettierrc: Configuration Prettier
- netlify.toml: Configuration de déploiement Netlify
Gestionnaire de paquets actuel
- Yarn: yarn.lock présent
- Node version: Fichier .node-version présent
Plan de migration vers stack moderne
Objectifs de la migration
- Node.js: Upgrade vers Node 20
- Gestionnaire de paquets: Migration de Yarn vers pnpm
- Build tool: Migration de Vue CLI vers Vite
- Vue.js: Upgrade de 2.6.12 vers 3.5
- TypeScript: Upgrade vers 5.8
- State management: Migration de Vuex vers Pinia avec persistence
- Composition API: Suppression du plugin @vue/composition-api (natif dans Vue 3)
- PWA: Migration vers vite-plugin-pwa
Fichiers à conserver impérativement
- src/lib/spotify-player.js: Lecteur Spotify personnalisé
Points d'attention
- Configuration PWA complexe à migrer
- Internationalisation vue-i18n à adapter pour Vue 3
- Hooks TypeScript utilisant la Composition API
- Styles SCSS à préserver
- Configuration Netlify à adapter si nécessaire
Commandes de vérification avant migration
# Vérifier l'état actuel
yarn install
yarn serve
# Vérifier les tests (si présents)
yarn lint
Notes importantes
- Cette sauvegarde a été créée automatiquement avant le début de la migration
- La branche
migration-vue3contient l'état exact du projet avant modifications - Tous les fichiers de configuration ont été documentés pour référence future
Limitations identifiées lors de la préparation
- Node.js version actuelle: v14.4.0 (dans .node-version)
- pnpm installé: Version système nécessitant Node.js v18.12+
- Incompatibilité: pnpm ne peut pas fonctionner avec Node.js v14.4.0
- Solution: L'upgrade de Node.js vers v20 sera nécessaire avant d'utiliser pnpm
État de la préparation
✅ Application fonctionne avec yarn (état initial vérifié) ✅ Branche de sauvegarde créée ✅ Documentation de l'état actuel complète ⚠️ pnpm nécessite upgrade Node.js (prévu dans la migration)
Recommandations pour la suite
- Étape suivante: Upgrade Node.js vers v20 avant de continuer avec pnpm
- Alternative temporaire: Continuer avec yarn jusqu'à l'upgrade Node.js
- Ordre de migration: Node.js → pnpm → Vite → Vue 3 → autres dépendances