Mettez-nous en vedette sur GitHub — cela nous motive beaucoup !
Aimeos est LE package de commerce électronique Laravel professionnel, complet et ultra rapide ! Vous pouvez l'installer dans votre application Laravel existante en 5 minutes et adapter, étendre, écraser et personnaliser tout ce qui correspond à vos besoins.
Aimeos est un package e-commerce complet :
... et plus de fonctionnalités Aimeos
Langues prises en charge :
Découvrez les démos :
Si vous souhaitez mettre en place une nouvelle application ou tester Aimeos, nous vous recommandons la distribution boutique Aimeos. Il contient tout pour un démarrage rapide et vous obtiendrez une boutique en ligne entièrement fonctionnelle en moins de 5 minutes :
Distribution boutique Aimeos
Si vous souhaitez créer vous-même une application monopage (SPA) ou une application Web progressive (PWA) et que vous n'avez pas besoin de l'interface HTML d'Aimeos, alors la distribution sans tête Aimeos est le bon choix :
Distribution sans tête Aimeos
Actuellement, les packages Aimeos Laravel 2023.10 et versions ultérieures sont entièrement pris en charge :
Si vous souhaitez effectuer une mise à niveau entre les versions majeures, veuillez consulter le guide de mise à niveau !
La distribution de la boutique Aimeos nécessite :
Si les extensions PHP requises sont manquantes, composer
vous indiquera les dépendances manquantes.
Si vous souhaitez effectuer une mise à niveau entre les versions majeures, veuillez consulter le guide de mise à niveau !
Assurez-vous d'avoir créé la base de données à l'avance et ajouté la configuration au fichier .env
dans le répertoire de votre application. Parfois, l'utilisation du fichier .env pose des problèmes et vous obtiendrez des exceptions indiquant que la connexion à la base de données a échoué. Dans ce cas, ajoutez également les informations d'identification de la base de données à la section ressource/db de votre fichier ./config/shop.php !
Si vous n'avez pas installé au moins MySQL 5.7.8 ou MariaDB 10.2.2, vous obtiendrez probablement une erreur comme
Specified key was too long; max key length is 767 bytes
Pour contourner ce problème, supprimez les nouvelles tables si des tables ont été créées et modifiez le paramètre charset/collation dans ./config/database.php
avec ces valeurs avant d'installer à nouveau Aimeos :
' connections ' => [
' mysql ' => [
// ...
' charset ' => ' utf8 ' ,
' collation ' => ' utf8_unicode_ci ' ,
// ...
]
]
Attention : Assurez-vous également que votre serveur MySQL crée des tables InnoDB par défaut car les tables MyISAM ne fonctionneront pas et entraîneront une erreur de contrainte de clé étrangère !
Si vous souhaitez utiliser un serveur de base de données autre que MySQL, veuillez consulter l'article sur les serveurs de base de données pris en charge et leur configuration spécifique. Sont pris en charge :
Assurez-vous d'utiliser l'un des serveurs de base de données pris en charge dans votre fichier .env
, par exemple :
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=aimeos
DB_USERNAME=root
DB_PASSWORD=
Attention : La base de données SQLite configurée par défaut n'est PAS supportée !
Le package de boutique en ligne Aimeos Laravel est une bibliothèque basée sur un compositeur. Il peut être installé plus facilement en utilisant Composer 2.1+ dans le répertoire racine de votre application Laravel existante :
wget https://getcomposer.org/download/latest-stable/composer.phar -O composer
Ensuite, ajoutez ces lignes au composer.json de l' application squelette Laravel :
"prefer-stable" : true ,
"minimum-stability" : " dev " ,
"require" : {
"aimeos/aimeos-laravel" : " ~2024.10 " ,
...
},
"scripts" : {
"post-update-cmd" : [
" @php artisan vendor:publish --tag=laravel-assets --ansi --force " ,
" @php artisan vendor:publish --tag=public --ansi " ,
" \ Aimeos \ Shop \ Composer::join "
],
...
}
Ensuite, installez le package de la boutique Aimeos en utilisant
php composer update -W
Dans la dernière étape, vous devez maintenant exécuter ces commandes artisanales pour obtenir une installation Aimeos fonctionnelle ou mise à jour :
php artisan vendor:publish --tag=config --tag=public
php artisan migrate
php artisan aimeos:setup --option=setup/default/demo:1
Dans un environnement de production ou si vous ne souhaitez pas que les données de démonstration soient installées, laissez de côté l'option --option=setup/default/demo:1
.
Vous devez configurer l'un des kits de démarrage d'authentification de Laravel. Laravel Breeze est le plus simple mais vous pouvez également utiliser Jetstream.
composer require laravel/breeze
php artisan breeze:install
npm install && npm run build # if not executed automatically by the previous command
Laravel Breeze vous posera quelques questions, la plus importante est le type de pile que vous souhaitez utiliser. Sélectionnez "Blade" (c'est le moyen le plus simple) et utilisez les valeurs par défaut pour les autres.
Il ajoute également une route pour /profile
vers ./routes/web.php
qui peut écraser la route aimeos_shop_account
. Pour éviter une exception concernant une route aimeos_shop_account
manquante, modifiez l'URL de ces lignes du fichier ./routes/web.php
de /profile
à /profile/me
:
Route:: middleware ( ' auth ' )-> group ( function () {
Route:: get ( ' /profile/me ' , [ProfileController::class, ' edit ' ])-> name ( ' profile.edit ' );
Route:: patch ( ' /profile/me ' , [ProfileController::class, ' update ' ])-> name ( ' profile.update ' );
Route:: delete ( ' /profile/me ' , [ProfileController::class, ' destroy ' ])-> name ( ' profile.destroy ' );
});
Pour plus d'informations, veuillez suivre la documentation Laravel :
Comme dernière étape, vous devez étendre la méthode boot()
de votre classe AppProvidersAppServiceProvider
et ajouter les lignes pour définir comment l'autorisation de "admin" est vérifiée dans app/Providers/AppServiceProvider.php
:
public function boot ()
{
// Keep the lines before
Illuminate Support Facades Gate:: define ( ' admin ' , function ( $ user , $ class , $ roles ) {
if ( isset ( $ user -> superuser ) && $ user -> superuser ) {
return true ;
}
return app ( ' AimeosShopBaseSupport ' )-> checkUserGroup ( $ user , $ roles );
});
}
Testez si votre configuration d'authentification fonctionne avant de continuer. Créez un compte administrateur pour votre application Laravel afin de pouvoir vous connecter à l'interface d'administration d'Aimeos :
php artisan aimeos:account --super < email >
L'adresse e-mail est le nom d'utilisateur pour la connexion et le compte fonctionnera également pour le frontend. Pour protéger le nouveau compte, la commande vous demandera un mot de passe. La même commande peut créer des comptes limités en utilisant --admin
, --editor
ou --api
au lieu de --super
(accès à tout).
Pour référencer correctement les images, vous devez adapter votre fichier .env
et définir l' APP_URL
sur votre véritable URL, par exemple
APP_URL=http://127.0.0.1:8000
Attention : assurez-vous que Laravel utilise le pilote de session file
dans votre fichier .env
! Sinon, le contenu du panier ne sera pas stocké correctement !
SESSION_DRIVER=file
Si votre répertoire ./public
n'est pas accessible en écriture par votre serveur Web, vous devez créer ces répertoires :
mkdir public/aimeos public/vendor
chmod 777 public/aimeos public/vendor
Dans un environnement de production, vous devriez être plus précis sur les autorisations accordées !
Ensuite, vous devriez pouvoir appeler la page de liste du catalogue dans votre navigateur. Pour un démarrage rapide, vous pouvez utiliser le serveur Web intégré. Exécutez simplement cette commande dans le répertoire de base de votre application :
php artisan serve
Pointez votre navigateur vers la page de liste de la boutique en utilisant :
Remarque : L'intégration du package Aimeos ajoute certaines routes comme /shop
ou /admin
à votre installation Laravel mais la page d'accueil reste intacte ! Si vous souhaitez également ajouter Aimeos à la page d'accueil, remplacez la route du "/" dans ./routes/web.php
par cette ligne :
Route:: group ([ ' middleware ' => [ ' web ' ]], function () {
Route:: get ( ' / ' , ' AimeosShopControllerCatalogController@homeAction ' )-> name ( ' aimeos_home ' );
});
Pour les configurations multi-fournisseurs, lisez l’article sur les boutiques multiples.
Cela affichera le composant d'accueil du catalogue Aimeos sur la page d'accueil et vous obtiendrez une belle page d'accueil de boutique qui ressemblera à ceci :
Si vous avez toujours démarré le serveur Web PHP interne ( php artisan serve
), vous devez maintenant ouvrir cette URL dans votre navigateur :
http://127.0.0.1:8000/admin
Entrez l'adresse e-mail et le mot de passe de l'utilisateur nouvellement créé et appuyez sur "Connexion". Si vous n'êtes pas redirigé vers l'interface d'administration (cela dépend du code d'authentification que vous avez créé selon la documentation de Laravel), pointez à nouveau votre navigateur vers l'URL /admin
.
Attention : assurez-vous que vous n'êtes pas déjà connecté en tant qu'utilisateur non-administrateur ! Dans ce cas, la connexion ne fonctionnera pas car Laravel vous demande d'abord de vous déconnecter.
Pour simplifier le développement, vous devez configurer pour n'utiliser aucun cache de contenu. Vous pouvez le faire dans le fichier config/shop.php
de votre application Laravel en ajoutant ces lignes en bas :
' madmin ' => [
' cache ' => [
' manager ' => [
' name ' => ' None ' ,
],
],
],
Le package Aimeos Laravel est sous licence selon les termes de la licence MIT et est disponible gratuitement.