Git, la meilleure alternative aux serveurs FTP ?

Le serveur FTP est une technique obsolète pour votre site web alors que GitHub ou GitLab permettraient de collaborer à plusieurs tout en sauvegardant différentes versions de manière stable et efficace

Git, la meilleure alternative aux serveurs FTP ?

Il y a encore quelques années en arrière, le FTP était la solution la plus répandue pour mettre son site internet en ligne. J’ai moi-même commencé de cette façon, mais il dispose tout de même de certains défauts qui font qu’aujourd’hui très peu de personnes mettent encore leur site en ligne grâce à un serveur FTP. Il a laissé place à des solutions comme GitHub ou GitLab qui permettent, au delà de la mise en ligne de son site internet, de créer un versionning de ses fichiers.

Le FTP est donc une bonne solution pour gérer et mettre en ligne des fichiers PDF par exemple. Mais il se révèle complexe à utiliser lorsque l’on est plusieurs à travailler sur un même projet ou bien que l’on souhaite revenir en arrière.

Dans cet article, nous allons voir quel sont ses principaux défauts et en quoi la mise en place d’un projet sur GitHub est une très bonne alternative. Par ailleurs, cet article s’inscrit dans la lignée de celui de la semaine dernière, où nous parlions également des 5 outils gratuits pour les développeurs

Serveurs FTP : la collaboration comme principal défaut

Lorsque l’on essai de collaborer sur un même projet via un serveur FTP il faut s’assurer que son collègue n’est pas en train de modifier le fichier, sinon on risque de perdre nos modifications. C’est donc quelque chose que l’on peut potentiellement manager à 2 ou 3 personnes (et encore, cela requiert une certaine vigilance) mais qui s’avère beaucoup plus complexe dès lors que l’on commence à travailler à 4 ou plus sur un même projet. C’est généralement pour cela que l’on met en place notre premier projet GIT : la collaboration. Cela reste selon moi la plus grande force de ce type d’outil, il vous permet de développer à plusieurs sans perdre aucune ligne de code.

Une mise en ligne en 4 commandes

Vous avez fini de développer votre toute nouvelle fonctionnalité sur votre site web ? Pour la mettre en ligne de façon classique il va falloir soit uploader tout le projet ou alors sélectionner uniquement les fichiers que vous avez modifié (sans en oublié un seul).
Avec un système de versionning comme Git, il y a uniquement 4 commandes à retenir :
git add nomDeVotreFichier
git commit -m « Message de commit »
git push

Une fois que ceci est fait, il faut encore aller récupérer votre code coté serveur pour l’implémenter. Et là, il vous suffit de faire un git pull, et votre code est en ligne !
Vous avez même la possibilité de mettre en place des déploiements automatiques, ce qui facilite grandement la mise en ligne.

Un historique des modifications

Lorsque l’on fait des analyses de données avec des sites comme Google Analytics, il peut arriver que l’on remarque un changement : une hausse des visites d’une page par exemple, ou un temps de session bien supérieur à ce que l’on a habituellement. Dans ces cas là il convient de se renseigner sur les modifications qui ont pu être faites. Avec un système de versionning vous pouvez regarder les mises en prod qui ont été réalisées par vous ou par un membre de votre équipe afin de voir ce qui a été mis en ligne et à quelle date.
Vous pouvez consulter également les modifications qui ont été réalisées, et ce, ligne par ligne. Ça peut donc être parfois très intéressant pour comprendre la modification d’un comportement utilisateur.

La possibilité de revenir en arrière

Lorsque l’on développe un site internet (ou même une application), il peut arriver que l’on se rende compte après coup qu’une modification apporte un bug ou qu’au contraire elle n’a pas l’effet escompté. Si celle-ci est mise en production il peut s’avéré complexe de revenir en arrière si un système de versionning n’a pas été mis en place.

Ce type de système vous permet de gérer votre projet en quelques clics. Vous pouvez donc revenir en arrière si besoin.
C’est d’autant plus simple si vous utilisez l’outil comme il le faut, en utilisant par exemple des branches pour chaque feature. Ainsi vous créez une branche à chaque nouvelle fonctionnalité que vous allez implémenter. Et c’est cette branche que vous allez venir « merge » (fusionner) à votre branche principale. Ainsi, vous avez une très bonne visualisation des fonctionnalités implémentées et vous avez la possibilité de les supprimer assez simplement.

Gestion de différents environnements

Comment peut-on gérer différents environnements de développement sans outils de versionning tel que GIT ? En déplaçant tous les fichiers d’un dossier à l’autre ? C’est assez archaïque et vous risquez d’accumuler de nombreuses erreurs. Si vous avez mis en place un projet sur GIT avec des branches différentes, il vous suffit de « merge » vos branches à vos branches principales et votre nouvelle fonctionnalité sera en place sur la pré-prod de votre site internet. Vous pouvez donc la tester et la mettre en prod en 1 clic.

Comme vous pouvez le voir, l’utilisation d’outils comme GIT se révèlent être de véritables atouts. Ils font selon moi parti des outils essentiels à tout bon développeur, car ils permettent de travailler en tout sécurité et témoignent un certain professionnalisme.