IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Déploiement application PHP


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 40
    Points
    40
    Par défaut Déploiement application PHP
    Bonjour
    Comment doit-on s'y prendre pour déploier une application php fraichement développée?
    Faut-il simplement copié collé les fichiers ? Y a t-il des framework open source qui gère le déploiement ?
    Le seul que j'ai vu c'est celui proposé par Zend, il a l'air ok mais payant!!!

    merci pour vos suggestions

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Points : 207
    Points
    207
    Par défaut
    Ben si ton appli marche sans framework, il suffit de mettre les fichiers sur un serveur web.
    Et bein évidaament créer ta bd si tu en utilise une.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 40
    Points
    40
    Par défaut
    je vais reformuler :
    Je développe sur une machine A - j'ai ma propre configuration apache.
    Je teste en local et tout fonctionne

    Je veux mettre mon application en production sur une machine B où apache et php sont installés (meme version qu'en développement).
    -> Si des paramètres de configuration ont été rajoutés ou modifiés - cela signifie qu'il faut faire les modifications à la main !
    -> si de nouvelles librairies sont utilisées - il faut que je les rajoute aussi!
    --> et il en va de même pour les sources.

    Finalement à chaque mise en production, il faut maitriser l'ensemble du déploiement et cela peut générer de nombreuses erreurs d'inatentions.

    Ma question est donc la suivante quels outils existent pour rendre le processus plus facile?
    (du genre déploiement à la tomcat : on installe un war (sources) et les fichiers de configurations correspondant on lance et tout est ok!)

  4. #4
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Points : 207
    Points
    207
    Par défaut
    Question intérésssante, je developpe directement sur le serveur de prod, ouai je sis c'est pas bien.
    Je n'ai jamais entendu parler d'outil de déploiement pour PHP.

  5. #5
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    perso j'utilise subversion et rsync

    on développe sur le serveur de dev (logique...), on fait des commit svn réguliers (ça fait une save et permet le travail en commun plus aisé) et on déploie en prod en synchronisant les dossiers avec rsync (utiliser cygwin si vous êtes sous windows)

    dernièrement on s'est fait une appli PHP qui simplifie toutes les étapes qu'on doit faire normalement à la main (exécution de commandes), mais ça c'est encore une autre histoire

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 40
    Points
    40
    Par défaut
    merci Dia_FR pour l'infos, effectivement ça à l'air faisable avec rsync (en plus je connaissais CVS mais pas son successeur svn )

    Quelqu'un procède t-il différement?

  7. #7
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2005
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    J'ai le même problème.
    Nous avons 3 plateformes, dev - test - prod, et en +, nous utilisions svn
    Quand les développeurs font une realise d'une application php, nous faisons un commit sur svn, en suite on déploie d’une manière manuelle l’application sur le serveur de test :
    • Envoyer les fichiers avec ftp
    • Exécuter des requêtes sql pour mettre à jour la BD
    Le QA teste l’application, et après validation en redéploye notre application (Fichiers et SQL) sur le serveur de prod.
    Je cherche à automatiser le déploiement, la méthode de subversion et rsync est une bonne solution pour le déploiement des fichiers, mais il reste à exécuter les requêtes SQL.
    Donc, soit je trouve un outil qui me permet de construire un module de déploiement (Fichiers et SQL), soit nous allons développer notre propre application de déploiement, mais avant j’aimerai être sure qu’une telle application n’existe pas.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Points : 309
    Points
    309
    Par défaut
    bonjour,

    Ce poste m'intéresse.

    Je développe actuellement sur php / mssql sur un serveur LAMP trustix.

    Il existe trois serveur un de developpement, un de test et un de production.
    En fait il s'agit du même serveur mais il y a un répertoire pour chaque étape dans le répertoire /home/httpd.

    Pour permettre au code d'être identique quelque soit le serveur mes prédécesseurs utilise cette petite astuce dans le fichier de connexion sql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //Serveur actuel, pour selectionner la base
    $serveur=explode(".",$_SERVER['SERVER_NAME']);
    $serveur=$serveur[0];
    .

    ainsi quand je fait appelle à une procédure stockée je la préfixe avec le nom du serveur actuellement utilisé

    Ce qui implique que toute ma base de donnée est dupliquée en trois fois sur mon serveur mssql. Idem pour les procédures _stockées avec un format $server_lenomtable ou $serveur_lenomProcedureStocke.

    Et je me pose d'ailleur cette question comment vais-je copier les tables et les procédures stockées pour pouvoir ensuite les renommer en fonction du serveur et surtout changer le nom des tables utilisées dans chaque requêtes.

    Je vais donc suivre ce post avec interet

    ++ all

  9. #9
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2005
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Après une recherche sur internet, je n'ai pas trouvé un outil qui fait du déploiement de fichier et exécution de requêtes SQL. Nous avons donc décidés de développer un scripte qui sera utilisé conjointement avec SVN pour le déploiement de nos applications sur les différentes plateformes (Test et Prod).

    L’idée est simple, nous avons ajoutés un répertoire SQL dans notre TRUNK, dans ce dernier, nous ajoutons un fichier texte qui porte comme nom, le numéro de version de la release en cours, ce fichier, contiendra toutes les requêtes SQL qui touche sur soit, la structure de la base, soit les données. Exemple, si actuellement on développe la version 2.5 de notre application, dans le répertoire SQL, il y a un fichier 2.5.sql avec toutes les modifications au niveau de la base de données.

    Notre scripte écrie en php, nous permet pour un premier temps, de naviguer sur notre serveur SVN, pour sélectionner le projet et la version que nous voulons déployer, en suite, grâce aux commandes de svn, le scripte construit un zip avec les fichiers a déployer avec le fichier sql a exécuter lord du déploiement, et a la fin, il déploie l'application sur les différentes plateformes via FTP et exécute le fichier SQL. Avec ce procédé nous avons industrialisé le déploiement de nos applications en prenons en charge les modifications qui doivent être apportées au niveau de la base de données.

    Espérant que mon retour d’expérience sur ce sujet vous aidera

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 31
    Points : 29
    Points
    29
    Par défaut
    Pour en revenir à la question première, l'abstraction PDO est une bonne solution pour déployer son application facilement sur un serveur SQL différent.

    Et pour ce qui est de la config PHP et Apache à conserver lors d'un déploiement, une solution serait de les mettre dans le .htaccess à la racine

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 40
    Points
    40
    Par défaut
    Oui en effet, pour la couche de données on peut utiliser un outil de mapping relationnel qui permet de gérer les données en base sous forme d'objet PDO simplement à l'aide de fichier xml qui décrit la structure des tables.

    Pour le htaccess, j'ai pas tout saisi en revanche..

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 31
    Points : 29
    Points
    29
    Par défaut
    Dans le htaccess, on peut inclure une config php spécifique comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      php_value session.use_trans_sid 0
      php_value register_globals 0
    Par contre dans la config apache il faut bien spécifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <Directory "/var/www/htdocs">
       AllowOverride Options
    </Directory>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Déploiement application avec PHP
    Par DBA_OCP dans le forum Flex
    Réponses: 19
    Dernier message: 11/02/2011, 14h48
  2. [Flex4] Déploiement application PHP
    Par DBA_OCP dans le forum Flex
    Réponses: 0
    Dernier message: 26/01/2011, 23h00
  3. Réponses: 5
    Dernier message: 01/10/2006, 16h55
  4. [Déploiement Application] Quel SGBD sont conseillés ?
    Par charliejo dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 24/01/2006, 17h47
  5. [EasyPHP] Probleme de deployement d'une application PHP sous linux
    Par stomerfull dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 16/01/2006, 15h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo