Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Deploiement d'un site

11 réponses
Avatar
M
Bonjour,

Je voudrais savoir quelle technique vous utilisez à la fin d'un
développement sur votre serveur de test pour déployer les fichiers
sur un autre serveur (recette, prod).

Et surtout comment vous gérez les fichiers d'include qui diffèrent
souvent (éléments de connexion à la base de données différents entre
autres) en fonction de l'environnement.

- Faites-vous un ftp de TOUT sauf ces fichiers d'include (avec la
contrainte de devoir filtrer manuellement ces fichiers lors d'un put) ?
- Avez-vous un script personnalisé ?
- Avez-vous un fichier d'include identique qui sait automatiquement
repérer dans quel environnement il se trouve (avec le risque de
trimballer des mots de passe sur tous les environnements) ?

Merci de partager vos solutions.
M

1 réponse

1 2
Avatar
P'tit Marcel
Je voudrais savoir quelle technique vous utilisez à la fin d'un
développement sur votre serveur de test pour déployer les fichiers
sur un autre serveur (recette, prod).
Et surtout comment vous gérez les fichiers d'include qui diffèrent
souvent (éléments de connexion à la base de données différents entre
autres) en fonction de l'environnement.


Chaque serveur dispose d'un script include spécifique contenant ces
éléments de connexion. Il est placé dans un répertoire à part en dehors
de l'arborescence accessible du web. A priori, ce script ne change pas
d'une version à l'autre de l'application.

Lorsque le fonctionnement doit varier selon l'environnement (par
exemple, sélection de la base à accéder), je place dans un fichier
inclus systématiquement un truc du genre :

# bases de données selon le répertoire de départ
$t_database=array('rep1'=>'base1', 'rep2'=>'base1', 'rep3'=>'base2',

'rep4'=>'base3', 'rep5' => 'base4');
$repertoire=dirname($_SERVER['PHP_SELF']);
$pppos=strpos($repertoire, '/', 1);
if($pppos>0) $pppos--;
else $pppos=strlen($repertoire)-1;
$repertoire=substr($repertoire,1, $pppos);
if(isset($t_database[$repertoire]))
$DB=$t_database[$repertoire];
else die('P001: pb choix base');
unset($t_database);

#supposons qu'on ait besoin de définir des chemins absolus
$t_chemin_absolu = array('base1'=>'C:trucmachin',
'base2'=>'/etc/var/truc/', 'base3'=>'/home/truc/bidule/',
'base4'=>'/dev/null/');
if(isset($t_chemin_absolu[$DB]))
$chemin_absolu=$t_chemin_absolu[$DB];
else die('P002: pb choix chemin');
unset($t_chemin_absolu);


- Faites-vous un ftp de TOUT sauf ces fichiers d'include (avec la
contrainte de devoir filtrer manuellement ces fichiers lors d'un put) ?


ces includes sont dans un répertoire à part donc pas de filtre à prévoir.

- Avez-vous un fichier d'include identique qui sait automatiquement
repérer dans quel environnement il se trouve (avec le risque de
trimballer des mots de passe sur tous les environnements) ?


oui, et non (car il y a au moins deux scripts inclus)


eça
--
P'tit Marcel

1 2