fabfaitlehtml Posted February 18, 2013 Share Posted February 18, 2013 (edited) Bonjour à toutes et tous, Je rédige ce post afin de m'aider à y voir plus clair dans l'architecture de Prestashop et les différents éléments qui la composent et qui la font fonctionner. En effet, l'une des difficultés pour un e-commerçant qui souhaite être un peu autonome* avec Prestashop c'est de bien comprendre où sont ces éléments et quelles sont leurs fonctions respectives. * : ce qui n'empêche pas – bien au contraire - de s'adjoindre l'aide d'un développeur / intégrateur, à un moment ou à un autre, pour mettre en place un site qui soit performant (en tous cas ça sera mon cas). Et comme j'y ai passé beaucoup de temps, je préfère partager avec tous ceux à qui ça peut être utile ma "compréhension" de l'architecture de Prestashop. Ainsi le temps et l'énergie que j'y consacre pourront peut-être servir à d'autres. Je vais utiliser des termes qui peuvent parfois ne pas être les bons ou peut-être écrire quelques "énormités". Si tel était le cas, n'hésitez pas à me les indiquer de manière à ce que je modifie en conséquence. Je vais essayer d'être le plus clair et le plus didactique possible, pour ma propre compréhension comme pour celle des autres, quitte à utiliser des métaphores ou des comparaisons approximatives. Prestashop (PS) est une solution basée sur le langage de programmation PHP. Pour fonctionner un site de E-commerce à besoin de plusieurs éléments : - Une Base De Données (BDD) dans laquelle sont mémorisées les données relatives à la boutique (les produits, les catégories, les fabricants, les clients, etc.). - Un ensemble de templates (fichiers .tpl) qui structurent les pages. Ce sont un peu comme des fichiers HTML mais qui sont spécifiques puisqu'ils vont être associés à différents contenus provenant de la BDD et d'autres sources (exemple, les photos des produits qui se trouvent dans le dossier img) pour pouvoir être interprétés comme des pages Web complètes par les navigateurs. - Des images (photos des produits, etc.), des scripts, des fichiers de traductions et d'autres documents divers qui se trouvent dans différents dossiers à la racine du site. - Des fichiers CSS afin de définir l'aspect visuel des différents éléments assemblés. - Des fichiers PHP qui ont pour fonction d'exécuter les actions spécifiques requises par les internautes lors de leur navigation sur le site (afficher le contenu d'une catégorie, indiquer les déclinaisons disponibles pour un article, afficher le contenu du panier, etc.). Il y a plusieurs "types" de fichiers PHP (classes, controllers, etc.) qui ont chacun des fonctions spécifiques. - D'un dossier d'administration (Back-Office), qui n'est ni plus ni moins qu'une interface graphique permettant d'intervenir sur le paramétrage de certains des éléments (mais pas tous) qui constituent la solution sans avoir à connaître le PHP ou le fonctionnement des requêtes SQL. - Des modules qui sont des fonctionnalités spécifiques du site, qui peuvent être (pour certaines, peut-être pas pour toutes ?) activées ou désactivées selon si le e-commerçant souhaite les utiliser sur son site ou pas. - Et enfin un moteur de templates (smarty) qui va pouvoir assembler tout ça. Maintenant que les présentations (sommaires) sont faîtes, voyons où l'on va retrouver tout ce petit monde. Pour une question de clarté, je décris ici l'emplacement des éléments à partir de la racine du site en partant de l'architecture de base de la version 1.4.8.3 - Les principaux* fichiers .tpl (templates) se trouvent dans le dossier – themes - puis sous-dossier - prestashop - (themes/prestashop). Lequel sous-dossier peut porter un autre nom si vous utilisez un autre thème que celui qui est fourni à l'installation. * On trouve également d'autres fichiers .tpl dans d'autres dossiers (dans certains modules, par exemple). - Les principaux* modules se trouvent dans le dossier – modules – (modules/) * On trouve également d'autres modules dans d'autres dossiers (dans les themes, par exemple). - Les principaux* fichiers CSS se trouvent dans le dossier – themes – puis sous-dossier – prestashop - puis sous-sous-dossier – css – (themes/prestashop/css) * On trouve également d'autres fichiers CSS dans d'autres dossiers (dans certains modules, par exemple). - Les images (produits, logo, images de fond, etc) se trouvent dans le dossier themes – puis sous-dossier – prestashop - puis sous-sous-dossier – img – (themes/prestashop/img) * On trouve également d'autres images dans d'autres dossiers. - Les scripts en JavaScript se trouvent dans le dossier themes – puis sous-dossier – prestashop - puis sous-sous-dossier – js – (themes/prestashop/js) * On trouve également d'autres fichiers .tpl dans d'autres dossiers (dans certains modules, par exemple). - Les traductions se trouvent dans le dossier themes – puis sous-dossier – prestashop - puis sous-sous-dossier – lang – (themes/prestashop/lang). Elles sont aussi directement accessibles via le back-office. * On trouve également d'autres fichiers de traduction dans d'autres dossiers (dans certains modules, par exemple). - Les tables et les données qui sont stockées dans la BDD sont accessibles via un gestionnaire de BDD du type phpMyAdmin qui est installé sur votre serveur (local ou distant). - Le Back Office est accessible via votre navigateur Web en indiquant à la fin de l'url de votre site le nom que vous avez donné à votre dossier – admin – lors de l'installation. Exemple en local : http://localhost/prestashop/admin0000 ou à distance : www.monsitefaitmaison.com/admin0000 Voilà, c'est tout pour l'instant. J'y reviendrais peut-être un peu plus tard ce soir, sinon demain. Quoi qu'il en soit, vous pouvez d'ores et déjà m'indiquer les éventuelles modifications à apporter s'il y en a. Je vais aborder dans la suite (si j'arrive à en comprendre le fonctionnement) : les hooks, les classes, les controllers, l'override, etc. Edited February 18, 2013 by fabfaitlehtml (see edit history) 2 Link to comment Share on other sites More sharing options...
fabfaitlehtml Posted February 22, 2013 Author Share Posted February 22, 2013 Il existe un très bon tutoriel sur le fonctionnement des HOOKS rédigé par Brocéliande : http://www.prestashop.com/forums/topic/95361-les-hooks-pour-les-nuls/ La première chose que j'ai retenu du post de Brocéliande, c'est qu'il faut traduire "hook" plutôt comme "détour" que comme "crochet". C'est un point important pour la compréhension du rôle des hooks. Link to comment Share on other sites More sharing options...
ILES ERIC Posted February 6, 2016 Share Posted February 6, 2016 Merci de votre partage et de ces claires explications ! Eric Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now