157 lines
5.0 KiB
Markdown
157 lines
5.0 KiB
Markdown
# ✅ Checklist de Migration - Pages Inertia
|
|
|
|
## 📦 Fichiers Migrés
|
|
|
|
### Pages d'Authentification
|
|
- [x] `pages/auth/login.vue` - Page de connexion
|
|
- [x] `pages/auth/signup.vue` - Page d'inscription
|
|
- [x] `pages/account/signup.vue` - Création de compte
|
|
|
|
### Pages de Gestion des Composants
|
|
- [x] `pages/components/index.vue` - Liste
|
|
- [x] `pages/components/create.vue` - Création
|
|
- [x] `pages/components/edit.vue` - Édition
|
|
- [x] `pages/components/show.vue` - Détails
|
|
|
|
### Pages de Gestion des Ordinateurs
|
|
- [x] `pages/computers/index.vue` - Liste
|
|
- [x] `pages/computers/create.vue` - Création
|
|
- [x] `pages/computers/edit.vue` - Édition
|
|
- [x] `pages/computers/show.vue` - Détails
|
|
|
|
### Pages d'Erreur
|
|
- [x] `pages/errors/not_found.vue` - 404
|
|
- [x] `pages/errors/server_error.vue` - 500
|
|
|
|
### Layouts
|
|
- [x] `pages/layout/defaultLayout.vue` - Layout principal
|
|
- [x] `pages/layout/emptyLayout.vue` - Layout vide
|
|
- [x] `pages/layout/sidebar.vue` - Navigation
|
|
- [x] `pages/layout/header.vue` - En-tête
|
|
|
|
### Composants Réutilisables
|
|
- [x] `pages/widgets/AuthErrorAlert.vue`
|
|
- [x] `pages/widgets/ComponentEditor.vue`
|
|
- [x] `pages/widgets/ComponentsViewer.vue`
|
|
- [x] `pages/widgets/ComputerCard.vue`
|
|
- [x] `pages/widgets/ComputerComponentsTable.vue`
|
|
- [x] `pages/widgets/ComputersViewer.vue`
|
|
- [x] `pages/widgets/DeleteConfirmationModal.vue`
|
|
- [x] `pages/widgets/SimpleGallery.vue`
|
|
- [x] `pages/widgets/TableComponent.vue`
|
|
- [x] `pages/widgets/ValidationError.vue`
|
|
|
|
### Assets & Resources
|
|
- [x] `assets/icons/` - 18 fichiers SVG
|
|
- [x] `assets/images/` - Placeholders
|
|
- [x] `composables/isAdminMode.ts` - Gestion admin
|
|
- [x] `composables/useSidebar.ts` - Gestion sidebar
|
|
- [x] `directives/v_validation_error.ts` - Validation
|
|
- [x] `directives/v-delete-confirm.ts` - Confirmation
|
|
- [x] `directives/v-price.ts` - Formatage prix
|
|
- [x] `pages/types/UITypes.ts` - Types TypeScript
|
|
- [x] `app.ts` - Configuration Inertia (mise à jour)
|
|
|
|
## 📋 Étapes de Validation
|
|
|
|
### 1. Vérification des Imports
|
|
- [ ] Vérifier que tous les chemins d'import utilisent l'alias `~/`
|
|
- [ ] Vérifier que les imports de composants existent
|
|
- [ ] Vérifier que les imports d'icônes fonctionnent
|
|
|
|
### 2. Configuration du Routage
|
|
- [ ] Vérifier que les routes AdonisJS retournent les bonnes pages Inertia
|
|
- [ ] Tester la navigation entre les pages
|
|
- [ ] Vérifier les redirections de layout (auth vs. default)
|
|
|
|
### 3. Styles et CSS
|
|
- [ ] Vérifier que Tailwind CSS est chargé
|
|
- [ ] Tester le design responsive
|
|
- [ ] Vérifier l'apparence du sidebار et de l'en-tête
|
|
|
|
### 4. Composants & Directives
|
|
- [ ] Vérifier que VueDatePicker fonctionne
|
|
- [ ] Tester la directive v-validation-error
|
|
- [ ] Tester la directive v-price
|
|
- [ ] Tester la directive v-delete-confirm
|
|
- [ ] Vérifier les composants Carousel
|
|
|
|
### 5. Fonctionnalités
|
|
- [ ] Tester le toggle admin/classic mode
|
|
- [ ] Tester la barre latérale responsive
|
|
- [ ] Vérifier l'affichage du profil utilisateur
|
|
- [ ] Tester la déconnexion
|
|
|
|
### 6. Pages Critiques
|
|
- [ ] Page de connexion - formulaire et validation
|
|
- [ ] Page de création de composant - formulaire complet
|
|
- [ ] Page de liste des ordinateurs - grille responsive
|
|
- [ ] Page de détails - affichage corrects des données
|
|
- [ ] Pages d'erreur - design cohérent
|
|
|
|
## 🔧 Configuration Requise
|
|
|
|
### Dependencies Vérifiées
|
|
```json
|
|
{
|
|
"@adonisjs/inertia": "^1.0",
|
|
"@inertiajs/vue3": "^1.0",
|
|
"@adonisjs/core": "^6.0",
|
|
"vue": "^3.0",
|
|
"tailwindcss": "^3.0",
|
|
"@vuepic/vue-datepicker": "latest",
|
|
"vue3-carousel": "latest",
|
|
"vue-sonner": "latest"
|
|
}
|
|
```
|
|
|
|
## 🚨 Points d'Attention
|
|
|
|
1. **Base Données**: Assurez-vous que les modèles AdonisJS correspondent aux types TypeScript
|
|
2. **Authentification**: Vérifier que les guards et middlewares d'auth sont correctement configurés
|
|
3. **CSRF**: Vérifier que les tokens CSRF sont transmis correctement
|
|
4. **Permissions**: Vérifier que le mode admin accès les bonnes données
|
|
5. **Fichiers**: Adapter les chemins de fichiers uploadés si nécessaire
|
|
|
|
## 📝 Notes de Développement
|
|
|
|
### Modèles AdonisJS (À adapter)
|
|
Les pages supposent les modèles suivants dans `app/models/`:
|
|
- `Component` - Modèle de composant
|
|
- `Computer` - Modèle d'ordinateur
|
|
- `ComponentType` - Type de composant
|
|
- `ComputerState` - État d'ordinateur
|
|
- `User` - Utilisateur authentifié
|
|
|
|
### Types TypeScript
|
|
Les types sont définis dans `inertia/pages/types/UITypes.ts` - adapter selon vos modèles réels
|
|
|
|
### Chemins d'Import
|
|
L'alias `~/` est configuré pour pointer vers `inertia/`:
|
|
- `~/pages/` → `inertia/pages/`
|
|
- `~/composables/` → `inertia/composables/`
|
|
- `~/directives/` → `inertia/directives/`
|
|
- `~/assets/` → `inertia/assets/`
|
|
|
|
## 🎯 Résumé de la Migration
|
|
|
|
✅ **Tous les fichiers Inertia ont été migrés de pc-builder vers pc-builderV2**
|
|
|
|
### Fichiers Créés: 45+
|
|
- 11 Pages Inertia
|
|
- 4 Layouts
|
|
- 10 Composants widgets
|
|
- 18 Icônes SVG
|
|
- 2 Composables
|
|
- 3 Directives
|
|
- 1 Fichier de types
|
|
|
|
### Fichiers Modifiés: 1
|
|
- `inertia/app.ts` - Configuration complète pour AdonisJS V7
|
|
|
|
---
|
|
|
|
**Date:** Juin 2026
|
|
**Status:** ✅ Terminé
|
|
**Prochaine Étape:** Adapter les controllers et routes AdonisJS
|