Aperçu de Ploi - L'outil qui s'occupe de votre infrastructure avec vous
Concentrez-vous sur ce que vous aimez : développer votre application.
Aperçu de ploi.io
Ploi est un outil qui facilite la vie des développeurs. Il vous décharge de toutes les tâches difficiles pour que vous puissiez vous concentrer sur ce que vous aimez : développer votre application.
Plus précisément, c'est un panneau de contrôle conçu pour administrer vos propres serveurs et applications. Vous achetez un serveur, vous le connectez à Ploi et il fait le reste...
Il fait le reste en y installant les logiciels nécessaires au bon fonctionnement de votre serveur, mais aussi en le mettant à jour à votre place. Il fait plein d'autres choses, des choses que vous découvrirez lors de la lecture de cet article.
Un peu d'histoire
Après avoir commencé le développement de Ploi en 2017, @dennis_smink a rapidement abandonné. Un regain de motivation lui a permis de reprendre son développement et de sortir une version bêta début 2018.
Depuis, beaucoup de lignes de code et de serveur provisionné ont permis à Ploi de devenir l'outil qu'il est aujourd'hui : entre 5 000 et 10 000 déploiements sont effectués quotidiennement.
Ploi est le compagnon idéal pour vous aider à réaliser une infrastructure complète sans trop de difficulté grâce aux différents types de serveur supportés.
Créer un serveur
> Onglet "Serveurs", Bouton "Créer un serveur"
Cette partie est la plus importante. Mais aussi la plus complexe sans Ploi... Voilà la raison pour laquelle j'ai commencé à utiliser Ploi : héberger mes sites et outils sur un serveur sécurisé et robuste sans me former à un nouvel aspect de l'informatique.
Vultr, DigitalOcean, Linode, Scaleway, UpCloud, Hetzner, Amazon ou Katapult ?
Si votre fournisseur fait partie de cette liste, vous devrez suivre le guide correspondant sur la documentation de ploi afin de connecter Ploi à votre fournisseur et de pouvoir simplifier la commande du serveur de votre choix.
Autre fournisseur
Si vous êtes chez un autre fournisseur (Ikoula, OVH...) ou même si vous ne souhaitez pas connecter Ploi à votre fournisseur, il vous faudra utiliser un VPS ou un serveur dédié commandé sur le site de votre fournisseur et procéder à l'installation d'un serveur "Custom".
Ce type d'installation nécessite d'avoir une installation vierge d'Ubuntu 18.04, 20.04 ou 22.04. Il s'agit de 3 versions LTS d'Ubuntu, je vous conseille tout de même de partir sur une base récente : Ubuntu 22.04.
Une fois en possession d'une installation vierge, il vous faudra également enregistrer la clé SSH Publique de Ploi sur votre nouveau serveur. Pas d'inquiétude, une alerte vous indique comment faire cela.
Une fois la clé SSH de Ploi enregistrée sur votre serveur, renseignez les différentes informations correspondant à votre installation et créez votre serveur !
Installation du serveur
Cette étape peut durer entre 10 et 20 minutes, la page sur laquelle vous êtes peut-être fermée. Une fois l'installation terminée, Ploi vous en informera par e-mail et vous fournira les différents identifiants générés.
Remarquez que pendant l'installation votre serveur est déjà visible dans la liste de vos serveurs : https://ploi.io/panel/servers
Les différents événements de l'installation sont également visibles sur votre tableau de bord : https://ploi.io/panel
Configuration de votre serveur
Et voilà, installation terminée. Vous êtes redirigé sur l'écran principal de votre serveur : l'onglet "Sites". Sur cet écran, vous pourrez créer rapidement vos sites afin d'automatiser leurs déploiements. L'outil de création de site de Ploi est très puissant et vous permet de créer certains types de site en "1-click" : WordPress, Nextcloud, Craft CMS...
Maintenant que l'installation est terminée, explorons les différentes possibilités de configuration.
OPcache
> Onglet "PHP", Section "OPcache"
Sans OPcache, les scripts PHP (et donc, votre code) sont compilés au moment de l’exécution de celui-ci. Avec OPcache, cette compilation est effectuée une fois seulement et le script est stocké dans un cache. Ainsi, les prochaines fois ou un script PHP doit être exécuté, l'exécution sera plus rapide si ce dernier aura déjà été compilé. Nos serveurs peuvent de ce fait gérer plus de requêtes en simultané lorsque OPcache est activé.
Plus d'information sur le fonctionnement d'OPcache et sa configuration :
- https://ploi.io/documentation/php/how-does-opcache-work
- https://igln.fr/opcache-configuration-et-fonctionnement
L'activation d'OPcache sur votre serveur se fait en un clic grâce à Ploi, cela dans l'onglet "PHP" de votre serveur, section "OPcache".
Si OPcache est déjà activé sur votre serveur, 2 options s'offrent à vous : désactiver OPcache ou redémarrer PHP-FPM.
Pourquoi redémarreriez-vous PHP-FPM ? Car lorsqu'un script PHP est compilé et mis en cache par OPcache, la modification de ce script n'entraine pas la recompilation immédiate de ce dernier par OPcache. Le redémarrage de PHP-FPM implique une suppression du cache OPcache, et une recompilation + remise en cache des futurs scripts exécutés.
Mise à jour automatique
> Onglet "Gérer", Section "Automatic updates"
Heureusement, Ploi a une fonctionnalité plus qu'utile : la mise à jour automatique. Cette fonctionnalité peut être activée dans l'onglet "Gérer" de votre serveur, section "Automatic updates".
Cette section vous permet de choisir la fréquence à laquelle votre serveur devra mettre à jour ses paquets ou alors de lancer vous-même la mise à jour de ceux-ci.
Et bien plus encore...
Au-delà des mises à jour automatiques et d'OPcache, Ploi propose une multitude d'options de configuration pour administrer au mieux votre serveur. Généralement, ces options sont accompagnées d'explication afin de vous aider au mieux.
Parmi ces options, nous retrouvons :
- Administration des versions de PHP
- Administration des bases de données et des utilisateurs
- Administration des tâches cron (avec en cadeau un sélecteur de fréquence, nous évitant de décoder ce que
30 4 * * *
signifie) - Administration des règles réseaux
- Administration de vos clés SSH
- Administration des services
- Visualisation des différents logs
Créer votre site
Maintenant que nous avons notre serveur installé et configuré, nous pouvons commencer à mettre en ligne notre application web.
La création d'un site peut se faire simplement grâce au nom de domaine de celui-ci, des réglages supplémentaires existent vous permettant de configurer le répertoire du projet, le type de projet.
Il est également possible, à cette étape, de :
- créer un utilisateur système afin d'isoler ce site des autres sites et des autres applications.
- créer un environnement de préproduction, appelé "staging" sur Ploi.
Une fois votre site créé, vous pouvez installer un dépôt GitHub, Bitbucket ou GitLab. Vous pourrez également utiliser les installateurs "1-click" pour installer WordPress, OctoberCMS, Nextcloud, Statamic, Matomo ou Craft CMS.
Dans mon cas, je vais installer la branche 9.x
du dépôt officiel laravel/laravel, je coche la case "Install composer dependencies" et je lance l'installation de mon site.
Configuration de votre site
Vous voilà sur l'écran principal de votre site, avec sûrement des alertes. En plus de nous aider à avoir un serveur web complet, Ploi nous assiste afin que nos applications web restent sécurisées.
Les différentes alertes affichées, sont accompagnées d'un bouton "Fix it for me" vous permettant d'appliquer le correctif nécessaire.
Et voilà, vous avez votre site, explorons ensemble différentes configurations et fonctionnalités disponibles.
SSL
> Onglet "SSL"
Afin de fournir une connexion sécurisée à votre site via HTTPS, il vous faudra obtenir un certificat SSL. Ploi offre la possibilité de générer un certificat SSL Let's Encrypt pour votre nom de domaine. Une fois générée, une tâche cron est enregistrée dans le but de renouveler votre certificat avant que celui-ci n'expire.
Quick deploy
> Onglet "Repository", Section "Quick deploy"
Le déploiement rapide permet de déployer votre application dès que la branche principale de votre site (celle renseignée lors de sa création) reçoit un nouveau commit.
Si cette option est activée et que votre site et son serveur sont bien configurés, vous ne devriez pas beaucoup vous rendre sur votre tableau de bord. En plein dans la promesse de Ploi : "We take all the difficult work out of your hands, so you can focus on doing what you love: developing your application."
Domaine d'essai
> Onglet "Réglages", Section "Test domain"
Le domaine d'essai est un excellent moyen de tester votre application avant de la mettre en ligne ou de changer les DNS de votre domaine principal. Ploi vous générera une URL à utiliser pour tester votre application.
Sachez qu'il n'est pas possible de demander un domaine d'essai si vous avez un certificat SSL valide sur votre site.
Zero downtime deployment
> Onglet "Réglages", Section "Zero downtime deployment"
Accessible qu'à partir du plan "Pro", le Zero Downtime Deployment (ZDD) permet de mettre à jour votre application web sans interruption de service. Malgré quelques inconvénients, le ZDD est un atout si vous effectuez plusieurs déploiements par jour.
Et...
Comme pour les serveurs, Ploi propose enormements d'options de configuration pour les sites. N'hesitez pas à les parcourir afin de trouver celles qui vous aideront le plus dans l'administration de votre site.
Et voilà, c'est la fin. Cet article ne couvre pas toutes les fonctionnalités de Ploi. Si cela vous intéresse, faites-m'en Twitter (@MltStephane), un deuxieme article pourrait faire son apparition.
Pour info : les liens présents dans cet article redirigeant vers la page d'inscription du site http://ploi.io/ sont des liens affiliés. Chaque inscription suivie d'un abonnement via ce lien me rapporte 15 jours d'abonnements.
Stéphane MULOT