Initial commit: PC Builder AdonisJS project

This commit is contained in:
Kevin
2026-06-28 10:41:51 +02:00
commit 648d0af538
144 changed files with 18570 additions and 0 deletions
+164
View File
@@ -0,0 +1,164 @@
# 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 :
1. Inclure les imports de directives
2. Ajouter les composants globaux (VueDatePicker, Carousel, Slide)
3. Implémenter la logique de sélection de layout dynamique
4. 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
1. **Pages d'erreur** - Mise à jour avec design cohérent et boutons de navigation
2. **Layout dynamique** - Sélection automatique du layout en fonction de la route
3. **Admin mode toggle** - Basculer entre mode admin et mode classique
4. **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
1. Vérifier que tous les imports sont corrects dans les controllers AdonisJS
2. Adapter les types de modèles si nécessaire
3. Tester la navigation et les layouts
4. Vérifier les directives v-validation-error, v-price, v-delete-confirm
5. Adapter les appels API selon la structure V7
---
**Date de migration:** Juin 2026
**Source:** pc-builder
**Destination:** pc-builderV2 (AdonisJS V7)