Child pages
  • Fondamentaux
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Table des matières

Fondamentaux

Concepts

Avant de vous lancer dans la création d'un module, il est préférable que vous maîtrisiez déjà la programmation orientée Objet avec PHP.

PrestaShop a été conçu pour que des modules tiers puissent facilement être construits sur ses fondations, ce qui en fait une solution e-commerce particulièrement personnalisable.

Un module est une extension à PrestaShop qui permet à n'importe quel développeur de :

  • ajouter des fonctionnalités à PrestaShop ;
  • afficher de nouvelles informations sur le site (sélection de produits, etc.) ;
  • communiquer avec d'autres acteurs e-commerce (guides d'achat, plate-forme de paiement, plate-formes logistiques...)
  • etc.

La société qui développe PrestaShop fournit plus de 100 modules gratuitement avec la solution elle-même, vous permettant de lancer rapidement et gratuitement votre boutique en ligne.

Plus de 1600 modules sont également disponibles sur le site officiel.
Ces modules additionnels, ont été conçus par la société PrestaShop ou par des membres de la communauté de PrestaShop, et sont vendus à des prix abordables.
En tant que développeurs, vous pouvez vous aussi vendre vos modules sur ce site, et recevoir 70% des ventes liées à votre création. Inscrivez-vous !

Architecture technique de PrestaShop

PrestaShop est basé sur une architecture 3-tiers :

  • Objet/données. L'accès à la base de données se fait par le biais des fichiers du dossier /classes.
  • Contrôle des données. Le contenu envoyé à l'utilisateur est vérifié par les fichiers du dossier racine.
  • Apparence. Tous les fichiers du thème sont dans le dossier /themes.

Il s'agit du même principe que pour l'architecture MVC (Modèle-Vue-Contrôleur), en plus simple et plus accessible.

Notre équipe de développeurs a choisi de ne pas utiliser de framework PHP, tel que Zend Framework, Symfony ou CakePHP, afin d'obtenir une meilleure lisibilité du code, et donc de permettre des modifications plus rapides.

Cela permet également d'obtenir de meilleures performances, étant donné que le logiciel n'est fait que de lignes de code qu'il utilise effectivement, et qu'il ne contient pas un lit de bibliothèques génériques ajoutées.

Une architecture 3-tiers a de nombreux avantages :

  • Il est plus facile de lire le code du logiciel.
  • Les développeurs peuvent ajouter et corriger le code plus rapidement.
  • Les designers et intégrateurs HTML peuvent travailler en toute sécurité dans le dossier /themes sans avoir à comprendre ou même lire une seule ligne de code PHP.
  • Les développeurs peuvent travailler sur des données et modules supplémentaires que les intégrateurs HTML peuvent exploiter.

Modèle

Un modèle représente le comportement de l'application : traitement des données, interaction avec la base de données, etc.

Il décrit ou contient les données qui ont été traitées par l'application. Il gère ces données, et garantis leur intégrité.

Vue

Une vue est l'interface avec laquelle l'utilisateur interagit.

Son premier rôle est d'afficher les données qui ont été fournies par le modèle. Son second rôle est de gérer toutes les actions en provenance de l'utilisateur (clic de la souris, sélection d'un élément, boutons, etc.) et d'envoyer ces données au contrôleur.

La vue ne fait aucun traitement : elle ne fait qu'afficher le résultat d'un traitement réalisé par le modèle, et interagit avec l'utilisateur.

Contrôleur

Le contrôleur gère la synchronisation des évènements entre le modèle et la vue, et met les deux à jour en fonction des besoins. Il reçoit tous les évènement utilisateur, et déclenche les actions à réaliser.

Si une action a besoin de modifier des données, le contrôleur "demandera" au modèle de modifier ces données, et en retour le modèle notifiera la vue que les données ont été changées, afin que la vue puisse se mettre à jour.

Schéma SQL

Vous pouvez télécharger le schéma de PrestaShop 1.5 au format PNG (2.5 Mo), ou au format original (vous devrez télécharger MySQL Workbench pour le lire).

  • No labels