Eric MILLOZ

IntegSite - Génération de formulaire

Eric MILLOZ 2001-2011


Fonctionnement

Le but de cette fonctionnalité est d'aider la création de formulaire. Les formulaires sont décrit par vous à l'aide d'un fichier, puis le logiciel construit le formulaire guidé par la description.

Il y a 2 moyens de générer un formulaire, par un fichier descriptif texte et/ou à partir de la base de données :

  • La fonction génère le formulaire à partir d'une table de la base de données.
  • La fonction génère les formulaires à partir d'un fichier texte qui décrit les champs.

Le plus souvent, le besoin d'un formulaire provient de l'utilisation d'une table de la base de donnes. Cette fonctionnalité va permettre de générer du code php pour réaliser les formulaires se basant sur les informations provenant d'une table MySql nommée.

Le fichier descriptif d'un formulaire est toujours un fichier texte.

Formulaire partir d'un fichier :

Vous allez créer un fichier descriptif qui va décrire chaque champs de votre formulaire. La description terminée, IntegSite va convertir le fichier texte en fichier php.

Un fichier de log vous décrira les éventuels problèmes rencontrés lors de la création. Le fichier de log aura le même nom que le nom de votre fichier descriptif.

Exemple du fichier descriptif :

# FICHIER (sans extension) omise alors ERREUR
FICHIER=client.php
#
# ***************************************************************
#
# CHAMP donné technique pour Php
CHAMP=nom
# LIBELLE apparaissant dans le formulaire
LIBELLE=Nom
# TYPE du champs
TYPE=TEXT
# LONGUEUR du champ(DEFAUT 20)
LONGUEUR=20
# OBLIGATOIRE (O/N) (Controle en Php)
OBLIGATOIRE=N
# Contrôle par Javascript O/N (Contrôle la saisie)
CONTROLEJS=N
FINDEF
# champ suivant
CHAMP=Prenom
LIBELLE=Prénom
TYPE=TEXT
LONGUEUR=20
OBLIGATOIRE=N
CONTROLEJS=N
FINDEF
#
CHAMP=civS
LIBELLE=Civilité SELECT
TYPE=SELECT
ELEMENTS=M.,Monsieur;
ELEMENTS=*Mme,Madame;
ELEMENTS=Melle,Mademoiselle;
LONGUEUR=20
OBLIGATOIRE=N
CONTROLEJS=N
FINDEF
#
CHAMP=civRADIO
LIBELLE=Civilité RADIO
TYPE=RADIO
ELEMENTS=Radio1,radio1;
ELEMENTS=*Radio2,case radio 2;
ELEMENTS=RAdio3,case radio3;
LONGUEUR=20
OBLIGATOIRE=N
CONTROLEJS=N
FINDEF

Les lignes commençant par # sont des commentaires.

CHAMP désigne le nom technique du champ du formulaire.
LIBELLE est le texte qui s'affichera dans le formulaire.
TYPE est le type de champ, par défaut c'est TEXT
LONGUEUR est la longueur par défaut, cette caractéristique ne sera pas utilisé si non mentionné
ELEMENTS, c'est les éléments d'un champ multi-entrée, RADIO, SELECT, ...
OBLIGATOIRE demande un contrôle PHP pour valider que le champ doit être obligatoire. (non encore opérationnel)
CONTROLEJS demande un contrôle JavaScript pour valider que le champ doit être rempli. (non encore opérationnel)

Formulaire à partir de la base de donnes :

Vous avez une base de données et vous aimeriez qu'une table soit traduite en formulaire.

Le fichier descriptif doit être un peu diffèrent.

# FICHIER (sans extension) omise alors ERREUR
FICHIER=client.php
# TABLE formulaire basé sur cette table
TABLE=TEST
#
# ***************************************************************
#
# CHAMP donné technique pour Php
CHAMP=nom
# LIBELLE apparaissant dans le formulaire sinon précisé, cela sera le commentaire du champ
LIBELLE=Nom
# TYPE du champs sera la longueur du champ de la table
# LONGUEUR du champ sera la longueur du champ de la table
# OBLIGATOIRE (O/N) (Contrôle en Php)
OBLIGATOIRE=N
# Controle par Javascript O/N (Contrôle la saisie)
CONTROLEJS=N
VISIBLE=O
FINDEF
# champ suivant
CHAMP=Prenom
LIBELLE=Prénom
TYPE=TEXT
LONGUEUR=20
OBLIGATOIRE=N
CONTROLEJS=N
VISIBLE=O
FINDEF

Si l'étiquette LIBELLE n'est pas présente, c'est le commentaire du champs dans MySql qui sera affiché. (j'ai choisi de me servir de l'attribut commentaire de la base MySql pour y stocker le libellé. Exemple : pour le champ nom, le commentaire du champ sera "Nom:")

Le paramètre VISIBLE, permet d'afficher ce champ dans le formulaire. Avec la valeur N (Non) le champ ne s'affichera pas (Champ Id par exemple).

le paramètre FINDEF permet d'indiquer que l'on change de champ.

Il suffit d'indiquer à IntegSite la table utilisée pour construire le formulaire. La table entière sera traduite avec tous ses champs sauf indication contraire.

Les descriptifs contenus dans le fichier texte vont modifier la façon dont le logiciel va traiter le formulaire. Les précisions permettent de rajouter ou faire disparaître des champs. on peut surcharger les attributs des champs de la base de données.

Vous pouvez utiliser aussi un fichier descriptif qui va indiquer IntegSite les champs que vous voulez rajouter, enlever ou modifier dans le formulaire. Vous pouvez modifier le libellé du champ, sa longueur, le type de champ, les éléments qui le compose (pour les boutons radio).

Exemple :

La table Test définie comme telle :

Champs
Type de champs
Commentaire
Id
BigInt (Primary)
Identifiant
nom
varchar(50)
Nom :
prenom
varchar(50)
Prénom :

En indiquant cette table, IntegSite va créer un formulaire pour permetre la création, suppression et modification d'un enregistrement de cette table.

Le champ Id n'est pas visible dans le formulaire car c'est une clé primaire, il sera (hidden pour modification), mais on peut le rendre VISIBLE à l'aide du fichier descriptif.

Le fichier php généré contiendra, les instructions php de récupération POST des champs, la gestion de l'action de création, suppression et modification d'un enregistrement et le formulaire HTML.

Il faudra intégrer et adapter ce formulaire en fonction de votre utilisation.

Commande

Dans le fichier de commande

C:\Program Files\IntegSite\Integsite.exe -c Chemin_du_fichier_de_configuration -form Chemin_du_fichier_descriptif_du_formulaire


l'ordre '-form' permet de générer la construction du formulaire suivant le descriptif donné dans le fichier de configuration..

Exemple de formulaire généré (fichier descriptif texte) :

Nom
Prénom
Civilite SELECT
Civilite RADIO
radio1
case radio 2
case radio3


Le script Php pour la gestion de ce formulaire sera généré automatiquement pour permettre de gagner du temps et diminuer le nombre d'erreur à la création. Les créations sont ainsi standardisés et industrialisés.

Actuellement toutes les fonctions ne sont pas opérationnelles, mais ce qui est énoncé ici est fonctionnel.


Merci à www.creer-son-website.fr pour me permettre d'utiliser ce kit webdesign.
Le web design à été concu par creer-son-website.fr
© Eric MILLOZ 2010.