SamXIV Posted September 11, 2015 Share Posted September 11, 2015 (edited) Bonjour à vous, J'ai été amené à me questionner sur la façon dont sont gérés les fichiers de configuration de prestashop, et ma réfexion m'a mené à bien des paradoxes. J'aimerais volontiers vos avis experts. Voici mon cas : J'ai une boutique déployée en local, sur un serveur de production et de dev, le tout versionné comme il faut avec git. J'ai besoin d'avoir des réglages différents du fichier defines.inc.php selon l'environnement de travail -> l'exemple le plus flagrant étant la constante _PS_MODE_DEV_ qui doit etre à true sur les environnement dev et false en production. Par la nature de son contenu, le fichier defines.inc.php doit être versionné, ce qui interdit de modifier cette constante dans ce fichier là. A première vue, les chosent peuvent paraitre bien faites, le code exact pour cette variable étant : if (!defined('_PS_MODE_DEV_')) define('_PS_MODE_DEV_', false); Ce qui nous laisse l'espoir de pouvoir définir cette variable en amont. Ce serait une "surcharge". Très bien, alors où ? Voici comment on arrive à cette ligne : index.php inclu tout d'abord le fichier config.inc.php config.inc.php inclu tout d'abord le fichier defines.inc.php Il n'y a donc rien de prévu nativement pour pré-définir des constantes alors qu'il y a bien du code écrit pour éviter de les redéfinir. Note : Il y a bien le fichier settings.inc.php qui n'est pas destiné au versionning, mais il est ajouté dans le fichier config.inc.php après le fichier defines.inc.php et donc trop tard pour pré-définir la constante _PS_MODE_DEV_. Est-ce que j'ai loupé quelque chose ou est-ce que ce comportement natif est "incomplet" ? La seule solution que j'ai trouvé est de modifier un fichier du "coeur" (index.php ou config.inc.php) pour inclure un autre fichier de config perso en amont. Bien à vous qui avez lu ce long post. Edited September 11, 2015 by SamXIV (see edit history) Link to comment Share on other sites More sharing options...
seb776 Posted September 11, 2015 Share Posted September 11, 2015 (edited) Hello, Pour ma part je ne versionne pas les fichiers de configuration prestashop. En fait je versionne settings.inc._local_.php ou settings.inc._prod_.php par exemple mais jamais le fichier lui même. Idem pour defines.inc.php puisqu'il doit changer selon l'environnement. ça demande juste a faire un copié collé et adapter la config une fois et voilà. C'est ce que j'ai trouvé de plus efficace... Edited September 11, 2015 by seb776 (see edit history) 1 Link to comment Share on other sites More sharing options...
SamXIV Posted September 11, 2015 Author Share Posted September 11, 2015 Pour ce qui est des fichiers dont tu parles settings.inc._local_.php, c'est un fichier en plus de settings.inc.php ? Et si oui où l'intègres tu ? Link to comment Share on other sites More sharing options...
seb776 Posted September 11, 2015 Share Posted September 11, 2015 En fait, ce sont juste des copies des fichiers, pas utilisées, juste là par sécurité et pour des raisons pratiques 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