Vous êtes sur la page 1sur 37

Soutenance de fin d’Etude pour

L’ Obtention du mastère spécialisé


en
NTICE - WEB
Intégration d’une Interface Web a un
Générateur d’Application de Gestion

Réalisé par : Riadh LOUATI

Réalisé à : CTE EL-ATHIR & RITM


Encadreur  : Mr. Hassen SOUSSOU
Encadreur Entreprise : Mr. ELMourad BEN CHEIKH
2
Plan
Introduction

Générateur d’application de gestion

Cahier des charges

Conception

Réalisation

Conclusion et Perspectives
3
Introduction
Évolution de Nouveaux besoins
l’informatique sont apparus

Réalisation de nouvelles applications en très peu de temps devient très


fréquent

Utiliser des

Générateurs d’Applications de Gestions


la gestion rapide - Des Interfaces
- Du Développement
4
Objectifs du projet :
• Contribuer à l’Intégration d’une
interface Web a un générateur
d’application;
• Améliorer la conception du
générateur

5
Société : Réseaux, Informatique, Télécoms,
Multimédia
• A bâti sa réputation sur le développement
de logiciels de gestion ;
• Compte plusieurs clients leader dans leurs
secteurs ;

Agro alimentation

Pharmaceutique Siphat Électronique


Électricité
6
Système d’information du département industriel
d’ELATHIR
Le département industriel de la CTE EL-ATHIR est gérés par les

application suivantes:

GPAO :

Serveur intranet : l’application intranet comprend le mail interne ainsi

qu’un portail de gestion de contenu

Serveur WEB : Contient le portail intranet. Ce Portail est dynamique et est

connecté aussi bien à l’Intranet qu’à la GPAO.

Permettant notamment au clients de consulter l’avancement de


leurs travaux et de partager certains documents
7
Conclusion

Tout le travail ce fait a travers l’Internet a travers un navigateur


 Notre objectif de départ est : une interface Web au Système GPAO
 intégration d’une composante vue a un générateur d’application,
 Mettre le générateur sous un serveur Web ou un serveur d’application

Une solution qui doit être : - Multi-Plateforme


- Indépendant Vis-à-Vis du SGBD : dialecte SQL
- Open source
- dans un environement Web

8
Qu’est ce que le générateur d’application RITM

Avantages :
- Rapidité de développement
- Environnement homogène
- Facilité de maintenance
- Facilité de paramétrage
- Facilité de portage

Caractéristiques :
- Description indépendante d’une BD relationnelle
- Calculs liés au relations
- Contrôles automatiques d’intégrités et de cohérence
- Gestion d’événements
- Gestion des utilisateurs
9
Les Composants du générateur

Le Menu : à deux niveau


- Intitulé
- Description de la base, grille

La description de la base de donnée :


- Liste des tables
- Liste des zones
- Liste des clés
- Liste des relations
Les grille :
- Grille de saisie
- Grille de calcul
- Grille d’impression

10
Architecture générale du générateur
Description de la Grilles Menus
BD

Générateur Evénements Routine


Utilisateur

Base de
journal données

11
Générateur d’application de gestion (1/2)
Principe
Le générateur
Importe le Modèle

Développeur
Le concepteur introduit
la description de l’application qui répond
l’application à gérer à ces spécifications

Générateur

Le client présente les


différentes spécifications
de l’application qu’il veut
concevoir Utilisateur
12
L’Ingénierie Dirigée par les Modèles
(IDM)
Cette approche repose sur :
 Le modèle de l'application que l'on souhaite obtenir
 Une phase de génération automatique de l’application ou d'une partie
du code de cette application
Il ne reste au développeur qu’à mettre en oeuvre la partie non automatisable
du code
Cette approche permet de :
 augmenter la productivité
 assurer la portabilité
 assurer Maintenance
assurer La possibilité de migration

13
Générateur d’application de gestion
(2/2)
Ils existent deux versions de générateur:
 La première version :
 Fonctionne sous MS-WINDOWS
 Écrite en Visual Basic
 Les données sont générées pour MS-ACCESS
 La deuxième version :
 Écrite en langage Python
 Portable
Indépendante du système de base de données
 Utilise l’approche IDM pour la génération d’applications
14
Cahier des charges

Objectifs du projet

Transformation d’un générateur d’applications de gestion desktop en


un générateur d’applications de gestion Web

L’ajout d’une composante vue à la deuxième version du


générateur

15
Choix & Etudes Techniques
Serveur D’application : Zope
 Présentation de Zope :

Zope est un serveur d'applications


(aussi appelé serveur d'objets),
 L'architecture technique standard de Zope 2 est composée de :

• ZServer (serveur Web)


• ZPublisher (publication d'objets - ORB)
• DTML et ZPT (langages de templates)
• ZODB (base de données objets)
• ZCatalog (moteur d'indexation et de recherche)

16
17
Le serveur d’application ZOPE

 Programmé de façon modulaire

 Séparation complète des tâches: logique applicative, stockage et

 présentation des données

 Système de sécurité puissant et complet

 Nouveau concept puissant : l'acquisition

 Intégration d'objets Python persistants,…

18
Conception

Applications
Applications de de gestion
gestion desktop Web
«wxPython» «HTML»

Générateur

19
Conception
Structure en paquetage du générateur

20
Conception

Application

DataBase interface
graphique

21
Conception
Backend
(from ZopeBackend)
menu

Application doMenu()
(from Application) 1 getMenu()
parametre __init__()
set
guibk
Menu 1
pathMenu
base
User Menu
pathBase 0..n (from Application)
DataTable
path read 1..n titre (from DataBase)
options Base
(from DataBase)
name
setBase() id
exented_name
setPath() tables
fields
setParametre() readMenu() relations
attached
setGUI() __init__()
relations
__init__() 1..n addTables() 1..n
indexes
addRelation()
validate shortname
createDataBase()
id
createRecord()
n
modifyRecord()
Task addField()
deleteRecord()
(from Application) addIndex()
1..n findNextRecord()
action addRelation()
findRecord()
caption import findRecordSet()
Cvsparse
base n __init__()
(from Application)
menu
elemligne consult_entete Fields
s nfent (from DataBase)
ligne autorisation_entete 1..n default_Value
s1 consult_ligne none_auth
1 1..n
elem 0..n
calculs hide
indexes Relation name
read() total_ligne (from DataBase) rulebefore
readline() ligne table enabled
__init__() autorisation_ligne source_fields empty_string
entete target linebefore
lenght
__init__() __init__() locked
readBase() type
litgrilleAnc() id

__init__()

22
Conception
user Zope(ZMI) Application ZopeBacken DataBase
d

1: Autentification

2: verification

3: Autorisation

4: Appel acev paramétre

5: set

6: lire modéle menu

7: get menu

8: Task

9: Task avec paramétre

10: appel

11: lire modéle de donnes


12: lire modéle grille

13: paramétre task

14: verification

15: validation

23
Conception
user Zope(ZMI) Application ZopeBacken DataBase
d

Authentification
1: Autentification

2: verification

3: Autorisation

4: Appel acev paramétre

5: set

6: lire modéle menu

7: get menu

8: Task

9: Task avec paramétre

10: appel

11: lire modéle de donnes


12: lire modéle grille

13: paramétre task

14: verification

15: validation

24
Conception
user Zope(ZMI) Application ZopeBacken DataBase
d

1: Autentification

2: verification

3: Autorisation Vérification
4: Appel acev paramétre

5: set

6: lire modéle menu

7: get menu

8: Task

9: Task avec paramétre

10: appel

11: lire modéle de donnes

12: lire modéle grille

13: paramétre task

14: verification

15: validation

25
Conception
user Zope(ZMI) Application ZopeBacken DataBase
d

1: Autentification

2: verification

3: Autorisation

4: Appel acev paramétre

5: set

6: lire modéle menu

7: get menu

8: Task

9: Task avec paramétre

10: appel

11: lire modéle de donnes


12: lire modéle grille

13: paramétre task

14: verification

15: validation Exécution

26
Réalisation

La réalisation de ce projet est faite en trois parties :

1. Création d’un produit Zope « plug-in Zope »

2. Développement de la composante Vue et intégration dans

l’ancien générateur

3. Intégration des deux premières parties

27
Réalisation
Le langage Python

Portable

Gratuit

Orienté objet

Extensible

Intègre un système d'exceptions

Convient à des projets complexes

Syntaxe :
 très simple
 combinée à des types de données évolués
28
Réalisation Notre générateur

WxWidget
Application

Backend de GUI
Couche
Couche QT Présentation
Métier Runtime
(Business)
ZSERVER
Backend de BD

Couche
Accès
aux
données Postgresql MySQL ZODB
29
Réalisation
Description de la base de données

Les tables de
l’application

Les différents
champs

Indexe

Les relations

30
Réalisation
Description des menus Le nom de fichier de
modèle de la base

Les principaux
menus

Les sous
menus
Le nom de fichier de
modèle de grille 31
Réalisation

32
Réalisation

33
Réalisation

34
Conclusion

Ce projet nous a permis de faire la connaissance de :


 L’approche « Ingénierie Dirigée par les Modèles »

Le langage de programmation Python

 Le serveur d’application Zope

35
Perspectives

Comme perspectives futures de ce travail, nous pouvons citer :

L’utilisation d’un langage standard pour l’écriture des modelés, par

exemple XML

 L’utilisation de la technologie Ajax (Asynchronous JavaScript And

XML) pour résoudre le problème de client riche.

 Étudier les autres types de composants tels que les objets métiers.

36
Merci pour votre attention

Vous aimerez peut-être aussi