Mon application – La production

Notre application est écrite et testée. Il est temps de la rendre disponible à nos utilisateurs. Pour cela, trois situations se présentent.

Situation n°1 : locale

Notre application est uniquement client et destinée à ne s’exécuter que localement sur le smartphone ou l’ordinateur de l’utilisateur. Pour cela, il est nécessaire d’écrire un programme (le fameux ‘.exe’) nommé l’installateur. Encore un programme à écrire ? 

En fait, il existe de nombreux outils pour générer automatiquement ce programme et ce dernier ne réalise que peu d’actions :

  • Il copie les composants dans un répertoire précis où sera exécuté l’application,
  • Il modifie les paramètres de votre système d’exploitation (OS) pour permettre à l’application de s’exécuter. 

Suivant l’OS cible, l’installateur peut être un exécutable ou un script dans une archive qui sera interprété par l’OS (paquets linux). Il faut donc créer cet installateur et le rendre disponible en téléchargement sur un site internet.

Mais de nos jours, les utilisateurs ne voient plus les installateurs. Pour installer un logiciel, ils passent par une ‘place de marché’. Microsoft Store, AppStore (pour Apple), PlayStore (pour Google), il s’agit de sites qui référencent les applications disponibles pour leurs ordinateurs et smartphones. Pour les deux derniers, il est presque impossible d’installer une application sans passer par la place de marché.

Mais alors, comment fait-on pour diffuser notre application sur ces places de marché ? Il faut montrer patte blanche en passant par le processus de validation de ces puissantes compagnies du domaine informatique. Si vous avez quelques jours à perdre, voici la notice pour être sur le PlayStore de Google. Et ce sont les plus laxistes …

Situation n°2 : web

Notre application est basée sur Internet. C’est notre cas !! L’utilisateur se connecte depuis un navigateur (plus ou moins masqué) sur notre serveur qui lui renvoie les interfaces, les données et les traitements attendus ou à réaliser. 

Pour cela, l’application doit être déployée et configurée sur un serveur. Il existe deux solutions. 

Soit on loue un serveur virtualisé chez OVH ou tout autre prestataire. Ensuite, on déploie un contexte similaire à l’environnement de développement (en 4 lignes de commandes). On installe l’application depuis un dépôt Github. On la configure et on redirige un nom de domaine pour être plus visible sur Internet.

Dit comme çà, cela a l’air facile. En pratique, il faut en amont avoir envoyé notre application sur Github. Rassurez-vous, dès que vous avez créé un compte sur ce site de dépôt, il vous donne les commandes à exécuter sur le terminal de l’environnement de développement :

echo "# quiz" >> README.md

git init

git add README.md

git commit -m "first commit"

git remote add origin https://github.com/Pierre-lsg/quiz.git

git push -u origin master

Il suffit alors de 2 commandes pour déployer et rendre disponible l’application sur le serveur :

git clone https://github.com/Pierre-lsg/quiz

composer update

Après avoir configuré l’application en mode ‘prod’ et configuré notre serveur web (Apache ou Nginx) pour qu’il redirige le nom de domaine sur votre application, l’application est désormais en ligne. Je détaillerai dans d’autres articles ces étapes de configuration.

L’autre option est de réaliser un conteneur Docker. Github le crée mais je n’ai pas encore étudié cette solution. Elle présente l’avantage de normaliser les déploiements et de ne pas lier notre application à un serveur. Le bonheur est dans le Cloud, mais cela peut rapidement coûter cher.

Situation n°3 : les deux

Notre application s’exécute localement mais consomme des services (données et traitements) accessibles uniquement sur Internet. Dans cette dernière configuration, le déploiement de l’application se fait aussi bien sur l’équipement final que sur les serveurs internet. 

On reprend les actions des deux situations précédentes. Si l’application côté serveur n’est pas installé correctement, l’application côté client ne fonctionnera pas ou de manière dégradée. Le serveur est donc à déployer avant de proposer l’application pour les clients. 

Partager l'article !!

J’ai de la chance !!!