5.9 KiB
5.9 KiB
Migration des Pages Inertia - PC Builder V2
📋 Résumé de la Migration
Toutes les pages Inertia du projet pc-builder ont été migrées vers pc-builderV2 avec AdonisJS V7.
✅ Pages Migrées
Pages d'Authentification (auth/)
- ✅
auth/login.vue- Page de connexion - ✅
auth/signup.vue- Page d'inscription - ✅
account/signup.vue- Page de création de compte (redondant)
Pages de Composants (components/)
- ✅
components/index.vue- Liste des composants - ✅
components/create.vue- Création d'un composant - ✅
components/edit.vue- Édition d'un composant - ✅
components/show.vue- Détails d'un composant
Pages d'Ordinateurs (computers/)
- ✅
computers/index.vue- Liste des ordinateurs - ✅
computers/create.vue- Création d'un ordinateur - ✅
computers/edit.vue- Édition d'un ordinateur - ✅
computers/show.vue- Détails d'un ordinateur
Pages d'Erreur (errors/)
- ✅
errors/not_found.vue- Page 404 (mise à jour avec style) - ✅
errors/server_error.vue- Page 500 (mise à jour avec style)
Layouts (pages/layout/)
- ✅
layout/defaultLayout.vue- Layout principal avec sidebar et header - ✅
layout/emptyLayout.vue- Layout vide pour auth - ✅
layout/sidebar.vue- Barre latérale de navigation - ✅
layout/header.vue- En-tête avec profil utilisateur
Composants Réutilisables (pages/widgets/)
- ✅
AuthErrorAlert.vue- Alerte d'erreur d'authentification - ✅
ComponentEditor.vue- Éditeur de composants - ✅
ComponentsViewer.vue- Visionneuse de composants - ✅
ComputerCard.vue- Carte d'ordinateur - ✅
ComputerComponentsTable.vue- Table de composants d'ordinateur - ✅
ComputersViewer.vue- Visionneuse d'ordinateurs - ✅
DeleteConfirmationModal.vue- Modal de confirmation de suppression - ✅
SimpleGallery.vue- Galerie simple - ✅
TableComponent.vue- Composant de table - ✅
ValidationError.vue- Afficheur d'erreurs de validation
🎯 Ressources Copiées
Assets (inertia/assets/)
-
✅ Icons/ - 18 fichiers SVG d'icônes
- case.svg, cooler.svg, cpu.svg, cross-icon.svg, default-icon.svg
- fan.svg, graphic-card.svg, hard-drive.svg, memory.svg, motherboard.svg
- mvne.svg, power-supply.svg, site-icon-with-title.svg, site-icon.svg
- trash-icon.svg, user-profile-icon.svg, wifi-card.svg, index.ts
-
✅ Images/ - Images utilitaires
- no-Image-placeholder.svg, index.ts
Composables (inertia/composables/)
- ✅
isAdminMode.ts- Gestion du mode admin - ✅
useSidebar.ts- Gestion de la sidebar
Directives (inertia/directives/)
- ✅
v_validation_error.ts- Directive pour afficher les erreurs de validation - ✅
v-delete-confirm.ts- Directive pour confirmation avant suppression - ✅
v-price.ts- Directive pour formatage des prix
Types (inertia/pages/types/)
- ✅
UITypes.ts- Types TypeScript pour l'interface utilisateur
🔧 Modifications AdonisJS V7
app.ts - Mise à jour
Le fichier inertia/app.ts a été mis à jour pour :
- Inclure les imports de directives
- Ajouter les composants globaux (VueDatePicker, Carousel, Slide)
- Implémenter la logique de sélection de layout dynamique
- Enregistrer les directives personnalisées
Structure de répertoires
inertia/
├── app.ts (mis à jour)
├── client.ts
├── ssr.ts
├── assets/
│ ├── icons/
│ └── images/
├── composables/
│ ├── isAdminMode.ts
│ └── useSidebar.ts
├── directives/
│ ├── v_validation_error.ts
│ ├── v-delete-confirm.ts
│ └── v-price.ts
├── pages/
│ ├── auth/
│ │ ├── login.vue
│ │ └── signup.vue
│ ├── account/
│ │ └── signup.vue
│ ├── components/
│ │ ├── index.vue
│ │ ├── create.vue
│ │ ├── edit.vue
│ │ └── show.vue
│ ├── computers/
│ │ ├── index.vue
│ │ ├── create.vue
│ │ ├── edit.vue
│ │ └── show.vue
│ ├── errors/
│ │ ├── not_found.vue
│ │ └── server_error.vue
│ ├── layout/
│ │ ├── defaultLayout.vue
│ │ ├── emptyLayout.vue
│ │ ├── sidebar.vue
│ │ └── header.vue
│ ├── types/
│ │ └── UITypes.ts
│ └── widgets/
│ ├── AuthErrorAlert.vue
│ ├── ComponentEditor.vue
│ ├── ComponentsViewer.vue
│ ├── ComputerCard.vue
│ ├── ComputerComponentsTable.vue
│ ├── ComputersViewer.vue
│ ├── DeleteConfirmationModal.vue
│ ├── SimpleGallery.vue
│ ├── TableComponent.vue
│ └── ValidationError.vue
└── css/
└── app.css (existant)
🎨 Améliorations Apportées
- Pages d'erreur - Mise à jour avec design cohérent et boutons de navigation
- Layout dynamique - Sélection automatique du layout en fonction de la route
- Admin mode toggle - Basculer entre mode admin et mode classique
- Intégration complète - Toutes les directives et composants sont disponibles
📝 Notes Importantes
- Les chemins des imports utilisent les alias Vite (~/) configurés dans
tsconfig.inertia.json - Les composants et directives sont enregistrés globalement dans
app.ts - La structure de layout suit le pattern de pc-builder avec DefaultLayout et EmptyLayout
- Les widgets réutilisables sont dans
pages/widgets/pour maintenir la compatibilité
🚀 Prochaines Étapes
- Vérifier que tous les imports sont corrects dans les controllers AdonisJS
- Adapter les types de modèles si nécessaire
- Tester la navigation et les layouts
- Vérifier les directives v-validation-error, v-price, v-delete-confirm
- Adapter les appels API selon la structure V7
Date de migration: Juin 2026 Source: pc-builder Destination: pc-builderV2 (AdonisJS V7)