Bienvenue, Invité
Merci de vous identifier ou de vous inscrire.    Mot de passe perdu?

Structure des dossiers sous Magento
(1 lecteur(s)) (1) Invité(s)
Aller en basPage: 1
SUJET:

Structure des dossiers sous Magento

*
#9343
Gabriiiel
I love Magento.
Expert Magento
Messages: 4118
graph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin gabriel.bouhatous Formation Magento Audit Conseil gabriel.bouhatous Ask me :) Lieu: Paris

Structure des dossiers sous Magento

Il y a 8 Années, 11 Mois
Karma: 112  
Voici un aperçu rapide de la structure des dossiers sous Magento, afin de mieux s'y retrouver ;o

/ app - tous les fichiers concernant directement l'application se trouvent dans ce dossier

/ app / etc - contient les fichiers de configuration, notamment :

- local.xml qui contient la clé de cryptage, la date d'installation, et les informations de connexion à la base de données (Astuce : pour accéder au processus de réinstallation de Magento, il suffit de supprimer ce fichier !)

- config.xml qui contient plusieurs paramètres de configuration nécessaires

/app / etc / modules - c'est ici que se place le xml de déclaration de module (par exemple pour les modules du core de Magento, une grande partie est déclarée dans Mage_All.xml, le reste dans Mage_Bundle.xml ou Mage_Api.xml, etc.). Si vous faites un module nommé "Monmodule_Moncatalogue" alors votre fichier de déclaration sera à placer dans ce répertoire, avec le nom suivant : Monmodule_Moncatalogue.xml

/ app / code - c'est ici que les modules placent blocks, controleurs, modèles, script sql d'installation, fichier de configuration, etc., c'est à dire le module en lui-même, abstraction faites des gabarits et templates qu'il utilise éventuellement.

/ app / code / core - ce dossier contient les modules qui forment le noyau de Magento

/ app / code / community - une extension de type communautaire se place ici

/ app / code / local - une extension de type "local" (= modification spécifique à son installation) se place ici

/ app / code / core / Mage - "Mage" constitue le nom par défaut de l'espace qui contient les modules du noyau - en référence à "Magento"


Soit {Module} le nom du module :

/ app / code / core / Mage / {Module} - racine du module. par exemple : Catalog pour le module Mage_Catalog, ou Sales pour le module Mage_Sales

/ app / code / core / Mage / {Module} / etc - les fichiers de configuration du module : config.xml et system.xml (d'autres existent cependant)

/ app / code / core / Mage / {Module} / controllers - contient les controleurs du module

/ app / code / core / Mage / {Module} / Block - contient les blocks du module

/ app / code / core / Mage / {Module} / Model - contient les modèles

/ app / code / core / Mage / {Module} / Model / Mysql4 - toutes les ressources nécessaires aux modèles

/ app / code / core / Mage / {Module} / sql - contient le fichier d'installation, et de mise à jour dans le cas de différences entres versions

/ app / design - c'est à partir de se dossier que se trouvent les gabarits, les templates, mais également les traductions spécifiques au design

/ app / design / frontend - pour tout ce qui concerne le front

/ app / design / adminhtml - pour tout ce qui concerne le template de l'administration


Soit {zone} le nom de la partie dans laquelle on se trouve : adminhtml ou frontend (voire install pour le design du process d'installation)

{interface} désigne un dossier qui peut contenir plusieurs thèmes. L'interface par défault est "default".

{theme} désigne un dossier contenu au sein d'une interface. Le thème par défault, contenu dans l'interface "default", est appelé "default". Mais il existe également le thème "modern", le thème "blue", etc.

Ainsi on a :

INTERFACE "DEFAULT"
- default theme
- modern theme
- blue theme

Pour un développement on pourra donc créer sa propre interface :

INTERFACE "MONINTERFACE "
- mon thème n° 1
- mon thème n° 2 (spécial soldes par exemple)
- mon thème n° 3 (spécial noel par exemple)

Reprenons donc :

/ app / design / {zone} / {interface} / {theme} - tout ce qui concerne le thème

/ app / design / {zone} / {interface} / {theme} / layout - gabarits, c'est à dire fichiers xml qui définissent la structure des blocks de manière très souple

/ app / design / {zone} / {interface} / {theme} / template - templates, c'est à dire fichiers .phtml qui sont donc un mélange de html qui peut contenir du php, code php qui lui-même retourne du html.

/ app / design / {zone} / {interface} / {theme} / locale - fichiers de traduction compatibles avec le module Zend_Translate du framework Zend et spécifiques au template

/ app / locale - tous les fichiers de traduction

/ app / locale / {locale (fr_FR)} - fichiers de traduction compatibles avec le module Zend_Translate du framework Zend (ici, le dossier fr_FR désigne la traduction américaine)

/ skin / {zone} / {interface} / {theme} / - ce dossier contient les JS, CSS et images appliquables au template de l'interface {interface} et du thème {thème}

/ lib - toutes les librairies php nécessaires à Magento : le Zend Framework notamment mais aussi la librairie de Varien

/ js - contient les fichiers javascript (le JS framework prototype, scriptaculous, celui de varien...). (Astuce : dans ce répertoire, js/index.php doit avoir pour chmod 644 et le reste des fichiers dans /js/ doivent être en 705. De mauvais droits sur de dossier cause souvent des bugs, dont celui dit du "menu-déroulant-qui-se-déroule-pas").

/ media - pour les fichiers uploadés. vous trouverez un sous répertoire "catalog" qui contient lui même deux sous répertoires "product" (pour les images produits) et "category" (pour les images des catégories).

/ report : le template et le skin de la page de rapport d'erreur

/ var - les fichiers temporaires notamment le cache (sous dossier 'cache'), les sessions (sous dossier 'sessions'), les rapports d'erreurs (sous dossier 'report'), des logs (sous dossier 'log').


  • Contributeur : Gabriel

  • La reproduction de cet article n'est pas permise, hors autorisation expresse de Fragento.
 
Dernière édition: 25/03/09 à  06:26 Par Gabriiiel.
Expert Magento @ The e-Commerce Academy

L'administrateur a désactivé l'accès public en écriture.
#9359
Fibo
Platinum Boarder
Messages: 369
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Conseil & coaching informatiques Lieu: Marseille

Re:Structure des dossiers sous Magento

Il y a 8 Années, 11 Mois
Karma: 3  
Gabriiiel écrit:
- local.xml qui contient la clé de cryptage, la date d'installation, et les informations de connexion à la base de données (Astuce : pour accéder au processus de réinstallation de Magento, il suffit de supprimer ce fichier !)
Les infos de connexion à la base de données sont en clair... il faut donc protéger ce fichier et plus généralement le répertoire /app/etc/
Les protections mises en place sont généralement suffisantes.

Astuce supplémentaire: garder précieusement, en plus des sauvegardes habituelles, une copie de local.xml.
Notamment si l'on veut se connecter en phpmyadmin: puisque l'on y trouve toutes les infos de connexion.

NB: en fait j'ai, soigneusement à l'abri de toute mise à jour, une copie de /app/etc/local.xml, ainsi que de /.htaccess et d'un éventuel /php.ini
 
Dernière édition: 24/02/09 à  02:06 Par Fibo.Raison: typos
L'administrateur a désactivé l'accès public en écriture.
#9383
Gabriiiel
I love Magento.
Expert Magento
Messages: 4118
graph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin gabriel.bouhatous Formation Magento Audit Conseil gabriel.bouhatous Ask me :) Lieu: Paris

Re:Structure des dossiers sous Magento

Il y a 8 Années, 11 Mois
Karma: 112  
Oui tout à fait, les informations sont en clair dans ce fichier, je n'ai pas dis le contraire.

La protection .htaccess dans le répertoire /app/ interdit déjà l'accès direct ;o
 
Expert Magento @ The e-Commerce Academy

L'administrateur a désactivé l'accès public en écriture.
#12474
Luffy
Gold Boarder
Messages: 203
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Structure des dossiers sous Magento

Il y a 8 Années, 9 Mois
Karma: 3  
Je pense que sa devrait être mis en documentation directement sur le site web

Parce que sa aide bcp bcp les non initiés a ZF et Magento
 
L'administrateur a désactivé l'accès public en écriture.
#12501
Gabriiiel
I love Magento.
Expert Magento
Messages: 4118
graph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin gabriel.bouhatous Formation Magento Audit Conseil gabriel.bouhatous Ask me :) Lieu: Paris

Re:Structure des dossiers sous Magento

Il y a 8 Années, 9 Mois
Karma: 112  
Sébastien Lepers, qui gère la partie "FR" du site officiel, a toute liberté de mentionner ce code sur le Wiki officiel bien évidemment. ;)
 
Expert Magento @ The e-Commerce Academy

L'administrateur a désactivé l'accès public en écriture.
Revenir en hautPage: 1
Modérateur: Gabriiiel, ILOA, zuiko