Site personnel
Developpement et conception internet.
Mon CV.
Logiciel.
Matériels informatique.
Domotique.
Autres thèmes
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.
Vous pouvez télécharger cet exemple en bas de cette page, ou en cliquant ici.
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)Les diffèrentes valeurs pour le type de champs (TYPE) sont : TEXT, PASSWORD,FILE,TEXTAREA,CHECKBOX,RADIO,SELECT.
Les type suivants seront implémentés bientôt ,TIME(HH:MM),DATE(JJ/MM/AAAA
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) :
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, il reste encore du travail de mise en page.
Actuellement toutes les fonctions ne sont pas opérationnelles, mais ce qui est énoncé ici est fonctionnel.
Exemple make
Fichier exemple site monsite.zip
Pour télécharger l'exemple monsite.zip veuillez cliquer ici.