Gambas France BETA


Pas de compte ? Incription

Superbe

Ce sujet est résolu.

1
AuteurMessages
davidmue#1 Posté le 25/11/2016 à 16:28:01
Salut à tous ! ;)
Profitant du fait que j'ai un peu de temps libre, me voilà de retour à l'étude de Gambas.
Je suis bluffé. Voilà un petit mot pour dire bravo aux développeurs Gambas et à la communauté ! J'aime bien Gambas depuis un moment déjà et ça me fait plaisir de voir son évolution.
Ce qui m'a épaté au début : == > la facilité de déploiement.
Ce qui m'épate maintenant : == > les composants web !
J'ai toujours trouvé Gambas très bon voir excellent. C'est la plate-forme de développement la plus accessible sur Linux.
Mais les composants web ouvrent les portes du monde à Gambas car avec un langage / une plate-forme, je passe de quelques pour-cents d'utilisateurs à 100% !
Ok, ça existait avant mais ce n'était pas facile d'accès. Je commence mes tests et j'ai une très bonne impression.
Le plus difficile, c'est d'installer le serveur web. Je me suis débrouillé et ça tourne mais je ne pense pas que c'est à la portée de tous les utilisateurs.
Cette étape terminée, je peux dire que le déploiement d'application est très simple.
Champagne !

:) :cheers: :joker:
Maintenant, il manque une procédure simple pour faciliter la mise en place du serveur web afin de démocratiser son usage. Car c'est bien le point fort de Gambas. Accessible et efficace. Je donne volontiers la mienne mais ce n'est pas pro.
Existe-il une procédure officielle ? Merci !
Gambas.. C'est chouette !
davidmue#2 Posté le 4/12/2016 à 17:36:35
Salut à tous ! :-)

Pour faire avancer la thématique, je décris ci-dessous comment j'ai fait l'installation de mon serveur pour tester les composants web de Gambas.

Je ne prétends pas que c'est la bonne façon de faire. C'est ce que j'ai fait. J'aimerais améliorer cette procédure ou trouver une procédure officielle sur le site de Gambas dans le futur.
Si quelqu'un a des connaissances plus poussées relatives au serveur Apache, ce serait bien de faire une installation sécurisée, standard, pro !

Pour ma part, l'ordinateur choisi pour ce rôle est une ancienne tour. Si vous suivez cette procédure, ne mettez pas ce serveur directement sur le web car il n'est pas sécurisé. C'est un serveur pour vous, pour faire des tests de développement avec Gambas.

Cette installation m'a pris plusieurs heures ! J'ai trouvé un ancien PC libre, j'ai corrigé le BIOS Halt on Errors = False, etc. sur ce nouvel ordinateur pour qu'il démarre sans clavier et j'ai modifié la séquence de démarrage  ! (Esc au démarrage)


J'ai installé le système d'exploitation Debian 8 ! J'ai utilisé la net install pour mon architecture : https://www.debian.org/releases/jessie/debian-installer/index.fr.html

J'ai utilisé l'installeur en mode texte.

Après la création du compte root, j'ai créé un compte utilisateur : x (pour l'exemple) !

J'ai désactivé l'interface graphique et j'ai activé le serveur ssh !

Après le reboot, je me suis annoncé avec le compte standard puis
j'ai installé le serveur Apache avec une base de données MySQL comme suit :

su -

apt-get update

apt-get install apache2

Et puis j'ai installé mysql ! Le mot de passe administrateur mySQL a été renseigné.
apt-get install mysql-server

L'installation avec les paquets de la distribution n'étant pas satisfaisante, j'ai choisi d'installer la dernière version de développement de Gambas :
Donc, j'ai téléchargé le code source de la dernière version Gambas.

apt-get install subversion

cd /home/x (mon username)
mkdir gambas

Puis j'ai récupérez le code en suivant la procédure du wiki Gambas :
(http://gambaswiki.org/wiki/install/debian)
svn checkout svn://svn.code.sf.net/p/gambas/code/gambas/branches/3.9

J'ai récupéré la liste des paquets à installer comme suit :
wget ‐‐output-document – ‐‐quiet http://gambaswiki.org/wiki/install/debian > packages.txt

Puis avec l'éditeur
vi packages.txt

j'ai supprimé toutes les lignes du début en maintenant la touche d enfoncée jusqu'à :
Gambas 3 (version >= 3.7 and development version on /trunk)

Le but étant de ne garder que le nom des paquets nécessaires. Je me suis déplacé dans le fichier avec les touches h j k l puis j'ai appuyé sur X pour supprimer les caractères non désiré.

Ceci pour avoir un résultat ressemblant à ceci :

build-essential g++ automake autoconf libbz2-dev libmysqlclient-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsage-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-glib-dev libpoppler-private-dev libasound2-dev libesd0-dev libdirectfb-dev libxtst-dev libffi-dev libqt4-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgnome-keyring-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl0-dev libncurses5-dev libgmime-2.6-dev llvm-dev libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev

:wq

Puis j'ai installé tout ceci :
xargs apt-get install -y $(cat packages.txt)

Tout le nécessaire étant prêt ! j'ai compilé Gambas 3 comme ceci :

exit (pour ne pas être admin)

./reconf-all
./configure -C
make

su - (reprise des permissions d'admin)
make install

Pour vérifier l'installation, j'ai tapé :
gbx3 --version

Chez moi, c'était OK. En cas de problème chez vous si vous faites la même chose, regardez bien les erreurs à l'écran ! En général, il manque des librairies nécessaires ! Voici quelques exemples de commandes utiles :
gcc --version
whereis libtool
find / -name libcairo2

Gambas 3 étant installé sur le serveur, à ce stade, les pages HTML sont sous :
/var/www/html/index.html

J'ai créé le sous-dossier cgi-bin qui est destiné à contenir les scripts Gambas :
mkdir -p /var/www/html/cgi-bin

Et modifié les permissions
chmod a+xrw /var/www/html/cgi-bin/
chgrp users /var/www/html/cgi-bin/

Puis j'ai tapé la commande :
apache2ctl -V | grep .conf
(ou
httpd -V | grep .conf)

J'ai identifié le fichier de configuration dans mon cas :
SERVER_CONFIG_FILE="apache2.conf"

trouvé son emplacement !
find / -name apache2.conf

backupé le fichier
cp /etc/apache2/apache2.conf /etc/apache2/apache2_original_backup.conf

Et enfin j'ai édité le fichier avec l'éditeur VI : (la moindre faute de frappe fera échouer l'installation)
vi /etc/apache2/apache2.conf

Insérez sous
# Global configuration
#

LoadModule cgid_module /usr/lib/apache2/modules/mod_cgid.so

ScriptAlias /cgi-bin/ /var/www/html/cgi-bin/

<Directory "/cgi-bin">
AllowOverride None
Options +ExecCGI
Order allow,deny
Allow from all
AddHandler cgi-script .gambas
SetHandler cgi-script
</Directory>

Plus bas ...

<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

J'ai quitté en sauvegardant
:wq

J'ai modifié un autre fichier de configuration :
cd /etc/apache2/sites-available

Et j'ai sauvegardé la dernière version fonctionnelle au cas où
cp 000-default.conf 000-default_original.conf

modifié la configuration comme suit :
vi 000-default.conf

Juste avant la fin du fichier, juste en dessus de
</VirtualHost>

j'ai inséré :

ScriptAlias /cgi-bin/ /var/www/html/cgi-bin/
<Directory "/var/www/html/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
Addhandler cgi-script .gambas
</Directory>

Je me suis assuré que le module CGI soit actif :
a2enmod cgi

Puis j'ai redémarré le serveur Apache :
service apache2 restart

Sur le serveur, je place les fichiers .Gambas dans le sous-dossier « cgi-bin » !
Pour tester si ça fonctionne, j'ai mis un fichier index.Gambas contenant un script test comme suit :

En tant utilisateur standard !
exit

cd /var/www/html/cgi-bin
vi index.gambas

i

#!/usr/bin/env gbw3
<!DOCTYPE html>
<html>
<head>
<meta charset=UTF-8">
<title>It works</title>
</head>
<body>
<p>
It works!
</p>
<%
Print "Bonjour Gambas :-)"
%>
</body>
</html>

:wq

Il faut le rendre exécutable !
chmod a+x index.gambas

J'ai testé sur le serveur avec cette commande :
gbw3 index.gambas

ça fonctionnait car je n'ai plus vu d'instructions Gambas en l’occurrence le PRINT n'apparaissait pas !

J'ai trouvé l'adresse IP du serveur avec
ifconfig

Sur mon poste de développement, j'ai ouvert firefox et je suis allé sur cette adresse :
http://192.16n.n.n/cgi-bin/index.gambas

Victoire !

Un problème chez vous ?
Apache liste toutes les erreurs. Regardez la fin des logs d'erreurs comme suit :
tail /var/log/apache2/error.log

La dernière erreur est tout en bas. Peut-être manque-t-il un composant Gambas ou peut-être que le chemin du fichier n'est pas correcte ?


Lien wiki CGI :
https://fr.wikipedia.org/wiki/Common_Gateway_Interface

Lien apache :
https://httpd.apache.org/docs/2.4/fr/howto/cgi.html


Voilà, je suis conscient que ce n'est probablement pas correct. Mais je repose ma question : comment puis-je le faire dans les règles de l'art ?
Mille mercis. David
Gambas.. C'est chouette !
Gambette#3 Posté le 4/12/2016 à 20:54:14
Bonjour,
les règles de l'art, c'est ce à quoi s'essaient ceux qui ont réussi a faire tourner leur code. C'est du cosmétique pour embellir ce qui est caché.
L'essentiel n'est-il pas que le programme réponde à ce qu'il devait faire lors de son écriture ?
Pour interpréter une idée on le fait avec ses mots. Il se trouve que certains peuvent utilisent des formes poétiques et d'autres la prose.
Peu importe ! L'essentiel c'est de partager.
Ceci dit, merci pour ton partage même si pour ma part je n'en ai pas d'utilité particulière pour le moment. Mais un jour viendra.
davidmue#4 Posté le 5/12/2016 à 17:50:29
Merci pour la réponse.

:-)

De tout ce que j'ai pu lire sur le forum, il n'y a pas d'hébergeur qui laisse les scripts CGI Gambas s'exécuter. Est-ce correct à ce jour ?

La procédure ci-dessus n'est pas satisfaisante pour faire de l'auto-hébergement d'un site fait avec avec les Server Pages Gambas.

Existe-il un guide ou une documentation ?

Merci d'avance et bonne soirée.
Gambas.. C'est chouette !
Flachy Joe#5 Posté le 5/12/2016 à 21:12:20
Iguane : Il Gambas Uniquement pour Activer ses NEuronesdavidmue : Le site gambasforge tourne chez Toile-Libre, je ne suis pas sur que l’exécution des cgi gambas soit activé pour tout le monde mais, si c'est pas le cas, tu peux discuter avec les admins pour qu'ils l’autorisent sur ton site. Connecte-toi sur le salon #toile-libre sur irc.toile-libre.org
;) Flachy Joe ;)
davidmue#6 Posté le 7/12/2016 à 22:07:10
Merci Flachy Joe. C'est parfait. Je vais suivre ton conseil dans quelques jours. Je ferme le post. Toute bonne soirée.
Gambas.. C'est chouette !
gambix#7 Posté le 22/12/2016 à 22:01:42
Faire simple !David, si tu veux jeter un oeuil au code de gambasforge, il est là :


https://sourceforge.net/projects/gambasforge/?source=directory

libre a ceux qui veule aider de le faire ... c'est le mot d'ordre du projet Gambas depuis ben... 1999... soit ... 19 ans ... la vache ! Me fait vieux moi.
Moins de texte dans une signature c'est agrandir son espace.
gambix#8 Posté le 3/1/2017 à 12:24:45
Faire simple !Juste un mot pour dire que l cas de gambasforge est spécial ... j'ai un server virtuel chez toile libre ... ça m'a permis a l'époque d'installer gambas ... Ce qu'ils ne font pas sur les autres servers.

Moins de texte dans une signature c'est agrandir son espace.
1