iBLOG précédent iBLOG suivant



Publié le 18/04/2007 à 23:16
Par projetweb

Mise en place du framework openmairie

Pour développer avec le framework openmairie, il faut commencer par son installation.

Télécharger l'interface open_exemple et la librairie openmairie à partir de http://adullact.net/frs/?group_id=265.

Suivez ensuite les indications décrite dans l'article 'openmairie : mise en place du framework'

Base de données SQL

Dans cette partie, nous estimons que le framework openmairie_exemple et sa base de données initiale sont mis en place et fonctionnent.

Nous commençons l'apprentissage du framework par une gestion de prestataires. Nous créons deux tables que nous appelons 'entreprise' et 'contact'


Nous allons rester simple.


Nous avons besoin de certaines données :
table 'entreprise' :
- Nom de l'entreprise varchar(40),
- Activité varchar(50),
- Nom du Directeur varchar(30),
- Adresse varchar(70),
- Code Postal int(5),
- Ville varchar(30),
- Téléphone varchar(15),
- Fax varchar(15),

table 'contact'
-nom varchar(30),
-prénom varchar(30),
-fonction varchar(30),
-tel varchar(15),
-portable varchar(15),
-fax varchar(15)

Faisons un diagramme UML avec l'application argoUML ou un diagramme MCD avec l'application analyseSI.

MCD / MLD: (créé avec analyseSI).

  
Création de table en SQL :



Insérer maintenant vos deux tables dans votre base de données.

Développement avec 'openmairie'

A SUIVRE:
- rappel:[votre_application]/dyn/base.php (information de connection à la base de données)
- création du fichier [votre_application]/sql/mysql/entreprise.inc (affichage des données en liste/tableau)
- création du fichier [votre_application]/sql/mysql/entreprise.form.inc (formulaire de modification et d'ajout)
- création du fichier [votre_application]/obj/entreprise.class.php (objet relatif au formulaire)
- modification du contenu [votre_application]/dyn/menu.inc (mofication du menu pour pointer vers nos prestataires)

rédaction en cours



Publié le 18/04/2007 à 23:08
Par projetweb
Voici une démonstration rapide et succinte de ce que l'on peut faire en moins de 20 minutes :

D'abord, on réalise un MCD très simplifié : Clin d'oeil

CREATE TABLE entreprise (
  ent_id int NOT NULL,
  ent_nom varchar(40),
  ent_type varchar(30),
  ent_tel varchar(15),
  ent_fax varchar(15),
  ent_adresse varchar(50),
  ent_cp varchar(6),
  ent_ville varchar(30)
);

Pas besoin de contraintes SQL, le framework le gére


Voici le menu en javascript : il suffit de modifier dyn/menu.inc et d'insérer le lien.

menu en javascript du framework openmairie


Génération de la Liste : (le gros bouton bleu +, c'est pour ajouter un enregistrement. La + rouge c'est pour supprimer l'enregistrement)

liste de données avec openmairie



Génération du Formulaire :

formulaire généré avec openmairie


Ensuite on peut décider d'avoir le type d'activité comme une table à part, et avoir un select dans le formualre.
On peut aussi avoir un champ mail avec un petit bouton à coté du champ ou devant la ligne de la liste, sur lequel on clique pour envoyer un mail directement (ouverture du logiciel de messagerie avec le champ destinataire pré-rempli).



J'ai mis moins de 20 minutes pour générer la classe entreprise avec le framework.
Le framework OpenMairie gére déjà les droits d'accés. On peut créer des groupes en fonction des droits que l'on veut attribuer aux utilisateurs.
La présentation se personnalise à l'aide des CSS.


Voici le code pour générer la liste (sql/mysql/entreprise.inc):
code pour générer la liste de données dans openmairie


Pour générer le formulaire c'est un peu la même chose avec le fichier sql/mysql/entreprise.form.inc, sauf qu'il y a un fichier obj/entreprise.class.php en plus pour créer l'objet entreprise. Il faut surcharger les fonctions :

par exempple :

<code>
function setType(&$form,$maj) {
if ($maj < 2) { //ajouter et modifier
   $form->setType('ent_id', 'hidden');
   $form->setType('ent_nom', 'text');
   $form->setType('ent_type', 'text');
   $form->setType('ent_tel', 'text');
   $form->setType('ent_fax', 'text');
   $form->setType('ent_adresse', 'text');
   $form->setType('ent_cp', 'text');
   $form->setType('ent_ville', 'text');

   if ($maj==1){ //modifier
     $form->setType('ent_id', 'hidden');
     }
   }else{ // supprimer
     $form->setType('ent_id', 'hiddenstatic');
     }
}
</code>

Si vous vouler un champ pour attacher un fichier, il suffit de mettre 'upload' à la place de 'text'.
Un bouton 'upload' apparaitra dans le formulaire pour télécharger le fichier à partir de l'ordinateur.
Un bouton 'voir' apparaitre pour afficher le fichier pdf,jpg,gif... (les paramétres du upload peuvent être modifiés dans le fichier spg/upload.class.php)

Pour un champ mail avec le bouton d'envoie : 'mail'.
Pour un champ select : 'select' et surcharger la fonction setSelect(&$form, $maj,$db,$debug) en fesant référence à la requéte du select contenu dans '/sql/mysql/entreprise.form.inc.
Il y a aussi 'textarea'... et d'autres types de champs générés automatiquement par la librairie OpenMairie.

Ensuite pour obliger l'utilisateur de remplir un champs, il faut surcharger la fonction suivante :

<code>
function verifier(){
  $this->correct=True;
  // obligatoire

  if ($this->valF['ent_nom']==""){
     $this->correct=false;
     $this->msg= $this->msg."nom obligatoire";
  }

  if ($this->valF['ent_type']==""){
    $this->correct=false;
    $this->msg= $this->msg."type obligatoire";
  }

}//verifier
</code>


Mon calendrier
< Avr. 2007 >
L M M J V S D
      1
2345678
9101112131415
16171819202122
23242526272829
30      
Mes archives
Trafic
Noter ce blog :
1 5
1018 connectés
14286 visiteurs
Ce blog est classé 1586ème
Score de ce blog : 2,81
Tribune libre