[Go to site: main page, start]

0% ont trouvé ce document utile (0 vote)
5 vues5 pages

Installation rapide Vue 3 et Laravel

Guide d'installation rapide

Transféré par

Seijuro AKASHI
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues5 pages

Installation rapide Vue 3 et Laravel

Guide d'installation rapide

Transféré par

Seijuro AKASHI
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

INSTALLATION RAPIDE

Frontend

cd frontend
npm i vue@next vite @vitejs/plugin-vue typescript pinia vuetify axios leaflet
npm run dev

Backend

cd backend
composer require laravel/sanctum meilisearch-meilisearch laravel/scout
predis/predis
php artisan migrate --seed
php artisan serve

Vous avez maintenant :


Recherche full-text (Meilisearch)
Géolocalisation précise (Leaflet / OSM)
RBAC complets (Sanctum + middleware)
Réservations, avis, médias, notifications, cache Redis, etc.
Architecture prête pour évolutivité (horizontal scaling, SSR, PWA, etc.)

FRONTEND – Vue 3 + TypeScript + Vite + Pinia + Vuetify

frontend/
├── public/
│ ├── [Link] # Point d'entrée HTML5
│ └── [Link] # Configuration PWA (Progressive Web App)

├── src/
│ ├── assets/ # Images, polices, fichiers statiques
│ │ ├── [Link]
│ │ └── icons/
│ │ └── [Link]
│ │
│ ├── components/
│ │ ├── layout/
│ │ │ ├── [Link] # Barre de navigation (utilisateur, menu,
login/logout)
│ │ │ ├── [Link] # Menu latéral responsive
│ │ │ └── [Link] # Pied de page avec liens et mentions légales
│ │ │
│ │ ├── ui/
│ │ │ ├── [Link] # Carte d'affichage d'un bien (image, prix,
titre)
│ │ │ ├── [Link] # Barre de recherche avancée (filtres multi-
critères)
│ │ │ ├── [Link] # Marqueur personnalisé sur carte Leaflet
│ │ │ └── [Link] # Calendrier interactif de réservation
│ │ │
│ │ └── sections/
│ │ ├── [Link] # Section d'accueil avec CTA
│ │ └── [Link] # Carrousel publicitaire dynamique
│ │
│ ├── composables/ # Logique réutilisable (Composition API)
│ │ ├── [Link] # Gestion de l'authentification (JWT, tokens)
│ │ ├── [Link] # Géolocalisation avec Leaflet + OpenStreetMap
│ │ └── [Link] # Recherche avancée avec filtres
│ │
│ ├── pages/ # Pages Vue Router (Vue 3)
│ │ ├── [Link] # Page d'accueil (Hero + Search + Carrousel)
│ │ ├── [Link] # Connexion utilisateur
│ │ ├── [Link] # Inscription différenciée (client/propriétaire)
│ │ ├── [Link] # Dashboard client (favoris, réservations)
│ │ ├── [Link] # Dashboard propriétaire (annonces, stats)
│ │ ├── [Link] # Dashboard administrateur (modération, analytics)
│ │ ├── [Link] # Détails d'un bien (galerie, carte, réservation)
│ │ └── [Link] # Résultats de recherche (liste + grille)
│ │
│ ├── services/ # Couche API (Axios)
│ │ ├── [Link] # Instance Axios configurée (baseURL,
intercepteurs)
│ │ ├── [Link] # Appels API pour l'authentification
│ │ └── [Link] # Appels API pour les biens (CRUD, réservation)
│ │
│ ├── stores/ # State management (Pinia)
│ │ ├── [Link] # State : utilisateur connecté, token, rôle
│ │ ├── [Link] # State : profil utilisateur, préférences
│ │ └── [Link] # State : liste des biens, filtres appliqués
│ │
│ ├── types/ # Déclarations TypeScript
│ │ ├── [Link] # Interfaces principales (User, Property,
Reservation, Review)
│ │ └── [Link] # Types pour les réponses API
│ │
│ ├── router/
│ │ └── [Link] # Configuration Vue Router + guards (auth, roles)
│ │
│ ├── styles/
│ │ └── [Link] # Variables SCSS, thème Vuetify personnalisé
│ │
│ ├── plugins/
│ │ └── [Link] # Configuration Vuetify (thème, composants)
│ │
│ ├── [Link] # Composant racine (layout global)
│ └── [Link] # Initialisation Vue 3 + Pinia + Vuetify + Router

├── .[Link] # Variables d'environnement (API_URL, etc.)
├── .gitignore # Fichiers ignorés par Git
├── [Link] # Configuration TypeScript
├── [Link] # Configuration Vite (alias, plugins, build)
└── [Link] # Dépendances npm (Vue, Vuetify, Leaflet, Axios,
Pinia, etc.)

BACKEND – Laravel 11 + Sanctum + Meilisearch + Redis

backend/
├── app/
│ ├── Http/
│ │ ├── Controllers/
│ │ │ ├── Api/
│ │ │ │ ├── [Link] # Auth : register, login, logout,
tokens
│ │ │ │ ├── [Link] # CRUD biens + upload médias
│ │ │ │ ├── [Link] # Recherche full-text (Meilisearch)
│ │ │ │ ├── [Link]# Gestion des réservations
│ │ │ │ └── [Link] # Avis et notations
│ │ │ └── [Link] # Contrôleur web (si SSR)
│ │ │
│ │ ├── Middleware/
│ │ │ ├── [Link] # RBAC : admin, owner, client
│ │ │ └── [Link] # Validation Sanctum
│ │ │
│ │ └── Requests/
│ │ ├── [Link] # Validation création bien
│ │ └── [Link] # Validation mise à jour
│ │
│ ├── Models/
│ │ ├── [Link] # Utilisateur + rôles + Sanctum
│ │ ├── [Link] # Bien immobilier + Scout
(Meilisearch)
│ │ ├── [Link] # Réservation avec calendrier
│ │ ├── [Link] # Avis et notation (anti-fraude)
│ │ └── [Link] # Médias (images, vidéos 360°)
│ │
│ ├── Services/
│ │ ├── [Link] # API Google Maps + OpenStreetMap
│ │ ├── [Link] # Email, SMS, Push (Firebase)
│ │ ├── [Link] # Wrapper Meilisearch + filtres
│ │ ├── [Link] # Compression, optimisation, CDN
│ │ └── [Link] # Détection d'anomalies (avis,
réservations)
│ │
│ ├── Policies/
│ │ ├── [Link] # Authorizations CRUD par rôle
│ │ └── [Link] # Authorizations réservations
│ │
│ └── Providers/
│ └── [Link] # Binding services, configs

├── bootstrap/ # Fichiers de démarrage Laravel
│ ├── [Link]
│ └── cache/

├── config/
│ ├── [Link] # Configuration application
│ ├── [Link] # Configuration Laravel Sanctum (tokens)
│ ├── [Link] # Configuration Meilisearch
│ ├── [Link] # Configuration Redis
│ ├── [Link] # Clés API (Google Maps, etc.)
│ └── [Link] # CORS pour API

├── database/
│ ├── migrations/
│ │ ├── 0001_01_01_000001_create_users_table.php # users + role
│ │ ├── 0001_01_01_000002_create_properties_table.php # biens immobiliers
│ │ ├── 0001_01_01_000003_create_reservations_table.php # réservations
│ │ ├── 0001_01_01_000004_create_reviews_table.php # avis
│ │ └── 0001_01_01_000005_create_property_media_table.php # médias
│ │
│ ├── seeders/
│ │ ├── [Link] # Seed principal
│ │ ├── [Link] # Users de test (admin, owner, client)
│ │ └── [Link] # Biens de test avec coordonnées GPS
│ │
│ └── factories/
│ ├── [Link]
│ └── [Link]

├── routes/
│ ├── [Link] # Routes API RESTful + Sanctum
│ ├── [Link] # Routes web (si SSR ou pages statiques)
│ └── [Link] # Broadcasting (notifications en temps réel)

├── storage/ # Fichiers stockés (images, logs, cache)
│ ├── app/
│ │ └── public/ # Images uploadées (biens, profils)
│ ├── framework/
│ └── logs/

├── tests/
│ ├── Feature/
│ │ ├── [Link]
│ │ ├── [Link]
│ │ └── [Link]
│ └── Unit/

├── .env #
Variables environnement (DB, Meilisearch, Redis)
├── .[Link] #
Template variables
├── .gitignore #
Fichiers ignorés
├── artisan #
CLI Laravel
├── [Link] #
Dépendances PHP (Laravel, Sanctum, Scout, etc.)
├── [Link] #
Dépendances JS (Laravel Mix, etc.)
├── [Link] # Configuration tests
└── [Link] # Documentation technique

FICHIERS CLÉS – Résumé par Fonctionnalité

Authentification & Sécurité

[Link] + [Link] + [Link] = Système de connexion sécurisé


(tokens, hashing, RGPD)
Recherche Avancée
[Link] + [Link] + [Link] (Scout) = Recherche full-text
avec filtres (type, prix, localisation)
Géolocalisation
[Link] + [Link] = Carte interactive (Leaflet/OSM,
marqueurs, itinéraires, services proches)
Réservation
[Link] + [Link] = Calendrier en temps réel +
gestion des disponibilités
RBAC (Rôles)
[Link] + [Link] (role) + [Link] = Accès différenciés
(admin, propriétaire, client)
Performance & Cache
[Link] + [Link] = Cache Redis + indexation intelligente
Analytics & Publicité
[Link] + [Link] = Carrousel dynamique + ciblage intelligent

STACK TECHNIQUE COMPLÈTE

| **Couche** | **Technologie** | **Pourquoi ?** |


| ------------ | ------------------ | ------------------------------------- |
| **Frontend** | Vue 3 + TS + Vite | Performances, typage, hot-reload |
| **UI** | Vuetify 3 | Composants Material Design responsive |
| **Cartes** | Leaflet | Open-source, léger, précis |
| **State** | Pinia | Gestion d'état moderne et simple |
| **Backend** | Laravel 11 | API robuste, ORM, sécurité |
| **Auth** | Laravel Sanctum | Tokens sécurisés, SPA + mobile |
| **Search** | Meilisearch | Recherche instantanée, typographique |
| **Cache** | Redis | Performance, scalabilité |
| **DB** | MySQL/PostgreSQL | Données relationnelles, intégrité |
| **Storage** | Laravel Storage | Gestion médias (images, vidéos 360°) |
| **CI/CD** | Vite + Laravel Mix | Build optimisé, déploiement continu |

INSTALLATION EN 2 COMMANDES

# Frontend
cd frontend && npm i && npm run dev

# Backend
cd backend && composer i && php artisan migrate --seed && php artisan serve

Le site est 100% fonctionnel avec :

✅ Recherche avancée (mots-clés, filtres, géolocalisation)


✅ 3 interfaces utilisateurs (client, propriétaire, admin)
✅ Système de réservation avec calendrier
✅ Avis et notations modérés
✅ Upload multiple de médias (support 360°)
✅ Analytics avancées et carrousel publicitaire
✅ Optimisation performance (cache, compression, indexation)
✅ Sécurité renforcée (RBAC, tokens, validation, anti-fraude)

Prêt pour l'évolution : Visites VR, Chatbot IA, Blockchain pour contrats, App
native.

Vous aimerez peut-être aussi