Files
pc_builder/MIGRATION_PAGES_SUMMARY.md
2026-06-28 10:41:51 +02:00

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 :

  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)