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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Gestion des sources test/production


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Par défaut Gestion des sources test/production
    Bonjour,

    Je suis actuellement à la recherche d'un outil qui permet de gérer les sources pour faciliter le passage de test à la production. Pour le moment je suis obligée de copier/coller toutes les sources. Connaissez vous un moyen plus fiable et plus rapide?

    Merci d'avance!!

  2. #2
    Membre éclairé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2008
    Messages : 71
    Par défaut
    Bonsoir,

    Il n'existe pas à ma connaissance d'outil permettant d'automatiser à 100% la montée d'environnements en PHP.

    Il existe cependant plusieurs solutions efficaces :

    - Rsync (systèmes unix) permet de synchroniser des répertoires locaux ou distants. C'est un outil en ligne de commande qui est capable de ne copier que les fichiers ayant été modifiés depuis la dernière copie. L'outil ne fait que de la copie de sources, mais peut être piloté via un script shell (on peut ainsi créer une sauvegarde avant de lancer le déploiement). J'ai utilisé ce système pendant 3 ans, et cela a plutôt bien fonctionné (hormis quelques erreurs de manip).

    - Phing (toutes les plateformes) est un gestionnaire de build (portage d'Ant en PHP). il permet d'automatiser les actions nécessaires à une migration d'environnement (modification des fichiers de conf, copie de fichiers, exécution de tests, etc.), mais n'est pas nécessairement plus simple qu'un copier/coller (configuration par un fichier xml). Il permet cependant de limiter les erreurs de manip, et d'automatiser une sauvegarde de l'ancien code pour un retour arrière par exemple.

    - l'utilisation d'un gestionnaire de sources (subversion, git, etc.) permet de stocker l'historique des sources et de créer des "versions" du produit. On peut ensuite exporter la version créée vers le serveur de test/production via une ligne de commande unique. Cette solution est assez lourde mais très efficace et assure un retour arrière très rapide.



    Pour un site évoluant peu (une livraison de temps en temps, peu d'enjeux économiques), la solution rsync est suffisante : elle nécessite peu de temps de développement et de maintenance, et s'avère très stable

    Pour un site plus critique (site e-commerce, application métier), je passerais à un système plus complet. Par exemple, je viens de passer à une solution basée sur phing et subversion :

    - j'utilise d'abord une tâche phing pour lancer les tests unitaires de mon application, générer la documentation et créer une version dans mon gestionnaire de sources (subversion) si les tests ont passé.

    - Je me connecte ensuite au serveur sur lequel je dois livrer les sources et lance une autre tâche phing pour "exporter" les sources de mon serveur subversion dans le documentRoot d'apache.

    - En cas de problème, je dispose d'une 3eme tâche phing qui me permet de revenir à n'importe quelle version de mon application.

    C'est une solution assez lourde, mais qui me permet de livrer extrêmement fréquemment sans erreur ou fichier oublié.

    C'est un peu détaillé, n'hésite pas si ce n'est pas assez clair
    -Benjamin

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Par défaut
    Merci beaucoup pour ta réponse.

    Je n'hésiterai pas à revenir vers toi si j ai des questions.

    Bonne journée!!!

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Par défaut
    Une petite question : Est ce que juste l'utilisation de subversion suffirait à ce que je veux faire ?

    C'est à dire : gérer les différentes versions du codes et transférer mon code vers le serveur de prod. Est ce que phing est indispensable pour ces deux taches?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Par défaut
    Âpres réflexion, étant la seule développeuse, je pense qu'il serait plus judicieux d'utiliser phing ? Qu'en pensez tu? Je veux simplement un outil permettant de garder l'ancien code et le trasnfert de mon code vers le serveur de production.
    Est ce phing est simple d'utilisation?

  6. #6
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Par défaut
    Bonjour,

    Les solutions que monsieurben sont très exhaustives. Pour Windows, je rajouterai la solution avec Syncback.

    Si tu sais très bien te servir d'un gestionnaire de version, passer par celui-ci je suis convaincu que c'est une solution efficace.
    Si tu n'as jamais vraiment utilisé, je pense que tu risques de t'arracher les cheveux avec ce moyen car à la base ce n'est pas fait pour cela.

    Ce que tu veux réaliser correspond à l'une des étapes du cycle de vie d'une l'application qu'on appelle le déploiement. Phing est un outil pour prendre en charge les opérations relatives au cycle de vie.

    Je te conseille de regarder dans ce tutoriel l'exemple 2 :
    Gestion du cycle de vie d'une application PHP avec Phing

    Pour pouvoir t'aiguiller plus efficacement, j'aimerai savoir ce que tu entends par copier coller ? C'est une opération de copier coller sur le même disque ou un transfert à l'aide d'un client FTP ?

    Est ce que ton hébergement est sur un serveur dédié, sur un serveur mutualisé ou sur ta propre machine ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Par défaut
    J'utilise une machine virtuelle VMware. j'en ai une de test et une de production.
    Je passe par un outil FTP pour le transfert de mes sources.

    Est ce que cela répond bien à tes questions?

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/10/2009, 11h58
  2. Gestion des sources
    Par VLDG dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 25/12/2007, 17h36
  3. Gestion des sources sous OpenAL
    Par sebcmoa dans le forum Windows
    Réponses: 2
    Dernier message: 16/07/2007, 17h36
  4. Outil de gestion des sources
    Par therouxy dans le forum SCM
    Réponses: 4
    Dernier message: 27/09/2005, 19h23

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