Lorsque l'on développe son projet Angular et/ou Ionic, on pourrait penser que le déploiement se fait facilement, mais en y réfléchissant bien, les solutions ne sont pas évidentes... Je vous explique tout dans cet article. ;)

Comment distribuer facilement sa Web-App développée avec Angular / Ionic sur son serveur ? Différentes solutions existent, mais...

Copier les fichiers from-scratch

La solution standard consiste à copier les fichiers sur son serveur à l'aide d'un client FTP. C'est simple, mais pas très rapide, ni pratique. En effet, pour une App compléte, il y a des milliers de fichiers à transférer, une par une, ce qui peut prendre du temps. De même, une synchronisation (copier uniquement les fichiers modifiés, supprimer les fichiers inutiles...) peut être laborieuse.

Utiliser les solutions Angular et Ionic

Une autre solution consiste à utiliser les solutions de déploiement d'Angular. Cependant, cela limite à des environnements type Firebase, Azure... De plus, il faut intégrer les frameworks adéquats à son projet.

Ionic, quant à lui, propose la solution Appflow, sorte de Store des applications Ionic. Il faudra réintégrer Appflow sur son serveur, qui peut aussi se révéler long.

Ces solutions sont donc limitées et potentiellement longues à intégrer.

Utiliser SSH

Pour les utilisateurs d'un système Unix, le plus simple et efficace est de créer un script qui synchronise les fichiers sur son serveur via SSH. L'outil rsync se prête parfaitement à cette tache.

Voici un petit script qui facilite le déploiement de manière automatique:

# Création de l'application en mode production
ng build --prod      # For Angular App
ionic build --prod   # For Ionic App

# Synchronisation du dossier www/ (ou dist/) vers le dossier de destination coté serveur
rsync -e ssh -avz --delete-after www/ user@ip_du_serveur:/dossier/destination/

L'option -e ssh permet d'exécuter la commande avec SSH. L'option -avz permet de garder la récursivité, en mode verbose, et compresser les fichiers pour le transfert.
L'option --delete-after, quant à elle, permet de garder le dossier de destination identique à sa source.

Cette commande est simple et rapide si vous travaillez sur un système Unix et que vous possédez un accés SSH à votre serveur.

Je vous dis à plus pour le prochain article. xD

Article précédent Article suivant


Ajouter un commentaire