Gambas France BETA


Pas de compte ? Incription

Site en Gambas

12
AuteurMessages
spheris#1 Posté le 10/3/2023 à 08:17:35
Bonjour,
Dans ce projet gambas, nous allons réaliser un petit site en gambas, à l'aide script CGI interprétés par gb.
Nous allons essayer au travers des divers posts suivants de détailler:

A- La génération d'une page HTML classique.
B- La réalisation d'un formulaire de contact.
C- Le dialogue entre deux pages html au travers du cgi et comment utiliser les GET and POST.
D- Comment faire un écran de connexion avec session utilisateur.
E- noud aborderons les css et le responsive de façon succinte(le sujet étant principalement de travailler avec gb)
F- Enfin nous ajouterons des liens intéressants sur le web gambas.

Peut être manque t-il quelque chose, faites le moi savoir.
valaquarus#2 Posté le 12/3/2023 à 20:36:40
-- Unus Ex Altera --Bonsoir Spheris,
ce petit mot juste pour savoir où tu es rendu concernant ce projet de site internet ?

Valaquarus
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
spheris#3 Posté le 13/3/2023 à 21:19:04
Pour être franc, je ne sais par où commencer.
Tous les points de A à F sont complètement flous pour moi.
Je ne sais pas du tout comment faire.
valaquarus#4 Posté le 14/3/2023 à 00:21:30
-- Unus Ex Altera --Peut être en commençant par l'aspect matériel puis en suivant les recommandations d'Olivier pas à pas pour les aspects softwares.
Faire un espèce d'inventaire des besoins, de ce que tu possèdes déjà et de ce qui te manques sur ces deux aspects.
Valaquarus
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
spheris#5 Posté le 15/3/2023 à 08:29:39
Ça c'est bon, ça y est, le projet est défini et ma plateforme aissi.

Maintenant, passons à la création d'une age.

La page aura une entête avec un logo et un titre, un corps avec une boite d'article et un pied de page...
J'ouvre un editeur html genre seamonkey et j'ai créé ma page.
Comment générer cette page en cgi?
linuxos#6 Posté le 18/3/2023 à 17:22:23
Un peu de sel, de poivre et la crevette sera... Salut Spheris,

Peut-etre par la:

https://gambaswiki.org/wiki/howto/getstartedwebgambas

Ou tu peux commencer par créer un nouveau projet Gambas en selectionnant

comme type de Projet.

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
linuxos#7 Posté le 18/3/2023 à 20:24:01
Un peu de sel, de poivre et la crevette sera... Spheris,

Ceci peut t'aider aussi: https://sourceforge.net/p/gambas/mailman/message/35668835/

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
spheris#8 Posté le 20/3/2023 à 10:29:25
Effectivement c'est un bon point de départ.
Merci pour les liens.
;)
valaquarus#9 Posté le 20/3/2023 à 10:39:35
-- Unus Ex Altera --Bonjour spheris,
Tu as les mêmes liens, ici : Création de site web

Valaquarus
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
spheris#10 Posté le 20/3/2023 à 17:20:10
merci valaquarus.
spheris#11 Posté le 26/3/2023 à 08:23:15
Bon, après plusieurs tentatives infructueuses, je n'y comprends rien.
Trop compliqué pour moi, je m'explique :

Dans certain exemples, il faut mettre le code entre ces balises : <%%> et dans d'autre seul le code génère du html.

Je ne comprends pas comment cela peut fonctionner.

J'abandone donc pour le moment.

Peut être qu'un tuto simple avec des bases simples pourrait convenir. Pour le moment, je n'en trouve aucun.

J'ai même essayé de décortiquer le code source de la forge pour comprendre, mais queneni...
valaquarus#12 Posté le 26/3/2023 à 11:23:27
-- Unus Ex Altera --Au lieu de Gambas tu penses PHP et cela fonctionne exactement de la même manière. HTML n'étant que de l'affichage alors que PHP ou Gambas est du dynamique, c'est à dire qui fait quelque chose qu'on lui a demandé en fonction d'une situation
(affichage d'un texte particulier, exécution d'une routine, etc...)
Les balises <%%> sont l'équivalent des balises PHP pour indiquer que c'est du PHP ou du Gambas mais qui va être interprété en HTML.

Un petit lien pour la syntaxe :
https://gambaswiki.org/wiki/doc/webpage?l=fr

Valaquarus

Page Web Principale :



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<% 'On est en Gambas
System.Language = Request.Language
'<-----------------------' les différentes listes qui devront être alimentées
Main.SiteList = ["Page0", "Page1", "Page2", "Page3"]
Main.NomList = ["Accueil", "Principale", "Aide", "Syntaxe"]

Alimentation() '<----------------------------------------------' remplissage des textes et des titres (voir dans Main.Class)

Main.titreList = [t0, t1, t2, t3]'<----------------------------' même nombre de champ pour un index identique
Main.textList = [s0, s1, s2, s3]'<----------------------------' même nombre de champ pour un index identique

IF Request.Query THEN
IF Main.SiteList.Exist(Request.Query) THEN
Main.CurrentSite = Request.Query
monIndex = Main.SiteList.find(Request.Query)'<-------' pour retrouver le même index
Main.NomPage = Main.NomList[monIndex] '<-------------' Nom des pages
main.leTitre = Main.titreList[monIndex] '<-----------' Nom des titres
Main.leText = Main.textList[monIndex] '<-------------' Nom des textes
ELSE
Main.CurrentSite = Main.SiteList[0]'<----------------' Page d'accueil
Main.NomPage = Main.NomList[0]
main.leTitre = Main.titreList[0]
Main.leText = Main.textList[0]
ENDIF
ELSE
Main.CurrentSite = Main.SiteList[0]'<-------------------' Page d'accueil
Main.NomPage = Main.NomList[0]
main.leTitre = Main.titreList[0]
Main.leText = Main.textList[0]
ENDIF

%> 'Fin du code Gambas, début du code HTML

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<meta name="description" content="TEMPLATE: WEBPAGE GAMBAS HTML CSS JS">
<meta name="author" content="" >
<meta name="OWNER" content="" >
<meta name="SUBJECT" content="" >
<meta name="RATING" content="" >
<meta name="ABSTRACT" content="" >
<meta name="KEYWORDS" content="" >
<meta name="REVISIT-AFTER" content="13 DAYS">
<meta name="LANGUAGE" content="FR">
<meta name="COPYRIGHT" content="">
<meta name="ROBOTS" content="All">
<meta content="" name="author">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="content-type" content="text/html; charset=utf-8">

<title><%=Main.NomPage%></title>

<link rel="icon" type="image/x-icon" href="<%/%>/favicon/favicon_blue_32.ico">
<link rel="stylesheet" type="text/css" href="./css/style.css">
<script src="./js/set_time.js"></script>

</head>
<body onload="JSTimer1();">
<<IncEntete>> <!-- l'entête -->
<br>
<<IncNavigation>> <!-- Le bandeau de navigation-->
<br>
<main>
<<IncContenu>> <!-- Le contenu du site, c'est à dire l'ensemble des pages -->
<a>Le contenu textuel de chaque page peut être rentré dans chaque page, soit directement soit en appelant un fichier extérieur à la page. <br>
Ici ce texte est rentré directement dans la structure de la page principale (Main) <br>
Deux possibilités :<br>
soit en HTML<br>
soit en Gambas entre les balises nécessaires, voir la page syntaxe pour des explications.<br>
</a>
<br>
</main>
<<IncPied>> <!-- Le pied de page-->
</body>
</html> 'Fin du code HTML

<%

%>

Class Gambas Main :


On déclare l'ensemble des variables globales au site ou autres ainsi que les procédures nécessaires au site.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
' Gambas class file

PUBLIC CurrentSite AS STRING
PUBLIC SiteList AS String[]
PUBLIC NomList AS String[]
PUBLIC NomPage AS STRING
PUBLIC monIndex AS INTEGER
'<-------------------' les titres de chaque page
PUBLIC t0 AS STRING
PUBLIC t1 AS STRING
PUBLIC t2 AS STRING
PUBLIC t3 AS STRING

'<-------------------' les textes de base de chaque page
PUBLIC s0 AS STRING
PUBLIC s1 AS STRING
PUBLIC s2 AS STRING
PUBLIC s3 AS STRING

'<-------------------' les collections de titres et textes pour la table de chaque page
PUBLIC textList AS String[] '<--------------' les textes
PUBLIC titreList AS String[] '<--------------' les titres
'<--------------------' les textes et titres eux mêmes
PUBLIC leText AS STRING
PUBLIC leTitre AS STRING
'<--------------------' les textes supplémentaires à afficher en dehors de la table de chaque page
PUBLIC texte1 AS STRING

PUBLIC SUB Alimentation() '<---------------' définition des textes et titres

t0 = File.Load("./.public/Titres/t0")
t1 = File.Load("./.public/Titres/t1")
t2 = File.Load("./.public/Titres/t2")
t3 = File.Load("./.public/Titres/t3")

s0 = File.Load("./.public/Textes/s0")
s1 = File.Load("./.public/Textes/s1")
s2 = File.Load("./.public/Textes/s2")
s3 = File.Load("./.public/Textes/s3")

texte1 = File.Load("./.public/Tsupplement/Texte1")

END


Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
spheris#13 Posté le 6/4/2023 à 10:30:50
Existe-t-il un exemple simple pour passer un texte dans une textbox vers une autre page par l'intermédiaire des balises FORM?
valaquarus#14 Posté le 6/4/2023 à 11:34:48
-- Unus Ex Altera --Bonjour Spheris,
heureux de te lire à nouveau.
Je ne comprend pas le sens de ta question (intéressant, non!) car je ne sais pas ce qu'est une balise FORM.
Si tu penses à comment mettre à jour un texte ou le changer sur un site web par l'utilisation d'un soft tout prêt, je crois bien que personne ne s'est penché sur la question et donc la réponse sera non. Il n'y a qu'à voir le foutoir sur la documentation depuis que la mère Denis s'est mis en tête que peut être la mettre à jour serait un plus pour attirer le monde sauf qu'avec systématiquement un message du genre "La page en anglais est plus à jour", ça file des boutons.

Valaquarus
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
spheris#15 Posté le 7/4/2023 à 10:22:47
Pardon, je recommence en développant:

Par exemple, sur ce site les deux textbox ou l'on saisi le nom et mdp de connexion, lors du clic du bouton CONNEXION, sont envoyés à un script cgi qui est interprété dans les balises html FORM.
Ainsi, ma question est simplement de savoir comment est réceptionné le contenu des deux textbox (post ou get).
En d'autre terme quel est l'exemple de code GB pour recevoir des données.
12