Voici le troi­sième article de cette série consa­crée à notre nou­velle appli­thèque. Nous vous en avons par­lé il y a quelques semaines, et nous avons depuis ajou­té de nom­breux fra­me­works pour sim­pli­fier la prise en main et le pro­to­ty­page rapide.

Pour ce der­nier item, voi­ci…

… les scripts personnalisés pour les éditeurs, les DevOps, et le reste du monde !

Nous sou­hai­tions amé­lio­rer la façon de créer et dis­tri­buer des scripts d’installation, c’était l’une des rai­sons qui nous ont pous­sés à repen­ser notre appli­thèque de zéro. Nous avions en tête le cas d’usage où vous, développeur·euse·s d’applications ou de ser­vices Web, avez besoin de déployer régu­liè­re­ment un socle technique1), ou sou­hai­tez dis­tri­buer votre app faci­le­ment en 1-click2).

Pour vous y aider, nous avons conçu cette nou­velle pla­te­forme qui pro­pulse notre appli­thèque. Comme nous vous l’expliquions pré­cé­dem­ment, nous nous appuyons sur de simples scripts pour pro­vi­sion­ner les nou­velles ins­tances. Vous pou­vez uti­li­ser le lan­gage de votre choix3), et nous l’exécutons indif­fé­rem­ment.

Configurez votre environnement

Chaque script crée une nou­velle ins­tance de type Sites pour héber­ger votre app. Vous aurez sou­vent besoin de la confi­gu­rer un peu plus fine­ment, notam­ment pour tout ce qui concerne la réécri­ture d’URL. Pour indi­quer les confi­gu­ra­tions habi­tuelles, vous devez décla­rer un YFM4) avec les jeux d’options et de valeurs.

Ici, nous décla­rons un nou­veau site PHP, en ver­sion 7.25), avec une base MySQL. Si vous exé­cu­tez ce script, il ne fera rien de plus que de créer un nou­veau Site et une base MySQL.

Ensuite, par­tez d’un envi­ron­ne­ment d’exécution propre6), et exé­cu­tez votre pro­ces­sus d’installation, comme de télé­char­ger la der­nière release, ins­tal­ler et confi­gu­rer l’app, etc.

Demander des informations utilisateur

Vous aurez par­fois besoin de récu­pé­rer quelques infor­ma­tions uti­li­sa­teur, comme la langue prin­ci­pale, le mot de passe et le login admi­nis­tra­teur, pour pré­con­fi­gu­rer cor­rec­te­ment l’instance de votre appli­ca­tion.

Vous pou­vez décla­rer une liste de champs de for­mu­laire à rem­plir par l’utilisateur·trice avant d’exécuter le pro­vi­sion­ne­ment. Utilisez le YFM pour spé­ci­fier vos défi­ni­tions de champs et leurs règles de vali­da­tion :

C’est tout ! Vous pou­vez main­te­nant uti­li­ser ces valeurs dans votre script, les variables étant sour­cées par la pla­te­forme au moment de lan­cer le script :

Nous sou­hai­tons que l’expérience de déploie­ment via les scripts soit la moins inva­sive pos­sible. C’est pour­quoi nous vous recom­man­dons de ne pas récla­mer trop d’informations au pro­vi­sion­ne­ment, mais de vous limi­ter aux champs obli­ga­toires. De cette façon, les utilisateur·trice·s gardent la lati­tude néces­saire pour confi­gu­rer pro­pre­ment leur ins­tance une fois le déploie­ment ter­mi­né.

Distribuez vos sources

Que vous déve­lop­piez un script pour déployer une solu­tion open source, ou votre propre appli­ca­tion, pour­quoi ne pas le dis­tri­buer sur notre pla­te­forme, et le rendre acces­sible à tou·te·s ? C’est exac­te­ment l’objectif de notre appli­thèque : enri­chir la com­mu­nau­té !

Rendez-vous sim­ple­ment dans la vue ajou­ter un script d’application de votre inter­face d’administration, rem­plis­sez le for­mu­laire, et cochez la case Application publique. Votre script sera alors mar­qué pour relec­ture, et nous le publie­rons rapi­de­ment sur l’applithèque.

Interface d'administration : ajouter un nouveau script d'application
Interface d’administration : ajou­ter un nou­veau script d’application

Nous effec­tuons une relec­ture des scripts avant leur mise à dis­po­si­tion publique. Cette pro­cé­dure nous garan­tit que per­sonne ne cher­che­ra à com­pro­mettre votre compte en vous lais­sant exé­cu­ter un script mali­cieux. Néanmoins, nous ne pou­vons pas garan­tir la sécu­ri­té des sources dis­tri­buées par le biais du script lui-même, notam­ment lors du télé­char­ge­ment des archives de release. En tant que détenteur·trice du compte, il vous revient de vous assu­rer des sources ins­tal­lées. Si vous écri­vez un script, nous vous recom­man­dons vive­ment de réa­li­ser une véri­fi­ca­tion des sources télé­char­gées via un contrôle de check­sum et de signa­ture pour garan­tir leur inté­gri­té.


Voilà un nou­veau moyen d’enrichir un peu plus la com­mu­nau­té d’always­da­ta, et nous espé­rons que vous y contri­bue­rez en four­nis­sant les scripts pour vos propres appli­ca­tions.

Jetez un œil à la docu­men­ta­tion offi­cielle (vous y retrou­ve­rez le script pré­sen­té ici au com­plet), et faites-nous connaitre les scripts que vous aime­riez ajou­ter !

Notes   [ + ]

1. parce que vous êtes une agence et qu’il s’agit de votre pla­te­forme mai­son
2. parce que vous dis­tri­buez une solu­tion open source et sou­hai­tez la rendre faci­le­ment acces­sible au plus grand nombre
3. de Bash à Python ou Ruby
4. qui se com­pose d’un simple data­set YAML en com­men­taire en entête
5. le script choi­si­ra auto­ma­ti­que­ment la der­nière ver­sion mineure de la branche 7.2
6. toujours mieux pour évi­ter les col­li­sions de variables