Initial commit: PC Builder AdonisJS project
This commit is contained in:
@@ -0,0 +1,156 @@
|
||||
# ✅ 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
|
||||
Reference in New Issue
Block a user