docs: add migration backup documentation before Vue 3 upgrade
This commit is contained in:
149
MIGRATION_BACKUP.md
Normal file
149
MIGRATION_BACKUP.md
Normal file
@@ -0,0 +1,149 @@
|
||||
# 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
|
||||
|
||||
```json
|
||||
{
|
||||
"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
|
||||
|
||||
1. **Node.js**: Upgrade vers Node 20
|
||||
2. **Gestionnaire de paquets**: Migration de Yarn vers pnpm
|
||||
3. **Build tool**: Migration de Vue CLI vers Vite
|
||||
4. **Vue.js**: Upgrade de 2.6.12 vers 3.5
|
||||
5. **TypeScript**: Upgrade vers 5.8
|
||||
6. **State management**: Migration de Vuex vers Pinia avec persistence
|
||||
7. **Composition API**: Suppression du plugin @vue/composition-api (natif dans Vue 3)
|
||||
8. **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
|
||||
|
||||
```bash
|
||||
# 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-vue3` contient l'état exact du projet avant modifications
|
||||
- Tous les fichiers de configuration ont été documentés pour référence future
|
||||
Reference in New Issue
Block a user