1) Différentes options sont disponibles coté Provider pour héberger ou faire son site Web.
La plus grande difficulté est concernant Gambas qui n'est malheureusement pas fourni (installé) sur la machine/VM proposées sur le Cloud.
Bien souvent l'ensemble LAMP (Linux+Apache+Mysql+PHP) sont proposés et prêts à l'emploi sans même avoir accès a l'OS dans bien des cas, mais rien n'empêche de prendre une VM et de choisir soit même le Linux que l'on souhaite.
À ce moment-là, Gambas n'est plus un problème, mais toute la configuration est à se palucher à la main si je puis dire: Apache/Ngnix + Mysql + autres si nécessaire.
Pour cela, il y a plein de tutoriels sur Internet pour s'en sortir sans trop de problème, et puis je peux aider au besoin.
2) Comment monter son affaire pour un site Web avec Gambas ?
Tout d'abords, il faut considérer le fait que le serveur Web va être exposé sur Internet (sinon autant l'avoir a la maison physiquement), donc il va falloir le protéger du potentiel nombre de requêtes qu'il va recevoir et donc que va recevoir l'application Gambas au final.
Le plus sûr est de mettre en frontal toujours un Serveur Web (je parle ici de Apache/NGnix, etc...) afin de pouvoir prendre la changer, gérer les sécurités, les certificats au besoin, mais aussi dans le but d'assurer la répartition de charge vers l'application Gambas.
En effet, si l'application Gambas agit comme un script CGI, c'est le serveur Web qui se chargera de gérer les multiples appels à l'application Gambas, comme l'appel a une même commande de multiples fois et de ce fait gérer le parallélisme des appels.
Si par contre l'application Gambas doit elle-même répondre sur un port aux requêtes Web, ben concrètement, elle n'est pas taillée pour cela, mais cela peut convenir peut-être dans un cadre privé à la maison avec peu de requêtes.
J'utilise souvent le 2eme cas personnellement, car ce ne sont pas des Sites Web public et que c'est beaucoup moins lourd a installé. Pas de serveur Web à configurer, juste à partir l'application Gambas et le tour est joué.
Je parle en connaissance de cause concernant les serveurs Web, je fais du Linux depuis 30 ans maintenant, mais même en connaissant bien ça reste plus lourd à configurer qu'une simple commande à lancer dans un terminal.
3) Il existe une pléthore de serveur Web (application agissant comme serveur Web) tel que Apache/Ngnix, etc.
Il n'est donc pas nécessaire de partir, tout de suite, avec le canon pour tuer la souris.
Voici quelques petits serveurs Web, simples et très efficaces pour une bonne partie de nos projets:
- Caddy (très intéressant, car il peut générer à la volée les certificats auto-signés, donc pouvoir faire du HTTPS facilement)
Je l'utilise d'ailleurs pour certains de mes projets juste pour avoir le HTTPS pour mes petits sites Web Gambas
- Lighthttpd
- OpenLiteSpeed
- Cherokee (L'interface Web d'administration de Cherokee et simple et bien fait, avis de quand je l'ai utilisé)
4) Comment lancer son application Gambas Web tel un service sur son système ?
En fait, c'est assez simple, il suffit de créer un fichier 'service' pour Systemd et de l'activer au boot de la machine:
Exemple: Mon application WebSitePerso.gambas (fait avec gb.web ou gb.web.gui)
Créer le fichier: /etc/systemd/system/websiteperso.service
$ cat /etc/systemd/system/websiteperso.service
[Unit]
Description=Mon Site Web Perso
[Service]
Type=simple
Environment="GB_HTTPD_PORT=9090"
ExecStart=/usr/bin/gbr3 -H <chemin vers mon appli>/websiteperso.gambas
StandardOutput=null
Restart=on-failure
KillMode=process
User=toto
Group=toto
[Install]
WantedBy=multi-user.target
Alias=websiteperso.service
- Pour enregistrer le nouveau service dans Systemd: systemctl daemon-reload
- Pour activer le service au démarrage: systemctl enable websiteperso.service
- Pour lancer/arrêter le nouveau service: service websiteperso start / service websiteperso stop
ou bien systemctl start websiteperso / systemctl stop websiteperso
Voila, je m'arrête là pour voir dans quelle direction vous voudrez plus de renseignements/détails
Olivier