Tu viens de finir le développement de ton site, tu as ton nom de domaine, ton hébergeur et maintenant il faut que tu mettes ton site en ligne. C’est ce que l’on appelle aussi une mise en production.
Pour cela il existe différentes manières de procéder. Certaines plus facile que d’autre et/ou plus rapide que d’autre. Tu pourras utiliser celle qui correspondra le mieux à ton besoin, à ton projet, et à tes connaissances.
Dans cet article je te présente 3 façons de mettre ton site en ligne.
Via le protocole FTP et FileZilla
La première façon de déployer un site en production est grâce au FTP.
C’est quoi le FTP ?
Le FTP est un protocole de transfert de fichier. Pour faire simple, tu te connecte au serveur grâce à ce protocole par le biais d’un outil (FileZilla) et tu peux transférer des fichiers sur ton serveur.
Le FTP n’est pas utilisé uniquement pour les mettre en ligne un site. Il peut aussi servir à transférer de simple fichier d’un serveur à un autre, de ton ordinateur à un serveur, etc.
C’est simplement un protocole de transfert de fichiers.
Mettre son site en ligne avec FileZilla
Un des outils les plus connus et les plus utilisés pour mettre son site en ligne via FTP est FileZilla.
Une fois installer sur ton ordinateur, il faudra que tu te connectes à ton serveur. Les identifiants de connexion doivent t’être fourni pas ton hébergeur.

Pour te connecter, il te faudra le nom de l’hôte (c’est l’adresse du serveur), le port (par défaut c’est le 21), un identifiant et un mot de passe.

Une fois la connexion établie, dans la partie de gauche, tu retrouves tes fichiers locaux (sur ton poste) et sur la partie de droite, tu as les fichiers du serveurs distant (là où tu veux mettre ton site)

La plupart du temps chez les hébergeurs, le dossier dans lequel tu dois mettre tes fichiers est « www ». Si tu vas dedans, il se peux que tu trouves un fichier index.html. C’est la page par défaut que ton hébergeur te propose. Elle permet que lorsque tu arrives sur ton site, il y est déjà une page d’accueil. Tu peux donc supprimer ce fichier.
Pour mettre ton site en ligne, tu n’as plus qu’a faire un glisser / déposer de tous tes fichiers dans le dossier « www ».
Voila ton site est en ligne !
Avantage
Utiliser un client FTP est relativement simple et facile à faire. Tu as juste à avoir un logiciel comme FileZilla, te connecter et faire un glisser déposer.
C’est très pratique quand tu as un petit site avec quelques fichiers et que ton projet n’a pas besoin de dépendances et de nombreux fichiers.
Inconvénients
L’inconvénients ici est que tu dois mettre tous les fichiers manuellement sur ton serveur. Comme je le disais, si tu n’as que quelques fichiers, ça peut aller vite mais dès que tu passe sur des projets un peu plus gros, avec beaucoup de fichiers, cala devient plus compliqué.
De plus, il ne faut pas se tromper en oubliant un fichier. Le risque d’erreur est donc plus élevé.
Pour ne louper aucun fichier et ne pas s’embêter lorsque ton projet a énormément de fichier, tu peux passer la méthode SSH et Git
Via SSH et Git

La deuxième manière de mettre son site en ligne est d’utiliser une connexion en SSH et un repository git.
SSH est un protocole de communication sécurisé grâce à des clés de chiffrement. Il permet ainsi de se connecter à un serveur distant et de pouvoir accéder aux différents dossiers du serveur.
Git est un gestionnaire de version. Il permet d’enregistrer les différentes versions du code d’un projet. Aujourd’hui de nombreuses plateformes en ligne utilisant Git sont disponible. La plus célèbre étant GitHub. Sur GitHub, tu peux sauvegarder ton code, et utiliser toute la puissance de Git. Si tu n’es pas familier avec, tu peux aller voir l’article que j’ai écrit pour mieux comprendre.
Git marche grâce à un système de repository (1 projet = 1 repository). Ainsi il est possible de récupérer le repository (en le clonant) depuis n’importe quel serveur ou ordinateur ayant Git d’installer dessus.
Ainsi, tu peux donc faire un « git clone » de ton projet, sur ton serveur via SSH, pour récupérer l’ensemble de ton projet. De plus, lorsque tu feras une modification de ton code, il faudra que tu envoie cette modification sur Git puis que tu mettes à jour les fichiers sur ton serveur via un « git pull ».
Eventuellement mettre à jour les dépendances, etc.
Pour mettre ton site en ligne avec SSH et Git, tu peux utiliser l’outil Putty. Putty est un outil très pratique qui permets des connexions SSH à des serveurs distants.
Avantages
L’avantage d’utiliser Git pour mettre à jour est que tu n’as pas besoin de mettre tous les fichiers manuellement toi-même. Tout se fait automatiquement. Tu n’as pas besoin de te demander « est ce que j’ai modifier tel ou tel fichier ». Tu as simplement à faire une commande (git pull) et git se charge de mettre à jour les fichiers nécessaires.
De plus, c’est beaucoup plus rapide et plus propre de faire ainsi.
Si tu as des dépendances dans ton projet, ce qui arrive très souvent aujourd’hui, tu peux installer ton gestionnaire de dépendances sur ton serveur (yarn, composer, npm, …) et mettre à jour toutes tes dépendances avec (ex : composer install ou yarn install). Tu n’as donc pas besoin de commiter les dépendances. Tu dois d’ailleurs mettre les dossiers de dépendances dans ton .gitignore.
L’avantage avec la méthode SSH / Git, c’est que tu pourras par la suite tout automatiser. Une fois que tu as compris comment cela fonctionne, tu peux créer un petit script sur ton serveur qui fera tout le travail.
Ainsi, tu peux par exemple faire le script suivant :
- Récupération du code sur GitHub (git pull …)
- Mise à jour des dépendances
- Build du projet (si besoin)
- Mise à jour de la base de données
- Vider les caches
Voila un script de mise en production relativement facile à mettre en place et qui fait très bien le travail.
Inconvénients
Avec cette méthode et pour ma part, je trouve qu’il n’y a pas beaucoup d’inconvénients. Le seul inconvénient que je vois c’est qu’il faut avoir des connaissances sur Git et quelques notions de Shell pour pouvoir se balader sur le serveur distant et faire les commandes nécessaires.
Mais tout cela s’apprend relativement facilement et est utile tout au long d’une carrière de développeur et sur n’importe quel projet
La façon automatique avec le déploiement continue
La dernière façon, qui est la plus propre, la plus automatique mais aussi la plus complexe à mettre en place et d’utiliser l’intégration continue et le déploiement continue.

L’intégration continue est le fait d’automatiser l’intégration du code qui vient d’être produit dans la branche par défaut (souvent master). Sur un repository git, il y a toujours une branche par défaut. Cette branche est celle qui sera mise en production. Elle doit toujours être fonctionnelle.
Lorsque tu as fini un bout de code, tu le pousse sur une branche indépendante (autre que celle par défaut). A ce moment là, l’outil d’intégration continue détecte le commit et lance une série de tests pour s’assurer que le code est toujours fonctionnel. Si les tests sont OK, il fusionne la branche où le nouveau code se trouve, avec la branche par défaut.
Ça c’est pour la partie intégration continue (CI)
Le déploiement continue (CD), consiste à déployer automatiquement lorsqu’il y a une nouvelle version du projet sur la branche principale. Ce déploiement peut se faire de plusieurs manières :
- Manuelle : il faut faire l’action manuelle d’indiquer à l’outil de déployer (en cliquant sur un bouton par exemple)
- Planifier : toutes les X minutes, heures, jours, une mise en ligne est faite
- Automatique : dès qu’une nouvelle version du projet est disponible, elle est mise en ligne
L’outil utilisé pour faire cela est appelé un ordonnanceur. Aujourd’hui, il existe de nombreux outils qui font cela : Jenkins, GitLab, Bitbucket, …
Avantages
Le principale avantage d’utiliser cette méthode est de tout automatiser et d’ajouter de la qualité aux codes ainsi que de la rapidité dans les livraisons.
Ici, à chaque fois qu’un commit est fait par un développeur, le projet peut être mise en ligne si les tests sont OK. Pas besoin d’action humaine et donc une mise en production rapide.
Il n’y a pas de perte de temps pour se connecter au serveur SSH, mettre à jour les dépendances, etc…
Cette méthode n’a pas besoin d’être mise en place pour de tout petit projet. Si tu as simplement quelques fichiers HTML / CSS / JS, tu n’as pas forcément besoin de mettre en place tout cela.
Inconvénients
Cette solution est très pratique mais aussi assez complexe à mettre en place. Il faut de bonnes connaissances sur le fonctionnement de git, sur l’intérêt des tests et sur les enjeux d’une mise en production.
De plus il faut bien comprendre tout le cheminement qui se passe, du moment où l’on commit, jusqu’au moment où le code est en production. Car ici je t’ai fait la version courte mais en pratique, il y a beaucoup plus d’étape dans le processus.
Je t’ai présenté 3 façons de mettre son site en ligne. Choisis celle qui te correspondra le plus et celle qui colle le mieux à ton projet. Tu peux faire la méthode avec FileZilla pour des petits projets, celle avec Git et SSH pour des projets moyens / grands. Si tu veux rajouter de l’automatisation et de la qualité dans ton processus de déploiement, tu peux utiliser la méthode d »intégration continue et déploiement continue.
Dis moi dans les commentaires quelle méthode tu utilises le plus souvent.