ExpertSystems

Transcription

ExpertSystems
EXPERTSYSTEMS
ExpertSystems
Embarcadero All-Access
EUVRARD Cédric
3è trimestre 2010
I.
Cadre du stage ................................................................................................................................. 2
A.
L’entreprise.................................................................................................................................. 2
B.
L’équipe de travail ....................................................................................................................... 3
C.
L’environnement ......................................................................................................................... 3
II.
Tâches effectuées ............................................................................................................................ 5
A.
Installation et découverte d’All-Access ....................................................................................... 6
B.
Développement de démonstrations ........................................................................................... 7
III.
Connaissances technologiques.................................................................................................... 8
A.
Delphi 2010 ................................................................................................................................. 8
B.
C++Builder 2010 .......................................................................................................................... 9
C.
Delphi Prism 2010 ..................................................................................................................... 10
D.
JBuilder 2008 ............................................................................................................................. 10
E.
3rdRail........................................................................................................................................ 11
F.
Delphi for PHP ........................................................................................................................... 12
G.
Autres modules (relatifs aux bases de données, à l’optimisation de code Java et à la
modélisation des processus métiers) ................................................................................................ 12
IV.
Droit du travail........................................................................................................................... 13
V.
Conclusion ..................................................................................................................................... 14
A.
Embarcadero/Open Source ....................................................................................................... 14
B.
Choix du langage et du Système de Gestion de Bases de Données Relationnelles .................. 15
C.
1.
Choix du langage ................................................................................................................... 15
2.
Choix du SGBDR ..................................................................................................................... 15
Système expert ou requêtes sur bases de données .................................................................. 16
VI.
Bibliographie.............................................................................................................................. 16
VII.
Annexes ..................................................................................................................................... 18
1
I.
Cadre du stage
A.
L’entreprise
ExpertSystems est une entreprise individuelle (auto-entreprise) fondée par Fabien QUANTIN,
ingénieur en génie civil, à Nice en juillet 2010. Les locaux de l’entreprise sont situés sur les hauteurs
de la ville.
Le but du stage est d’aider à la mise en place de la cellule de production de l’entreprise en
testant des outils logiciels acquis (Embarcadero All-access, moteurs de bases de données) et en
commençant l’exploitation de ces logiciels.
ExpertSystems a plusieurs objectifs commerciaux:

Développer des applications desktop, client/serveur et web sur commande à l’aide de
la suite logicielle Embarcadero All-Access sous différents langages (PHP, Delphi ou
Pascal Objet, C++, Java, .Net, Ruby) ;

Modéliser et concevoir des bases de données :
o
dans un 1er temps: dBase, Paradox, MySQL, SQL Server, InterBase, Firebird,
BlackFishSQL, PostGreSQL ;
o

dans un 2° temps : Oracle, IBM, Sybase, Informix ;
Administrer et optimiser de bases de données : MySQL, SQL Server, InterBase,
Firebird, PostGreSQL ;

Regrouper l’administration de plusieurs SGBD avec DBArtisan ;

Développer des projets spécifiques :
o
des systèmes experts destinés à différents domaines d’application dans les
secteurs divers (ingénierie, informatique, électronique, RH, économie, finance,
banque, assurance, médecine, biologie, agriculture, agronomie, géologie,
chimie, biochimie, production, ateliers flexibles)

diagnostic et maintenance (45% des applications);

conception et planification (20% des applications) ;

contrôle, pilotage et surveillance (15% des applications)
 Exemples : analyse du risque client, contrôle de dossier, analyse de bilans,
contrôle des procédés (pétrole, ciment), rédaction de contrats standards
tel que des contrats d’assurances, analyse de dossier de prêt.
 Intérêt : rapidité, fiabilité et évolutivité des traitements
2
o
des outils de management de projet destiné à un usage interne (management
des projets informatiques) et externe (projets de génie civil ou industriel)
o
intégration de systèmes experts dans l’outil de mangement de projet
Ces objectifs sont complémentaires étant donné qu’All-Access pourra aider à décliner ces
projets spécifiques en différentes versions (web, client/serveur, monoposte, mobile) et plateformes
(Windows, UNIX, Linux, Apple).
B.
L’équipe de travail
L’équipe est composée de :

Fabien QUANTIN : ingénieur senior en génie civil bénéficiant d’une expérience
en développement : langage Delphi (Pascal Objet), C++ et PHP ;

Florent PICARD : ingénieur développeur senior multi langages responsable de la
transposition du système expert sous différents environnements ;

Cédric EUVRARD : étudiant en 3° année à SUPINFO, spécialiste réseau et
développeur junior multi langages.
Chaque membre de l’équipe est lié par un accord de confidentialité concernant le développement du
système expert.
C.
L’environnement
Au sein des locaux, le réseau informatique en place comprend:

2 PC HP avec respectivement Windows XP et un écran 17’’ et Windows Vista
et un écran 22’’ (hébergeant la suite logicielle);

2 PC portables Packard Bell 12’’ et Sony 15’’ ;

1 serveur HP Mediasmart à usage grand public pour le partage de fichiers ainsi
que la gestion des sauvegardes des ordinateurs sur le réseau et disposant d’un
accès à distance;
3

1 serveur HP Mediasmart utilisé pour l’hébergement des bases de données ;

Une imprimante réseau multifonction laser Samsung.
Ce réseau informatique permet par ailleurs de réaliser les tests des applications
client/serveur en conditions réelles d’utilisation.
L’outil logiciel principal est la suite Embarcadero All-Access composée de modules
permettant :

La modélisation de processus métiers des entreprises :
o

La modélisation d’applications :
o


o
Delphi ou Pascal Objet : Delphi 2010 ;
o
C++ : C++Builder 2010 ;
o
Delphi.Net : Delphi Prism 2010 ;
o
PHP : Delphi 2.1 for PHP ;
o
Ruby : 3rdRail 2.0 ;
o
Java : JBuilder 2008 R2 ;
L’optimisation de développement Java :


InterBase SMP 2009 ;
La modélisation de bases de données :
o

JOptimizer 2009 ;
L’utilisation du SGBD Interbase :
o

ER/Studio Software Architect 1.0 (ex EA/Studio);
Le développement d’applications:
o

ER/Studio Business Architect 1.6.1 ;
ER/Studio Data Architect 8.5.2 ;
La conception de bases de données :
o
Rapid SQL 7.7.0 ;
o
Rapid SQL Developer 2.1.3 (ex Power SQL);
L’administration de bases de données:
o
DBArtisan 8.7.4 ;
o
DB Change Manager 5.5.1 ;
L’optimisation de bases de données :
o
DB Optimizer 2.5 ;
4
Pour des besoins de migration sous Delphi, une organisation spécifique (logiciels et
documentation) est en place. Cette dernière comprend les versions :

Turbo Pascal 5.5 ;

Delphi 3 ;

Delphi 7 ;

Delphi 8 pour .Net ;

Delphi 2005 ;

Delphi 2006 ;

Delphi 2007 ;

Delphi 2009.
D’autres outils logiciels viennent compléter la suite All-Access :

Les packages Devart intégrés à RAD Studio (Delphi 2010, C++Builder) apportent des
composants supplémentaires pour l’interaction avec les SGBD MySQL et SQL Server;

NetBeans et Apache Tomcat ;

Apache ;

Turbo JBuilder 2007 ;

MySQL et son outil de management : MySQL Administrator ;

Microsoft SQL Server 2005 et SQL Server Management Studio ;

FireBird ;

DataBase Tour ;

WireShark (monitoring réseau) ;

Tortoise SVN.
Par ailleurs, le progiciel de gestion intégré (OpenERP) a été retenu comme système d’information de
l’entreprise.
II.
Tâches effectuées
Tous les modules d’All-Access ont été pris en main à travers la réalisation d’applications
concrètes.
5
Par ailleurs, une sensibilisation à l’utilisation du système expert en cours de développement a été
effectuée par la rédaction d’une mini base de connaissances dédiée à l’optimisation des ressources
(développeurs) en rapport avec les caractéristiques techniques des projets informatiques. L’objectif
étant de déterminer les avantages d’un tel système par rapport à des requêtes SQL sur des bases de
données.
Les tâches suivantes ont été effectuées au cours du stage :

Installation et découverte des modules All-Access (cf Paragraphe I.c) ;

Développement d’applications concrètes (ci-après) ;

Initiation au système expert ;

Refonte du site web www.expertsystems.fr afin qu’il reflète au mieux les moyens et
les compétences techniques de l’entreprise (après remise du rapport de stage).
A.
Installation et découverte d’All-Access
Au cours du stage, tous les modules ont été installés séparément sur l’ordinateur hôte.
A l’origine, les applications sont téléchargeables grâce à l’outil mis en place par Embarcadero, la
ToolBox. Cette dernière permet de télécharger et d’installer automatiquement les applications sur le
disque dur. La ToolBox permet de gérer le mode de fonctionnement des différents modules et même
de les démarrer. On peut également y visualiser les versions des produits installées, le chemin de
celles qui y sont installées et celles qu’on peut télécharger.
Cependant, cela nécessite une connexion Internet très performante car chaque exécutable
d’application fait plusieurs centaines de MégaOctets or il y en a 16 dans la suite All-Access.
Une alternative consiste à se procurer le Media Kit (DVD d’installation des applications), solution
retenue pour le stage.
La ToolBox dispose du mode Instant On qui permet de faire fonctionner les applications comme des
CDLive, c’est-à-dire, simuler leur présence sur l’ordinateur sans avoir à les installer.
Il existe une version « Réseau » de la ToolBox permettant de gérer les licences et de déployer
les outils Embarcadero auprès des utilisateurs, c’est le ToolCloud.
Les logiciels doivent ensuite être activés à leur première exécution, étant donné qu’All-Access
fonctionne avec un système de licences disponibles sur le compte de l’acheteur sur
edn.embarcadero.com. Chaque application possède son code d’activation propre sur le compte.
6
Ces deux étapes (installation et activation) sont assez lourdes à réaliser parce que les installations
sont longues et que pour chaque activation, il faut fournir l’identifiant Embarcadero, le mot de passe
et le numéro de série de l’application à activer.
Enfin, la découverte d’All-Access a été effectuée en testant chaque module pour avoir un
aperçu de son fonctionnement et de son interface.
B.
Développement de démonstrations
Suite à la découverte des modules, au moins une application a été réalisée, bien évidemment
dans le langage propre au module.
Ainsi, des applications ont été développées en PHP, puis en Delphi, C++, Java, .Net et Ruby.
Les modules de base de données ont servi à modéliser, créer, administrer et optimiser une
base sous InterBase, MySQL, Microsoft SQL Server et FireBird.
Pour le développement des démos, le déroulement a été le même.
La première étape a été une découverte de chaque langage avec ses spécificités propres et ses
domaines de prédilection (ex : PHPWeb). Ensuite, un apprentissage a été nécessaire pour certains
langages (Pascal, C++). Puis, des exemples ont été recherchés sur Internet pour explorer les
différentes fonctionnalités. Après, le développement de l’application a été commencé. Et enfin, des
tests ont été menés pour corriger les erreurs et améliorer l’ergonomie.
Pour Delphi, cela a été un peu différent car des tests de compatibilité des composants ont
été effectués avec des exemples livrés avec les versions antérieures de Delphi à notre disposition.
Ceci a permis de retracer l’historique de l’EDI Delphi et les évolutions qu’il a connu depuis sa création
en 1995.
Pour les modules de bases de données, aucune application n’a été développée mais
différentes tâches ont été effectuées selon la spécificité de chacun. En effet, ils ont tous des
fonctions différentes et ciblent une phase spécifique de la vie des bases de données.
7
III. Connaissances technologiques
Plusieurs types d’applications ont été réalisés. Selon le langage et les outils disponibles dans les
modules de développement :

une application de gestion d’entreprise: carnet d’adresse liée à une base de données d’abord
locale puis distante. Développement réalisé en langage Pascal Objet sous Delphi, C++, PHP ;

un convertisseur de devises. Développement réalisé en Pascal Objet sous Delphi, C++, PHP,
Java, Pascal Objet sous Delphi Prism ;

une application client/serveur (envoi de messages du client vers le serveur) en Java ;

une application type « HelloWorld » déclinée en servlet (HTML encapsulé dans du Java) et en
JSP (appel Java encapsulé dans du HTML).
Par ailleurs d’autres applications ont été importées (voir annexe All-Access) et modifiées sous
l’environnement All-Access dans le cadre de test de migration et de compatibilité (open source/AllAccess).
Pour les besoins de l’application de gestion d’entreprise, une base de données a été construite
pour interagir avec cette application développée en différents langages. C’est le SGBDR MySQL qui a
été utilisé. La base de données contient 3 tables :

la table « clients » ;

la table « employés » ;

la table « user ».
Cette dernière contient des login et des mots de passe. Elle sert uniquement pour l’authentification
pour l’application en PHP.
La base de données a d’abord été crée et utilisée en local puis ensuite exportée sur un serveur
distant.
A.
Delphi 2010
Deux applications ont été réalisées en Pascal Objet, appelé aussi langage Delphi, sur cet EDI :

une application de gestion d’entreprise liée à la base de données ;
8

un convertisseur de devises.
L’application de gestion permet de visualiser les tables « clients » et « employés ». On peut
également ajouter, supprimer ou modifier les lignes dans ces 2 tables.
Pour réaliser cette application, certains composants ont été utilisés. Ces composants sont des
composants DBExpress et doivent remplacer à terme les composants BDE (Borland Database Engine).
DBExpress est apparu dans la version Delphi 7 en 2002 mais est encore peu utilisé à cause de la
complexité de son utilisation. En effet, cinq composants (TDatasource, TClientdataset ou TSQLQuery
ou TSQLTable, TDatasetProvider, TSQLDataset, TSQLConnexion) sont nécessaires pour arriver au
même résultat qu’avec trois pour le BDE (TDatasource, TTable ou TQuery, TDatabase) mais les
ressources sont beaucoup moins sollicitées. Dans DBExpress, un composant TSimpleDataSet existe
pour regrouper les fonctionnalités des composants TClientDataset, TDatasetProvider et TSQLDataset
et ainsi rappeler l’esprit du BDE mais finalement, ce composant est plus complexe que les 3 pris
séparément.
Avec le BDE, les changements dans les données de la base étaient transférés directement
entrainant des accès et du transfert d’informations permanents entre l’application et la base. La
bande passante était donc tout le temps occupée par ces transferts. Avec DBExpress, les
changements sont enregistrés dans un cache (composant TClientDataset) via la commande « post »
et sont transférés via la commande « applyupdates ».
Le convertisseur permet de convertir en euros, dollars US, livres Sterling et francs en
affichant le taux de change.
B.
C++Builder 2010
Les applications développées sont les mêmes que pour Delphi. C’est-à dire une application de
gestion d’entreprise et un convertisseur de devises.
Cependant, l’application de gestion est plus ergonomique que sous Delphi et plus aboutie.
Elle utilise différentes fenêtres plutôt que des onglets corrigeant ainsi l’absence de rafraichissement
automatique des pages après modification.
Les composants sous C++Builder 2010 sont identiques aux composants sous Delphi 2010.
9
C.
Delphi Prism 2010
Seul le convertisseur a été développé mais en 2 versions. Delphi Prism est un plugin de Visual
Studio 2008, 2010 et MonoDevelop et permet de développer pour les OS Windows et Mac. Une
version pour chaque OS a été réalisée.
Les développements pour Mac nécessitent une compilation en langage natif (Mono) et le
respect de la charte graphique Apple disponible sous AppleStore.
Le passage par MonoDevelop permet de développer pour MacOS X et iPhone OS.
La syntaxe du Pascal Objet sous Delphi Prism présente quelques différences par rapport à
celle sous Delphi.
Par exemple, les méthodes de « cast » des variables (chaîne de caractèresentiers) sont
différentes (cf code source). Les noms changent également : méthode remplace procédure et
fonction. Sous Delphi Prism, la syntaxe se rapproche des langages totalement orientés objet comme
Java ou C#.
D.
JBuilder 2008
Java offre également de nombreuses possibilités, il permet de développer des applications
monoposte, web ou client/serveur. Aussi, différentes types d’applications sont présentées :

un convertisseur de devises (monoposte);

un programme de calcul de matrice en mode console a été récupéré et la classe matrice qu’il
utilise a été adaptée (monoposte);

une application client/serveur où le client envoie des messages au serveur ;

un annuaire téléphonique qui interroge un fichier texte contenant les données
(client/serveur) ;

un jeu simulant de l’intelligence artificielle (monoposte) ;

une application type « HelloWorld » en servlet et JSP (web).
Il est possible d’exporter des projets Java sous différents formats selon les besoins :
10

les fichiers JAR (Java ARchive) est un fichier ZIP utilisé pour distribuer un ensemble de classes
Java. Ce format est utilisé pour stocker les définitions des classes, ainsi que des
métadonnées, constituant l'ensemble d'un programme.

les fichiers WAR (Web Application aRchive) sont des archives JAR contenant des fichiers XML,
des classes Java, des JSP (Java Server Page) et d'autres objets pour les applications Web ;

les fichiers EAR (Enterprise Application aRchive) sont des archives JAR contenant des fichiers
XML, des classes Java et d'autres objets pour les applications d'entreprise ;

les fichiers RAR (Resource Adapter aRchive) sont des archives JAR contenant des fichiers
XML, des classes Java et d'autres objets pour l'architecture de connecteurs (JCA) de la
plateforme J2EE ;

les fichiers AAR (Axis ARchive) sont des archives JAR spécifiques pour le déploiement de
service web sous Axis 2.
Les fichiers WAR, EAR, RAR, AAR sont également des fichiers JAR mais de structure différente.
Tous les outils Java Embarcadero (JBuilder2008, RapidSQL Developer, J Optimizer) reprennent l’EDI
Eclipse.
E.
3rdRail
3rdRail est un EDI destiné à faire du Ruby, un langage uniquement pour faire du web.
Des difficultés rencontrées lors de la configuration ne permettent pas d’exploiter l’ensemble des
fonctionnalités de ce module. Une alternative à 3rdRail consiste à utiliser l’EDI NetBeans.
Ainsi, sous 3rdRail, il n’est actuellement pas possible de réaliser des projets Rail toutefois des projets
Ruby restent envisageables.
Pour mémoire, Ruby on Rail est un framework open source, c’est-à dire des bibliothèques de classes,
qui se greffe sur l’interpréteur Ruby. 3rdRail est son équivalent en Embarcadero.
Attention, Delphi On Rails n’est ni un framework, ni un module lié à 3rdRail mais un modèle
d’architecture basé sur MVC (Modèle Vue Contrôleur) et REST (Representational State Transfert).
11
F.
Delphi for PHP
PHP est un langage orienté web. Ainsi les pages php obtenues sont destinées à être
hébergées sur un serveur web. Il est impossible de créer des fichiers exécutables.
Deux applications ont été développées en PHP :

une application de gestion d’entreprise similaire à celle réalisée sous Delphi et
C++Builder avec une fonction d’authentification supplémentaire pour accéder à la page
d’administration ;

un convertisseur de devises.
Dans le cadre de la refonte du site web www.expertsystems.fr, Delphi for PHP sera utilisé pour
créer des pages web pouvant accéder à la base de données du système expert.
G.
Autres modules (relatifs aux bases de données, à
l’optimisation de code Java et à la modélisation des processus
métiers)
Nous avons abordé précédemment (points A, B, C, D, E, F) les modules relatifs au
développement d’applications pour lesquels des exemples concrets ont été réalisées.
Les autres modules relatifs à la modélisation, à la conception, à l’administration et à
l’optimisation de bases de données ou applications Java et également de modélisation de processus
métiers faisant partie d’All-Access sont détaillés dans le cadre de l’annexe All-Access jointe au
présent rapport.
12
IV.
Droit du travail
ENVIRONNEMENT JURIDIQUE (DROIT SOCIAL) :
OIT: Organisation Internationale du Travail
-> www.ilo.org
JURIDICTION COMPETENTE: CONSEIL DES PRUD'HOMMES
-> www.justice.gouv.fr
DDTEFP : Direction départementale du travail et de la formation pro DDTEFP
-> www.travail-solidarite.gouv.fr
INSPECTION DU TRAVAIL: inspecteur du travail, contrôleur du travail, médecins-inspecteurs
-> www.travail-solidarite.gouv.fr
CONVENTION COLLECTIVE
-> www.ma-convention-collective.com
MEDECINE DU TRAVAIL
->www.travail-solidarite.gouv.fr
->www.inrs.fr
HIERARCHIES DES SOURCES
DROIT COMMUNAUTAIRE (REGLES, TRAITES BILATERAUX) ET DROIT INTERNATIONAL
CONSTITUTION DE 1958
LOIS ET ORDONNANCES
REGLEMENTS ET DECRETS
JURISPRUDENCES
CONVENTIONS COLLECTIVES, REGLEMENT INTERIEUR
CONTRAT DE TRAVAIL
CODES www.legifrance.gouv.fr
CODE DU TRAVAIL
CODE DE LA SECUTITE SOCIALE
13
Exemples : L1221-1
L: partie législative (loi)
R: partie réglementaire (décrets en Conseil d'Etat)
D: partie réglementaire (décrets simples)
1: partie
2: livre
2: titre
1: chapitre
-1: article
ANNEXE : CODE DE TRAVAIL
CDT ENTREE PAR THEMES
CDT ENTREE PAR ARTICLES
V.
Conclusion
A.
Embarcadero/Open Source
Bien qu’All-Access soit un environnement propriétaire, les outils de développement qu’il
intègre sont assez proches d’EDI disponibles en open source. Seul Delphi et Delphi Prism restent des
environnements propriétaires propres à Embarcadero. Ces derniers utilisent le langage Pascal Object
avec des modifications mineures sous Delphi Prism.
Delphi Prism ouvre aux développeurs Pascal Object des possibilités de réaliser aisément des
applications pour des plateformes différentes (Windows, Linux, MacOS, UNIX). En effet, Delphi Prism
n’est pas un EDI mais un plugin intégré à Visual Studio et MonoDevelop.
All-Access permet un développement d’applications plus rapide en apportant des
bibliothèques de composants fournies et des interfaces graphiques conviviales.
14
B.
Choix du langage et du Système de Gestion de Bases de
Données Relationnelles
1.
Choix du langage
Le choix d’un langage est conditionné par les paramètres suivants :

type d’application : web, client/serveur, monoposte ;

type de plateforme : Windows, Linux, MacOS, UNIX ;

fonctionnalités spécifiques (unicode, gesture, multitouch…).
Java et Pascal Object (sous Delphi Prism) permettent de réaliser tous les types d’application sur
toutes les plateformes. Java restant un langage interprété s’adapte plus facilement à différentes
plateformes grâce à la JVM (Java Virtual Machine). Par contre, Pascal Object doit être écrit et compilé
de manière spécifique pour chacune des plateformes.
PHP et Ruby sont uniquement destinés à développer des applications web.
Delphi et C++ restent des langages très performants pour des applications monoposte et
client/serveur.
2.
Choix du SGBDR
L’histoire des SGBDR est mouvementée (cf http://fadace.developpez.com/sgbdcmp/story/)
Le choix des SGBDR est vaste (cf http://fadace.developpez.com/sgbdcmp/).
Le classement 2005 Winter TopTen Award Winners représente les plus gros volumes de données et
leur SGBDR (cf www.wintercorp.com/VLDB/2005_TopTen_Survey/2005TopTenWinners.pdf).
Les SGBDR compatibles avec les outils de développement Embarcadero sont les suivants:

Open Source Oracle MySQL ;

Oracle Database ;

Microsoft SQL Server ;

Sybase ASA/ASE ;

IBM DB2 ;

IBM Informix ;

Embarcadero BlackFish ;

Embarcadero InterBase ;
15

Open Source FireBird.
Les caractéristiques propres à ces SGBDR (embarqué, volume, fiabilité, prix, plateforme)
déterminent le choix d’un de ces SGBDR.
Les SGBDR compatibles avec les outils de bases de données Embarcadero sont :

Open Source Oracle MySQL ;

Oracle Database ;

Microsoft SQL Server (licence retenue) ;

Sybase ASA/ASE ;

IBM DB2 ;

IBM Informix ;

Embarcadero BlackFish ;

Embarcadero InterBase ;

Open Source FireBird.
C.
Système expert ou requêtes sur bases de données
La refonte du site web www.expertsystems.fr aura pour objectif de présenter les apports en terme
de fonctionnalités (et non de développement) d’un système expert par rapport à une application
effectuant des requêtes sur des bases de données.
VI.
Bibliographie
Documentation interne
http://www.developpez.com/
http://www.codes-sources.com/
http://www.commentcamarche.net
http://edn.embarcadero.com/
http://cc.embarcadero.com/
16
Delphi:
http://docwiki.embarcadero.com/CodeSamples/en/Category:Delphi
http://delphi.dev-dz.com/codesource.php
Delphi Prism :
http://www.codeproject.com/KB/net-languages/delphiPrismDemo.aspx
http://delphi.dev-dz.com/codesource.php
http://www.prestwoodboards.com/ASPSuite/KB/CrossRef.asp?LangID=13
JBuilder :
http://b.kostrzewa.free.fr/java/
http://download.oracle.com/javase/tutorial/index.html
http://www.cui.unige.ch/java/exemples/index.html
http://www.eclipsetotale.com/
http://www.jmdoudoux.fr/accueil_java.htm
http://www.jgoodies.com/downloads/
http://triton.towson.edu/~schmitt/server/servlet/
http://www.objis.com/formation-java/
http://www.courses.coreservlets.com/
Delphi for PHP :
http://www.delphi-php.net/
http://paul.versayo.free.fr/
3rdRail :
http://www.opensourcerails.com/projects/upcoming
http://snippets.dzone.com/tags/rails
17
VII. Annexes

Annexe All-Access

Annexe Code du Travail

Applications
18