Exemple : la gestion de ma bibliothèque :

Il est proposé à titre d’exemple, de créer l’application ma bibliothèque et le prêt à mes amis :

  • dans un premier temps, on analyse ce que l’on veut faire et on peut produire un diagramme de classe
  • on créé les tables avec om_tables en modifiant éventuellemnt les paramères d’om_tables_parametre
  • on créé les champs correspondants avec om_champs en modifiant éventuellemnt les paramères d’om_forms
  • on compose le formulaire avec l’option composeur du menu pg_admin
  • et enfin on génére les formulaires pour chaque table.

Diagramme de classe de la gestion de bibliothéque :

../_images/classe_bibliotheque.png

La création des tables :

Les tables suivantes ont été crées avec om_tables : livre, emprunteur , emprunteur_livre

Les champs ont été créés avec om_champs

CREATE TABLE om5.livre
(
  livre integer NOT NULL, -- null
  titre character varying NOT NULL, -- {"libelle":"Titre du livre","type":"","bloc":"C1","position":2}
  auteur character varying, -- {"libelle":"Auteur du livre","type":"","bloc":"C1","position":"1"}
  resume text NOT NULL, -- {"libelle":"","type":"html","bloc":"C2","position":"1"}
  fichier character varying, -- {"bloc":"C1","position":"3","libelle":"Le fichier","type":"file"}
  CONSTRAINT livre_pkey PRIMARY KEY (livre)
);
COMMENT ON TABLE om5.livre
  IS E'{"col1":"Mes titres en cours","col2":"Mon avis","col3":"sans",
  "libelle":"Ma biblioth\\u00e8que de livres","affichage":"1","nombre_colonne":"2"}';

CREATE TABLE om5.emprunteur
(
  emprunteur integer NOT NULL,
  nom character varying NOT NULL, -- {"libelle":"","type":"","bloc":"C1","position":"1"}
  prenom character varying, -- {"libelle":"","type":"","bloc":"C1","position":"2"}
  date_naissance date, -- {"libelle":"","type":"","bloc":"C1","position":"3"}
  actif boolean, -- {"libelle":"","type":"","bloc":"C2","position":"1"}
  CONSTRAINT emprunteur_pkey PRIMARY KEY (emprunteur)
)
;
COMMENT ON TABLE om5.emprunteur
  IS '{"col1":"Etat civil","col2":"Autres","col3":"",
  "libelle":"Mes amis","affichage":"1","nombre_colonne":"2"}';

CREATE TABLE om5.emprunteur_livre
(
  emprunteur_livre integer NOT NULL,
  date date NOT NULL, -- {"libelle":"","type":"","bloc":"C2","position":"1"}
  retour boolean, -- {"libelle":"","type":"","bloc":"C2","position":"2"}
  livre integer NOT NULL, -- {"libelle":"","type":"","bloc":"C1","position":"1"}
  emprunteur integer NOT NULL, -- {"libelle":"","type":"","bloc":"C1","position":"2"}
  ceci_est_e character varying, -- {"libelle":"ceci est e","bloc":"C1","position":3,"type":""}
  CONSTRAINT emprunteur_livre_pkey PRIMARY KEY (emprunteur_livre),
  CONSTRAINT emprunteur_livre_emprunteur_fkey FOREIGN KEY (emprunteur)
          REFERENCES om5.emprunteur (emprunteur) MATCH SIMPLE
          ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT emprunteur_livre_livre_fkey FOREIGN KEY (livre)
          REFERENCES om5.livre (livre) MATCH SIMPLE
          ON UPDATE NO ACTION ON DELETE NO ACTION
);
COMMENT ON TABLE om5.emprunteur_livre
  IS E'{"col1":"Livres ou Amis","col2":"retour","col3":"pas",
  "libelle":"livres emprunt\\u00e9s","affichage":"0","nombre_colonne":"2"}';

Les modifications suivantes des paramètres des tables ont été effectuées:

emprunteur

  • col1 Etat Civil
  • col2 Activité
  • libelle Mes amis

livre

  • col1 mes titres
  • col2 Mon avis
  • libelle Ma bibliothèque

emprunteur_livre

  • affichage 0

Les champs suivants ont été créés pour chaque table :

Les champs suivants ont été créés dans om_champs :

Pour la table emprunteur :

  • nom : type varchar(40) obligatoire
  • prenom : type varchar(40) non obligatoire
  • date_naissance : type date obligatoire
  • actif : type booleen non obligatoire

Pour la table livre :

  • titre : type character varying obligatoire
  • auteur : type character varying obligatoire
  • resume : type text obligatoire
  • fichier : type character varying Non obligatoire

Pour la table emprunteur_livre :

  • emprunteur : type cle secondaire obligatoire
  • livre : type cle secondaire obligatoire
  • date : type date non obligatoire
  • retour : type booléen non obligatoire

Les contraintes de clé secondaires sont visibles dans le sous formulaire om_contrainte de om_tables (option du menu pg_admin) :

  • emprunteur_livre_livre_fkey
  • emprunteur_livre_emprunteur_fkey

Note

Les sous formulaires sont créés par les clés secondaires.

Les modifications des paramètres suivantes ont été faites dans les champs dans la table om_champs :

pour la table emprunteur :

  • date_naissance : libellé : date de naissance

pour la table livre :

  • fichier : libellé : upload ; type : file
  • resume : type : html

pour la table emprunteur_livre

  • emprunteur: libellé : ami(e)
  • date: libellé : date de prêt

Les formulaires ont été composés de la manière suivante :

Pour la table emprunteur :

../_images/composer_emprunteur.png

pour la table livre :

../_images/composer_livre.png

Le menu application :

Le menu option application est créé au fur et à mesure de la création des tables :

../_images/menu_app.png

Les formulaires et les sous formulaires générés :

Il faut ensuite générer le formulaire avec chaque table (voir action générer d’om_table).

Il est possible de lister les emprunteurs dans le menu application -> option « mes amis »

../_images/tab_emprunteur.png

Il est possible de saisir, modifier et supprimer les aemprunteurs dans le formulaire suivant :

../_images/form_emprunteur.png

Il est possible de lister les livres dans le menu application -> option « ma bibliothèque »

../_images/tab_livre.png

Il est possible de saisir, modifier et supprimer les livres dans le formulaire suivant :

../_images/form_livre.png

Il est possible de lister les livres empruntés dans le menu application -> dans le sous formulaire de livre ou d’emprunteur :

../_images/tab_emprunteur_livre.png

Il est possible de saisir, modifier et supprimer les emprunts de livre dans le formulaire généré :

../_images/form_emprunteur_livre.png