Salut à tous les développeurs,

Je développe des sites depuis un petit moment, j'apprend en continue comme nous tous, mais il me reste quelques questionnements de noob :D

Ma question s'adresse à ceux qui font ça de manière professionnelle et est la suivante : comment faites-vous pour gérer un serveur de développement ? Avez-vous toujours deux versions d'un projet ?

Pour ma part actuellement je n'utilise ni Git (j'ai lu pas mal à ce sujet mais je pense pas que ça me soit utile dans mon cas) ni rien pour ça.
Je développe un site sur une url temporaire (eg : dev.super-site.fr) puis quand tout est pret je modifie l'url pour que ça soit accessible sur super-site.fr. Mais en faisant ça, si il y a une modification à faire une fois le site sorti, je le fais directement sur la version en prod .. pas terrible effectivement.

Il y a des outils pour ça ? Est-ce que la plus part des développeurs font simplement un copier/coller d'un dossier à l'autre pour mettre ça sur l'url de prod ? Est-ce que c'est l'utilité de Git ou est-ce que je comprend vraiment rien à ce logiciel ?

Il y a en plus le cas WordPress (qui est la majorité des sites que je développe, comme beaucoup j'imagine) puisqu'il faut penser à changer l'url des medias, l'adresse du site dans wp_options, etc ..

C'est assez flou, j'espère que vous m'aurez compris, merci de vos retours !

3 réponses


Bonjour.
Il y a des outils tel que par exemple (vu que Grafikart a fait un tutoriel sur le sujet) Ansible : Formations » Mettre en place un serveur Web : Ansible qui te permettent de définir par exemple des variables d'environnement et des tâches à effectuer selon le type d'environnement (développement/production).
De cette manière si tu veux déployer ton projet sur un environnement de production, tu n'auras qu'une simple commande à faire et l'outil effectura des tâches particulières, comme par exemple effectuer le transfert d'un certain dossier via FTP ou autre.
Tu en saura plus en visionnant la vidéo que j'ai cité plus haut.

Le souci de ta question c'est qu'il n’y a pas une seule méthode pour le faire. Tu peux par exemple tu l'a cité, le faire avec git en créant deux instances sur ton serveur et utiliser git pour push sur le dev, vérifier tes modifications et ensuite push en prod (en général master). Après tu as aussi des techniques qui sont directement sur le serveur qui permet de prendre les éléments de ton dev et qui va les mettre sur ta prod.

Pour tout ce qui est le déployement (prod, staging, dev, etc.), tu verra beaucoup d'article qui te dis que telle ou telle manière est mieux qu'une autre avec des technos varié et pas toujours évident a prendre en main.

Détermine déjà tes besoins. Est-ce que tu as besoin de deux instances ou plus d'un projet en ligne , si oui pourquoi, etc ?

Ensuite tu demandes professionnellement, alors là pareil tu verras tout et n'importe quoi. Parfois pour des raisons de sécurité et de contrôle des clients ont leur instance de dev et tu peux mettre en prod que par celle-ci, etc.

Pour wordpress, tu as Bedrock, c'est un cadre de développement pour wordpress. C'est wordpress comme tu connais, mais avec des outils en plus pour dev (composer, etc.). Ils ont ajouté un fichier .env ou dedans tu mets toutes tes variables d'environnement. Donc dans ton cas si tu mets ton site en prod, tu as juste besoin de modifier le fichier .env et c'est tout. Sauf si tu code des thèmes avec des urls fixe ^^.

Stalfos
Auteur

Merci pour vos conseils messieurs !

Je vais me renseigner sur les outils que vous avez cité, et faire en fonction de mes besoins. à voir si utiliser Bedrock est intéressant pour mes projets, sachant que pour l'instant c'est des choses très basiques (Wordpress vitrine sans dev particulier, sans modifications post-production)