SlideShare a Scribd company logo
1 of 138
Intranet / Extranet
ELMANTI LABS
ez@elmanti.com
2
Plan
 Nouvelle génération des systèmes d'information ouverts sur Internet.
 Technologies web pour le B2C, B2B
 Portails comme solution Intranet/Extranet.
 Administration du portail :
• Changement de la BD (Postgres)
• Gestion des utilisateurs/groupes
• Gestion des pages publiques/privées
• Gestion des portlets
 Communauté internes et externes
 Déploiement de Portlets
 JSR-168
 Portlet d'administration (internes) et de consultation (externes)
 Exemple complet.
3
Nouvelle génération des systèmes d'information
ouverts sur Internet
4
Définition 1 :
Ensemble de moyens techniques, administratifs, et
humains qui servent à la collecte, au classement et à la transmission
d'informations entre les membres d'une organisation (institution,
entreprise, association,..)
5
Définition 2 :
Le système d'information d'une organisation (société,
entreprise, institution, club, groupe structuré ...) regroupe tout ce qui
à quelque niveau que se soit traite ou stocke des informations
relatives à l'organisation concernée.
6
Structures possibles d’un système d’information :
1. Structure non informatique
2. Applications spécifiques
3. ERP
4. Internet/Intranet/Extranet
7
1. Structure non informatique :
Documents, procédures, manuels, rapports, comptes rendus, tableaux
de bord, fiches de postes, procédures, courriers, factures …
Sans oublier la composante humaine !
8
2. Applications spécifiques :
Ou encore : non standards, de conception « maison », développés sur
mesure, que l'on ne trouve pas sur le marché,
On rencontrera ces applications dans les domaines du calcul de coûts,
de la facturation, de l'aide à la production, ou de fonctions annexes.
9
3. ERP :
Un ERP : Enterprise Resource Planning (en français : PGI pour
progiciel de gestion intégré) – Application qui intègre tous les systèmes
informatisés permettant de soutenir le fonctionnement de l'entreprise.
10
3. ERP (un ou plusieurs) :
Une entreprise peut être équipée de plusieurs progiciels
différents selon ses domaines d'activité. Dans ce cas, les progiciels ne
sont pas totalement intégrés comme dans un PGI, mais interfacés
entre eux.
On trouvera par exemple des applications de :
• CRM - Customer Relationship Management : regroupe toutes les
fonctions permettant d'intégrer les clients dans le SI de l'entreprise
• HRM - Human Resource Management
• Etc…
11
4. Internet et ses 2 dérivés : Intranet & Extranet
12
Internet
13
L’Internet correspond à l'interconnexion de réseaux dans le monde.
L'idée de base derrière l'Internet et ses 2 dérivés, l'Intranet et
l'Extranet, est de disposer d'une interface simple et très facile
d'emploi, le navigateur, pour chercher de l'information et
communiquer.
Pour chaque entreprise, Internet représente un potentiel
particulièrement attirant pour capter de nouveaux clients,
promouvoir son savoir-faire et plus généralement développer son
chiffre d'affaires.
Internet fait cependant appel à un réseau public, sans grande
garantie de sécurité ou de qualité de service.
14
Intranet
15
Définition :
Un intranet est un ensemble de services Internet internes à
un réseau local, c'est-à-dire accessibles uniquement à partir des
postes d'un réseau local, ou bien d'un ensemble de réseaux bien
définis, et invisibles (ou inaccessibles) de l'extérieur.
Un Intranet consiste à utiliser les standards client serveur
de l‘Internet (en utilisant les protocoles TCP/IP), comme par exemple
l'utilisation de navigateurs Internet et des serveurs web, pour réaliser
un système d'information interne à une organisation ou une
entreprise.
16
Un intranet repose généralement sur une architecture à trois
niveaux, composée de:
• Clients (navigateur Internet généralement)
• Un ou plusieurs serveurs d’application
• Un serveur de bases de données
Le réseau permet de véhiculer les requêtes et les réponses.
17
Utilité :
Mettre facilement à la disposition des employés des documents
divers et variés; cela permet d'avoir un accès centralisé et cohérent à la
mémoire de l'entreprise, on parle ainsi de capitalisation de connaissances.
Nécessité de définir des droits d'accès pour les utilisateurs de
l'intranet aux documents présents sur celui-ci, et par conséquent une
authentification de ceux-ci afin de leur permettre un accès personnalisé à
certains documents.
Des documents de tous types (textes, images, vidéos, sons, ...)
peuvent être mis à disposition sur un intranet. De plus, un intranet peut
réaliser une fonction de Groupware très intéressante, c'est-à-dire
permettre un travail coopératif.
18
Utilité :
• Mise à disposition d'informations sur l'entreprise (panneau d'affichage)
• Mise à disposition de documents techniques
• Moteur de recherche de documentations
• Un échange de données entre collaborateurs
• Annuaire du personnel
• Gestion de projets, aide à la décision, agenda…
• Messagerie électronique
• Forums de discussion, listes de diffusions, chat…
• Visioconférence
Un intranet favorise la communication au sein de l'entreprise et limite les
erreurs dues à la mauvaise circulation d'une information.
19
Extranet
20
Définition:
Un Extranet est une extension du système d'information de
l'entreprise à des partenaires situés au-delà du réseau.
Un Extranet n'est donc ni un Intranet, ni un site Internet. Il s'agit
d'un système supplémentaire offrant par exemple aux clients d'une
entreprise, à ses partenaires ou à des filiales, un accès privilégié à
certaines ressources informatiques de l'entreprise par l'intermédiaire
d'une interface Web.
21
Sécurité :
L'accès à l‘Extranet doit être sécurisé dans la mesure où cela
offre un accès au système d'information à des personnes situées en
dehors de l'entreprise.
L’authentification : Il peut s'agir soit d'une authentification simple
(authentification par nom d'utilisateur et mot de passe) ou d'une
authentification forte (authentification à l'aide d'un certificat).
Il est conseillé d'utiliser HTTPS pour toutes les pages web consultées
depuis l'extérieur afin de sécuriser le transport des requêtes et des
réponses HTTP.
Liste de sécurité, gérée en interne, est l'ensemble des données
regroupant les identifiants (nom d'utilisateur (login), adresse IP,
adresses MAC, clefs logiques ou physiques) autorisés à se connecter.
22
Utilité :
L’Extranet est l’outil indispensable pour tisser un lien concret
entre l’entreprise, ses clients, ses partenaires et ses fournisseurs pour :
• Optimiser en permanence l’approvisionnement de ses distributeurs.
• Offrir un espace de travail et de documentation personnalisés.
• Faciliter la coordination entre vos actions et celles vos partenaires.
• Permettre à vos clients de suivre leurs commandes.
• Mettre à disposition vos services directement sur Internet,...
23
Inconvénients d’une telle structure :
• Coût de fonctionnement élevé
• Architecture complexe, non optimisée
• Informations redondantes ou non répertoriées
Nécessité d’un accès commun à l’information !
24
Technologies web pour le B2C, B2B
25
Définition :
Les différentes applications possibles de l'informatique faisant appel
aux technologies de l'information et de la communication (TIC) pour
traiter de façon performante les relations de communication
d'information d'une entreprise avec l’extérieur.
Les technologies utilisées sont principalement celles de l'Internet et du
Web.
E-BusinessE-Business
26
Relation avec l’extérieur :
27
Les applications de l‘E-Business ne se limitent pas à l'échange externe
d'informations. Elles doivent permettre une articulation étroite
(intégration) avec les processus internes à l'entreprise (production,
stocks, vente, comptabilité, etc.);
E-Business ≠ Commerce électronique (E-Commerce)
28
De façon synthétique, pour une organisation, un projet E-Business
consiste à décider:
• La mise en place de canaux de communication électronique à
destination de son environnement (clients, fournisseurs ou partenaires).
• Interfaçage ces canaux avec les processus internes (back-office).
29
Organisation d’un projet E-Business
30
La gestion moderne des entreprises repose sur deux piliers:
• La gestion orientée client (customer driven management),
• Le recours aux Technologies de l'Information et de la Communication
(TIC) et aux Systèmes d'Information (SI).
Les moteurs de l'E-Business :
31
1 - La gestion orientée client :
32
2 - Les Technologies de l'Information et de la Communication (TIC) :
• des réseaux de télécommunication fixe ou mobile,
• l'Internet et ses principaux services (messagerie électronique, le
Web, les transferts de fichiers),
• la gestion des processus,
• la sécurité.
33
2 - Les Technologies de l'Information et de la Communication (TIC) :
• Analyse et conception OO
• Architectures techniques (N-Tiers, Distribuée)
• Utilisation de frameworks
• Environnements de développement et d’exploitation. (IDE, AS,
SGBD)
• Protocoles de communication (TCP/IP)
• Structures et transfert des données (XML/EDI)
• Équilibrage ou répartition de charge (Load Balancing)
• Grappe de serveurs (Clustering)
34
Toute entreprise qui construit un projet e-business doit dès lors estimer
la proposition de valeur (value proposition) qu'il contient :
L'ensemble des éléments de création de valeur pour les différentes
parties concernées par le projet devraient être supérieurs aux
inconvénients et aux coûts engendrés.
Choix stratégique et la proposition de Valeur
35
Pour ses clients par les perspectives liées :
• à la baisse des prix (gains de productivité);
• à la souplesse et à la rapidité des transactions;
• à la qualité/fiabilité des produits et services;
• au renforcement de l'offre;
• à l'amélioration du service après-vente;
• etc
36
Pour ses partenaires (fournisseurs, sous-traitants, partenaires
financiers, etc.) par :
• la rationalisation des procédures;
• l'anticipation des besoins;
• le partage de ressources matérielles ou immatérielles;
• etc
37
Pour l'entreprise : augmenter ses revenus et/ou diminuer ses coûts via:
• l'ouverture à de nouveaux marchés;
• l'amélioration de la qualité des produits et services;
• l'amélioration de l'image de marque;
• le développement de nouvelles activités;
• la rationalisation des procédures;
• etc
38
Pour son personnel : augmenter sa satisfaction et sa motivation par :
• une organisation du travail plus souple;
• une perception accrue du travail de groupe;
• le développement du sens de l'initiative;
• l'augmentation des connaissances et des compétences;
• etc
39
Il convient d'analyser les différents modèles d‘E-Business en fonction
de la cible que l'entreprise veut atteindre par le canal de communication
électronique
Modèles E-Business
40
Définition :
Ou encore le e-commerce concerne l'utilisation de supports
électroniques pour tout ou partie des relations commerciales entre une
entreprise et les particuliers:
B2CB2C
41
Définition :
Concerne l'utilisation de supports électroniques pour tout ou partie des
échanges d'information d'une entreprise avec d'autres entreprises:
fournisseurs, sous-traitants, clients, prestataires de services,
organismes financiers, etc.
B2BB2B
42
Définition :
Ou encore B2G concerne l'utilisation de supports électroniques pour
tout ou partie des échanges d'information entre des entreprises et
des administrations publiques en vue de l'établissement et de
l'exécution de marchés publics.
B2AB2A
43
Définition :
Les différentes applications possibles de l'informatique faisant appel
aux technologies de l'information et de la communication (TIC) pour
traiter de façon performante les relations de communication
d'information d'une entreprise avec l’administration.
E-GovE-Gov
44
Définition :
Concerne les activités que les acteurs émetteurs ou récepteurs de ces
informations ne peuvent pas ou ne veulent pas assumer et dont ils
confient la réalisation à une entité tierce.
IntermédiationIntermédiation
45
E-Business
E-Gov
Schéma récapitulatif
A
CB
46
Le portail comme solution
47
Suite à la percée de l'informatique dans les administrations et les
entreprises, ces dernières ont vus leurs applications se multiplier
au point de devenir complexes en gestion et maintenance.
L'idée du portail correspond à un point d'accès unique intégrant
l'ensemble des applications utilisées
48
Solution portail
49
Définition :
Le portail au sens moderne est une application web contenant un
ensemble de sous applications (portlet) intégrées et configurables.
Un portail est donc comme son nom l'indique une ouverture sur le
système d'information de l'entreprise d'une façon conviviale pour
l'utilisateur final.
Portail
50
Fonctionnellement : un portail est une application web
permettant d'agréger du contenus.
Il permet de centraliser différentes sources d'information sur une
unique page, chaque source d'information étant représentée par un
portlet.
Techniquement : un portail est un conteneur.
Ce conteneur manipule les portlets et leur fourni un environnement
d'exécution : Il les positionne sur les pages, il gère leurs cycles de
vie, etc....
Portail
51
52
Portlet
Définition
Un portlet est un composant web unitaire s'intégrant au sein d'un
conteneur (portail).
Chaque portlet est indépendant des autres et peut-être imaginé
comme une application WEB au sens J2EE (d'ou l'idée de
composant web unitaire).
Les portlets se basent sur une API définie par la spécification JSR
168 (286) qui a pour objectif de standardiser les portlets et
d'assurer une interopérabilité entre les différents portails du
marché.
53
iGoogle
54
iGoogle
55
iGoogle
56
iGoogle
57
iGoogle
58
iGoogle
59
iGoogle
60
Solutions portail
61
Solutions portail disponibles (payantes)
62
Solutions portail disponibles (gratuites)
63
Liferay comme solution portail
- Facilité d’utilisation :
Manipulation des pages et des portlets par simple clic ou
drag&drop.
- Support d’une grande variétés d’applications :
Liferay fournis une grande variété d’applications à laquelle on
peut ajouter nos propres applications.
- Licence libre et code Open Source :
Liferay Inc. gagne de l’argent à travers la vente de support et
de formations.
- Extensibilité
Possibilité d’ajouter de nouvelles fonctionnalités sans changer
le code source -> facilité de migration vers les versions
ultérieures.
64
Liferay comme solution portail
- Évolutivité :
Possibilité de gestion d’un grand nombre d’utilisateurs.
- Support de l’internationalisation :
Possibilité d’utiliser d’autres langues avec beaucoup de
facilités.
- Intégration avec d’autres outils :
Supports d’une grande variétés d’outils tiers : outils de CMS,
serveurs LDAP, de base de données, etc…
- Adhérence aux standards :
Basé sur des standards, il s’intègrent donc parfaitement aux
autres standards : Hibernate, Spring, jQuery, Lucene, etc…
65
Structure interne d’une page
66
Génération d’une page
67
Traitement d’une requête
68
Portlets et Servlets
Points communs
• Les servlets et les portlets sont des composants basés sur le
langage Java pour leur implémentation
• Les portlets comme les servlets évoluent au sein d'un conteneur
• Ces deux composants génèrent du contenu (statique ou
dynamique).
• Ils ont tous les deux un cycle de vie contrôlé par leur conteneur et
de la même façon.
• La sémantique concernant les objets resquet et response est
identique.
69
Portlets et Servlets
Divergences
• Un servlet génère une page complète tandis que la portlet a pour
vocation de ne générer qu'un fragment de page.
• Un portlet peut générer du code HTML sans inclure , de manière
rigoureuse, les tags : base, body, frame, frameset, head, html ou title.
• A la différence d'un servlet, un portlet ne peut être invoqué
directement via un URL.
• La communication entre le client et le portlet est entièrement gérée
par le portail.
70
Portlets et Servlets
Divergences
• Le portlet permet de gérer un état et un mode d'affichage.
• Plusieurs instances d'une portlet peuvent être placées dans
une même page.
• Deux scopes sont supportés dans l'objet de session : le
scope Portlet application et le scope portlet.
• Le portlet ne peut pas initialiser l'encodage de caractère de la
réponse faite au client.
• Le portlet ne peut pas écrire d'information dans le header de
l'entête HTTP sur la réponse faite au client.
71
Modes & États
72
Les modes d’usage d’un portlet peuvent être:
- View (affichage des données du modèle) ;
- Edit (modification des préférences de l’utilisateur sur la portlet) ;
- Help (aide associée à la portlet) ;
- About (description de la portlet) ;
- Config (configuration de la portlet) ;
- Preview (visualisation de la portlet avant acceptation des
modifications) ;
- Print (Impression des données affichées dans la portlet) ;
- Il peut y en avoir d’autres « constructeur ».
Modes
73
Les états d’un portlet peuvent être :
- Normal (la portlet partage l’écran selon la mise en page choisie) ;
- Maximized (la portlet prend tout l’écran) ;
- Minimized (on ne voit que la barre de menu de la portlet) ;
- Closed (supprime la portlet de la page, elle peut être réactivée à
travers le menu de préférences associé à la page).
États
74
Liferay : Administration
75
Liferay : Ressources
76
Liferay : Ressources
77
- Installation et lancement de Postgres.
- Création de la Base de données et du rôle à utiliser.
- Localisation de la librairie suivante :
<LIFRERAY_HOME><CATALINA_HOME>webappsROOTWEB-
INFlibportal-impl.jar.
- Récupération du fichier : portal.properties, de la librairie localisée.
- Création du fichier : portal-ext.properties, à partir du fichier
précédent, avec uniquement les propriétés à remplacer.
- Sauvegarde du fichier sous :
<LIFRERAY_HOME><CATALINA_HOME>webappsROOTWEB-
INFclasses
- Démarrage de Liferay -> Création automatique de la base de
données.
Changement de la base de donnéesChangement de la base de données
78
#Configuration de Postgres
jdbc.default.driverClassName=org.postgresql.Driver
jdbc.default.url=jdbc:postgresql://localhost:5432/lportal
jdbc.default.username=postgres
jdbc.default.password=postgres
#Génération automatique de la base de données
schema.run.enabled=true
schema.run.minimal=true
Changement de la base de donnéesChangement de la base de données
79
Première connexion à l’application
Changement de la base de donnéesChangement de la base de données
80
Panneau de contrôle
Gestion des utilisateurs/groupesGestion des utilisateurs/groupes
81
Création d’une organisation
Gestion des utilisateurs/groupesGestion des utilisateurs/groupes
82
Création d’un utilisateur
Gestion des utilisateurs/groupesGestion des utilisateurs/groupes
83
Rôles
Gestion des utilisateurs/groupesGestion des utilisateurs/groupes
84
Création d’un groupe d’utilisateurs
Gestion des utilisateurs/groupesGestion des utilisateurs/groupes
85
Affectation d’un utilisateur à un groupe
Gestion des utilisateurs/groupesGestion des utilisateurs/groupes
86
Affectation d’un utilisateur à une organisation
Gestion des utilisateurs/groupesGestion des utilisateurs/groupes
87
Gestion des pages / portletsGestion des pages / portlets
88
Pages publiques et privées
89
Pages publiques et privées
Pages accessibles via le menu : Mes emplacements (ou My Places)
Ma communauté (ou My community) :
Contient les pages propres à l’utilisateur publics ou privées
Guest :
Contient les pages de la communauté : Guest
Possibilité d’avoir des pages pour d’autres communautés ou encore
organisations.
90
Création de pages et de pages filles publiques et privées
91
Types de pages
92
Types de pages
-Portlet : page destinée à contenir plusieurs portlet.
-Panel : page contenant des portlets sous forme de panel.
-Embedded : page destinée à contenir une autre page donnée par
son URL.
-Web content : page affichant un « web content » donné par son ID.
-URL : page qui pointe vers une page externe au portail.
-Lin to a page : page qui pointe vers une page interne au portail.
93
Plugin installer
94
Plugin installer : installation à partir d’un fichier
95
Installation à partir d’un fichier
Installation de :
- Thème : transparentia-theme-5.2.0.1.war
- Portlet : jquery-part1-portlet-5.2.3.1.war
Deux méthodes d’installation :
- Installation en utilisant le portlet : plugin installer.
- Installation par copie dans le répertoire d’installation à chaud, dont
le chemin est : <LIFERAY_PATH>/deploy
96
Ajout d’un nouveau thème
97
Ajout d’un nouveau portlet
98
Modèle de disposition (Layout Template)
99
Utilisation de l’application de messagerie instantanée
100
JSR-168
101
RappelRappel
La JSR-168 (Java Spcification Request 168) est la spécification des
portlets définissant le contrat entre les conteneurs de portlets et les
portlets.
La JSR-168 est une norme qui prend place dans le cadre de la JCP.
(JCP : Java Community Process: organisation créée par SUN pour
cordonner l’évolution du langage Java et les technologies qui lui sont
associées).
102
Un projet PortletUn projet Portlet
Un projet de portlet a une structure minimale bien définie, un
squelette selon lequel il doit être développé.
Il est structuré de la même façon que l’est une Application Web et
c’est pour ceci qu’il est packagé en tant que WAR.
103
Structure d’un projet PortletStructure d’un projet Portlet
Un projet portlet possède :
• Des fichiers statiques (images, javascript ou fichiers XML) et des
pages JSP,
• Des librairies Java (JAR).
• Un dossier WEB-INF/classes pour stocker les classes compilées à
charger.
• Un descripteur de déploiement pour application web sous : WEB-
INF/web.xml.
• Un descripteur de déploiement spécifique au portlet sous : WEB-
INF/portlet.xml
104
Environnement de développementEnvironnement de développement
Plugin : Eclipse-Portal Pack 2.0.1
Plugin pour Eclipse utilisé pour le développement de portlet. Il se
présente sous la forme de fichiers jar à mettre dans le dossier
plugins de votre Eclipse (et redémarrer).
Plugin gratuit disponible à l’adresse suivante :
http://eclipse-portalpack.dev.java.net/
105
Cycle de vie d’un portlet / Initialisation
106
Cycle de vie d’un portlet / Traitement de la requête utilisateur
107
Cycle de vie d’un portlet / Finalisation
108
Portlet : méthodes à implémenterPortlet : méthodes à implémenter
Init(PortletConfig config) :
Utilisée pour la configuration initiale ou la réservation de ressources
processAction(ActionRequest request, ActionResponse response) :
Utilisée pour le traitement d’une action utilisateur
render(RenderRequest request, RenderResponse response) :
Utilisée pour le traitement d’un rendu à l’utilisateur.
destroy() :
Utilisée pour la libération des ressources réservées à l’initialisation.
109
Portlet : méthodes à implémenterPortlet : méthodes à implémenter
(Dans la pratique)(Dans la pratique)
Init(PortletConfig config) :
Utilisée pour l’ouverture d’une connexion avec la base de données.
render(RenderRequest request, RenderResponse response) :
Cette méthode n’est pas utilisée, on utilise plutôt : doView(),
doEdit() ou doHelp() selon le mode choisi.
destroy() :
Utilisée pour la fermeture de la connexion avec la base de données
110
Création de notre classe PortletCréation de notre classe Portlet
Il existe 2 méthodes pour créer un Portlet :
Soit par implémentation de l’interface Portlet : javax.portlet.Portlet
class MyPortlet implements Portlet {
…
}
Ou encore par héritage de la classe : javax.portlet.GenericPortlet
class MyPortlet extends GenericPortlet {
…
}
111
Création du descripteur de déploiement portlet.xmlCréation du descripteur de déploiement portlet.xml
112
Mise en oeuvreMise en oeuvre
Menu de création d’un Portlet (plugin).
113
Mise en oeuvreMise en oeuvre
Création de la classe Portlet -> Mise à jour automatique du
descripteur de déploiement : portlet.xml
114
Mise en oeuvreMise en oeuvre
115
TP-1
Portlet « Hello World »
116
Requêtes et URLsRequêtes et URLs
Il existe 2 types de requêtes :
- Action request :
Requête qui lance une action et dont le traitement se fait par la
méthode processAction().
- Render request :
Requête qui lance le rendu du Portlet sélectionné, et dont le
traitement se fait par la méthode render().
Ces requêtes ne peuvent être saisie manuellement par le
développeur. Elle doivent être générées automatiquement à l’aide
d’objet ou de Tag approprié.
117
Requêtes et URLsRequêtes et URLs
Les requêtes ne peuvent être saisie manuellement par le
développeur. Elle doivent être générées automatiquement à l’aide
de l’objet PortletURL ou de Tag approprié dans le cas des pages
JSP.
L’objet RenderResponse permet de créer un objet PortletURL qui
va contenir l’URL d’une action (ou render) qu’on pourra utiliser dans
la page retournée :
118
Portlet et pages JSPPortlet et pages JSP
Et
- Une librairie de Tag pour manipuler les objets du portail.
Pour utiliser des pages jsp dans des projets portlets, l’API nous
fournis 2 outils :
- Un objet dispatcher pour pouvoir inclure la page jsp souhaitée
comme rendu de réponse à l’utilisateur :
119
Portlet Tag LibraryPortlet Tag Library
defineObjects : déclare 3 objets dans la page : renderRequest,
renderResponse et portletConfig.
actionURL : construit une URL d’action qui pointe vers le Portlet en
cours.
renderURL : construit une URL render qui pointe vers le Portlet en
cours.
namespace : fournit un nom unique basé sur le Portlet courant afin
d’éviter un conflit entre noms de variables/fonctions avec les autres
portlets.
param : utilisé au sein des tags : actionURL et renderURL, il donne
le nom et la valeur du paramètre.
120
Portlet et formulairesPortlet et formulaires
Dans les pages JSP :
• Utiliser la méthode POST (au lieu de GET) :
Le portail peut avoir besoin de coder des informations dans la
requête.
• Utiliser le tag « namespace » pour éviter un conflit entre des noms
de propriétés similaires mais dans des portlets différentes.
121
Portlet et formulairesPortlet et formulaires
Exemple :
122
Portlet : modes & étatsPortlet : modes & états
Dans la classe portlet, le mode et l’état peuvent être changé
uniquement au niveau de la méthode processAction() par accès à
son objet « response ».
Pour manipuler les « modes » utiliser la classe :
javax.portlet.PortletMode.
Pour manipuler les « états » utiliser la classe :
javax.portlet.WindowState
Exemple :
123
Portlet et sessionsPortlet et sessions
L’api portlet définie 2 scopes de session accessibles à l’aide de
l’objet javax.portlet.PortletSession :
PORTLET_SCOPE : (namespace)
Scope par défaut et dans lequel sont stocké uniquement les
attributs relatifs au portlet en question.
APPLICATION_SCOPE :
Scope pour accéder à la session globale et partager des attributs
entre différents portlets.
Exemples :
124
Portlet : action & renderPortlet : action & render
Pour passer des paramètres entre la partie action et render, 2
méthodes :
• Utiliser l’objet session comme zone de stockage intermédiaire.
• Passage explicite des paramètres en utilisant l’objet
ActionResponse de la méthode processAction() :
125
TP-2
Portlet & formulaire
126
Portlet et base de donnéesPortlet et base de données
Afin de se connecter à la base de données, il faut disposer du pilote
(driver) JDBC correspondant. Dans notre cas, ce driver est déjà
disponible dans le répertoire <lib> de Tomcat : postgresql.jar
Étapes d’’utilisation de la base de données :
1. Chargement du pilote.
2. Ouverture d’une connexion en fournissant l’URL de la base de
données et les informations d’authentification.
3. Utilisation de la connexion ouverte pour exécuter des requêtes
SQL.
4. Fermeture de la connexion.
127
Portlet et base de donnéesPortlet et base de données
Exemple :
128
Portlet et base de donnéesPortlet et base de données
Exécution de requêtes :
Pour exécuter une requête, il faut :
1. Formuler une requête en SQL.
2. Créer un objet de type « Statement ».
3. Exécuter la requête SQL à l’aide de l’objet « Statement ».
4. Exploiter les résultats de la requête, si elle en retourne.
5. Libérer les ressources mémoires allouées.
6. Valider ou Annuler les modifications, s’il y en a.
129
Portlet et base de donnéesPortlet et base de données
Types de requête :
Il existe 2 types de requête selon que celle-ci, a ou non, un retour :
• Requêtes avec retour : SELECT
Utiliser la méthode : executeQuery
Résultat de type : ResultSet.
• Requêtes sans retour : INSERT, UPDATE, DELETE…
Utiliser la méthode : executeUpdate
Valider ou Annuler la transaction.
On peut classer les requêtes aussi selon qu’elles disposent de
« paramètres » ou non. Si c’est le cas alors l’utilisation de l’objet
« PreparedStatement » est préférable.
130
Portlet et base de donnéesPortlet et base de données
Requête avec retour :
131
Portlet et base de donnéesPortlet et base de données
Requête sans retour :
132
TP-3
Portlet & Base de
données
133
Projet
134
Objectif :
Développer un portlet qui permet de consulter et de gérer (CRUD)
une liste (table) de films. Un film ayant les propriétés suivantes :
Nom / Genre / Date de sortie.
Implémenter les 3 modes : VIEW, EDIT et HELP.
Réalisation d’un portletRéalisation d’un portlet
«« Gestion d’une liste de films »Gestion d’une liste de films »
135
VIEW :
Consultation de la liste des films en fournissant un filtre de
recherche qui permet de saisir les critères suivants :
• Nom : à saisir (commence par /contient / se termine par)
• Genre : à sélectionner d’une liste prédéfinie.
• Date du : date de début de la période de recherche.
• Date au : date de fin de la période de recherche.
À la fin de chaque ligne 2 liens :
• Un pour supprimer la ligne en cours.
• Un pour modifier la ligne en cours. Ce lien va renvoyer au mode
EDIT.
À la fin de la page, un bouton pour créer <un film>
136
EDIT :
Page qui permet de créer ou modifier une ligne existante, elle
contient les champs suivants :
• Nom : à saisir
• Genre : à sélectionner d’une liste prédéfinie.
• Date de sortie : date à saisir (format : dd/mm/yyyy).
La page contient aussi 2 boutons :
• Un pour valider la saisie.
• Un autre pour annuler la saisie et revenir au mode VIEW.
137
HELP :
Ce mode va contenir votre nom/prénom ainsi qu’une petite
description du portlet développé.
Livrables :
• Script SQL de création de la table sous Postgres.
• Portlet sous format d’archive WAR (incluant les sources)
à déployer directement sur Liferay.
138
Aspects notés :Aspects notés :
• Le script SQL doit être correctement exécutable sur Postgres.
• Le portlet doit être correctement utilisable après déploiement sur
Liferay.
• Le code doit être bien écrit, formaté et documenté selon les
recommandations et les standards Java.
Une interface graphique soignée sera bien appréciée : mise en
forme, images, css.

More Related Content

Similar to Intranet Extranet ELMANTI LABS

Introduction aux systèmes d’information des entreprises
Introduction aux systèmes d’information des entreprisesIntroduction aux systèmes d’information des entreprises
Introduction aux systèmes d’information des entreprisesMessaoud Hatri
 
cours-complet-dinformatique-de-gestion-pdf.pdf
cours-complet-dinformatique-de-gestion-pdf.pdfcours-complet-dinformatique-de-gestion-pdf.pdf
cours-complet-dinformatique-de-gestion-pdf.pdfssuserbd075f
 
280219 Webinar Reprenez le Contrôle de Vos Disques Réseaux
280219 Webinar Reprenez le Contrôle de Vos Disques Réseaux280219 Webinar Reprenez le Contrôle de Vos Disques Réseaux
280219 Webinar Reprenez le Contrôle de Vos Disques RéseauxEverteam
 
La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...
La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...
La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...Softchoice Corporation
 
BEEZEN : Présentation générale candidats
BEEZEN : Présentation générale candidatsBEEZEN : Présentation générale candidats
BEEZEN : Présentation générale candidatsBEEZEN
 
les métiers d'informatique
les métiers d'informatiqueles métiers d'informatique
les métiers d'informatiqueYassine Badri
 
Intranet pour système d'information marketing
Intranet pour système d'information marketingIntranet pour système d'information marketing
Intranet pour système d'information marketingWalid SERIR
 
Td 7 etude de texte ( nouveaux si)
Td  7 etude de texte ( nouveaux si)Td  7 etude de texte ( nouveaux si)
Td 7 etude de texte ( nouveaux si)Fethi Ferhane
 
Tech it présentation-activités&solutions__anpme_moussanada_it_2014
Tech it présentation-activités&solutions__anpme_moussanada_it_2014Tech it présentation-activités&solutions__anpme_moussanada_it_2014
Tech it présentation-activités&solutions__anpme_moussanada_it_2014Tech-IT Maroc
 
Mettre en place un intranet de veille territoriale
Mettre en place un intranet de veille territorialeMettre en place un intranet de veille territoriale
Mettre en place un intranet de veille territorialeWoomeet
 
Comment retrouver, nettoyer, organiser et gérer l’information dans votre entr...
Comment retrouver, nettoyer, organiser et gérer l’information dans votre entr...Comment retrouver, nettoyer, organiser et gérer l’information dans votre entr...
Comment retrouver, nettoyer, organiser et gérer l’information dans votre entr...Everteam
 
Groupe Cyrès
Groupe Cyrès Groupe Cyrès
Groupe Cyrès Cyrès
 

Similar to Intranet Extranet ELMANTI LABS (20)

Internet et ia
Internet et ia Internet et ia
Internet et ia
 
Introduction aux systèmes d’information des entreprises
Introduction aux systèmes d’information des entreprisesIntroduction aux systèmes d’information des entreprises
Introduction aux systèmes d’information des entreprises
 
cours-complet-dinformatique-de-gestion-pdf.pdf
cours-complet-dinformatique-de-gestion-pdf.pdfcours-complet-dinformatique-de-gestion-pdf.pdf
cours-complet-dinformatique-de-gestion-pdf.pdf
 
280219 Webinar Reprenez le Contrôle de Vos Disques Réseaux
280219 Webinar Reprenez le Contrôle de Vos Disques Réseaux280219 Webinar Reprenez le Contrôle de Vos Disques Réseaux
280219 Webinar Reprenez le Contrôle de Vos Disques Réseaux
 
SI_MCC_2020_21.pptx
SI_MCC_2020_21.pptxSI_MCC_2020_21.pptx
SI_MCC_2020_21.pptx
 
Glossaire_mai_2023.pdf
Glossaire_mai_2023.pdfGlossaire_mai_2023.pdf
Glossaire_mai_2023.pdf
 
Glossaire_mai_2023.pdf
Glossaire_mai_2023.pdfGlossaire_mai_2023.pdf
Glossaire_mai_2023.pdf
 
La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...
La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...
La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...
 
BEEZEN : Présentation générale candidats
BEEZEN : Présentation générale candidatsBEEZEN : Présentation générale candidats
BEEZEN : Présentation générale candidats
 
les métiers d'informatique
les métiers d'informatiqueles métiers d'informatique
les métiers d'informatique
 
Informatique de gestion
Informatique de gestionInformatique de gestion
Informatique de gestion
 
Intranet pour système d'information marketing
Intranet pour système d'information marketingIntranet pour système d'information marketing
Intranet pour système d'information marketing
 
Module 02_FR.pdf
Module 02_FR.pdfModule 02_FR.pdf
Module 02_FR.pdf
 
Intranet/extranet
Intranet/extranetIntranet/extranet
Intranet/extranet
 
Td 7 etude de texte ( nouveaux si)
Td  7 etude de texte ( nouveaux si)Td  7 etude de texte ( nouveaux si)
Td 7 etude de texte ( nouveaux si)
 
Internet Of Things Security
Internet Of Things SecurityInternet Of Things Security
Internet Of Things Security
 
Tech it présentation-activités&solutions__anpme_moussanada_it_2014
Tech it présentation-activités&solutions__anpme_moussanada_it_2014Tech it présentation-activités&solutions__anpme_moussanada_it_2014
Tech it présentation-activités&solutions__anpme_moussanada_it_2014
 
Mettre en place un intranet de veille territoriale
Mettre en place un intranet de veille territorialeMettre en place un intranet de veille territoriale
Mettre en place un intranet de veille territoriale
 
Comment retrouver, nettoyer, organiser et gérer l’information dans votre entr...
Comment retrouver, nettoyer, organiser et gérer l’information dans votre entr...Comment retrouver, nettoyer, organiser et gérer l’information dans votre entr...
Comment retrouver, nettoyer, organiser et gérer l’information dans votre entr...
 
Groupe Cyrès
Groupe Cyrès Groupe Cyrès
Groupe Cyrès
 

More from Zouhair EL MANTI

More from Zouhair EL MANTI (6)

integration et formation GPLI par Elmanti labs
  integration et formation GPLI par Elmanti labs  integration et formation GPLI par Elmanti labs
integration et formation GPLI par Elmanti labs
 
Elmanti labs Soft agency
Elmanti labs Soft agencyElmanti labs Soft agency
Elmanti labs Soft agency
 
Dolibarr
DolibarrDolibarr
Dolibarr
 
Web service
Web serviceWeb service
Web service
 
It solution
It solutionIt solution
It solution
 
It consulting
It consultingIt consulting
It consulting
 

Recently uploaded

GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...Institut de l'Elevage - Idele
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...Institut de l'Elevage - Idele
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...Institut de l'Elevage - Idele
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfSophie569778
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirstjob4
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 

Recently uploaded (20)

GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdf
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 

Intranet Extranet ELMANTI LABS

  • 1. Intranet / Extranet ELMANTI LABS ez@elmanti.com
  • 2. 2 Plan  Nouvelle génération des systèmes d'information ouverts sur Internet.  Technologies web pour le B2C, B2B  Portails comme solution Intranet/Extranet.  Administration du portail : • Changement de la BD (Postgres) • Gestion des utilisateurs/groupes • Gestion des pages publiques/privées • Gestion des portlets  Communauté internes et externes  Déploiement de Portlets  JSR-168  Portlet d'administration (internes) et de consultation (externes)  Exemple complet.
  • 3. 3 Nouvelle génération des systèmes d'information ouverts sur Internet
  • 4. 4 Définition 1 : Ensemble de moyens techniques, administratifs, et humains qui servent à la collecte, au classement et à la transmission d'informations entre les membres d'une organisation (institution, entreprise, association,..)
  • 5. 5 Définition 2 : Le système d'information d'une organisation (société, entreprise, institution, club, groupe structuré ...) regroupe tout ce qui à quelque niveau que se soit traite ou stocke des informations relatives à l'organisation concernée.
  • 6. 6 Structures possibles d’un système d’information : 1. Structure non informatique 2. Applications spécifiques 3. ERP 4. Internet/Intranet/Extranet
  • 7. 7 1. Structure non informatique : Documents, procédures, manuels, rapports, comptes rendus, tableaux de bord, fiches de postes, procédures, courriers, factures … Sans oublier la composante humaine !
  • 8. 8 2. Applications spécifiques : Ou encore : non standards, de conception « maison », développés sur mesure, que l'on ne trouve pas sur le marché, On rencontrera ces applications dans les domaines du calcul de coûts, de la facturation, de l'aide à la production, ou de fonctions annexes.
  • 9. 9 3. ERP : Un ERP : Enterprise Resource Planning (en français : PGI pour progiciel de gestion intégré) – Application qui intègre tous les systèmes informatisés permettant de soutenir le fonctionnement de l'entreprise.
  • 10. 10 3. ERP (un ou plusieurs) : Une entreprise peut être équipée de plusieurs progiciels différents selon ses domaines d'activité. Dans ce cas, les progiciels ne sont pas totalement intégrés comme dans un PGI, mais interfacés entre eux. On trouvera par exemple des applications de : • CRM - Customer Relationship Management : regroupe toutes les fonctions permettant d'intégrer les clients dans le SI de l'entreprise • HRM - Human Resource Management • Etc…
  • 11. 11 4. Internet et ses 2 dérivés : Intranet & Extranet
  • 13. 13 L’Internet correspond à l'interconnexion de réseaux dans le monde. L'idée de base derrière l'Internet et ses 2 dérivés, l'Intranet et l'Extranet, est de disposer d'une interface simple et très facile d'emploi, le navigateur, pour chercher de l'information et communiquer. Pour chaque entreprise, Internet représente un potentiel particulièrement attirant pour capter de nouveaux clients, promouvoir son savoir-faire et plus généralement développer son chiffre d'affaires. Internet fait cependant appel à un réseau public, sans grande garantie de sécurité ou de qualité de service.
  • 15. 15 Définition : Un intranet est un ensemble de services Internet internes à un réseau local, c'est-à-dire accessibles uniquement à partir des postes d'un réseau local, ou bien d'un ensemble de réseaux bien définis, et invisibles (ou inaccessibles) de l'extérieur. Un Intranet consiste à utiliser les standards client serveur de l‘Internet (en utilisant les protocoles TCP/IP), comme par exemple l'utilisation de navigateurs Internet et des serveurs web, pour réaliser un système d'information interne à une organisation ou une entreprise.
  • 16. 16 Un intranet repose généralement sur une architecture à trois niveaux, composée de: • Clients (navigateur Internet généralement) • Un ou plusieurs serveurs d’application • Un serveur de bases de données Le réseau permet de véhiculer les requêtes et les réponses.
  • 17. 17 Utilité : Mettre facilement à la disposition des employés des documents divers et variés; cela permet d'avoir un accès centralisé et cohérent à la mémoire de l'entreprise, on parle ainsi de capitalisation de connaissances. Nécessité de définir des droits d'accès pour les utilisateurs de l'intranet aux documents présents sur celui-ci, et par conséquent une authentification de ceux-ci afin de leur permettre un accès personnalisé à certains documents. Des documents de tous types (textes, images, vidéos, sons, ...) peuvent être mis à disposition sur un intranet. De plus, un intranet peut réaliser une fonction de Groupware très intéressante, c'est-à-dire permettre un travail coopératif.
  • 18. 18 Utilité : • Mise à disposition d'informations sur l'entreprise (panneau d'affichage) • Mise à disposition de documents techniques • Moteur de recherche de documentations • Un échange de données entre collaborateurs • Annuaire du personnel • Gestion de projets, aide à la décision, agenda… • Messagerie électronique • Forums de discussion, listes de diffusions, chat… • Visioconférence Un intranet favorise la communication au sein de l'entreprise et limite les erreurs dues à la mauvaise circulation d'une information.
  • 20. 20 Définition: Un Extranet est une extension du système d'information de l'entreprise à des partenaires situés au-delà du réseau. Un Extranet n'est donc ni un Intranet, ni un site Internet. Il s'agit d'un système supplémentaire offrant par exemple aux clients d'une entreprise, à ses partenaires ou à des filiales, un accès privilégié à certaines ressources informatiques de l'entreprise par l'intermédiaire d'une interface Web.
  • 21. 21 Sécurité : L'accès à l‘Extranet doit être sécurisé dans la mesure où cela offre un accès au système d'information à des personnes situées en dehors de l'entreprise. L’authentification : Il peut s'agir soit d'une authentification simple (authentification par nom d'utilisateur et mot de passe) ou d'une authentification forte (authentification à l'aide d'un certificat). Il est conseillé d'utiliser HTTPS pour toutes les pages web consultées depuis l'extérieur afin de sécuriser le transport des requêtes et des réponses HTTP. Liste de sécurité, gérée en interne, est l'ensemble des données regroupant les identifiants (nom d'utilisateur (login), adresse IP, adresses MAC, clefs logiques ou physiques) autorisés à se connecter.
  • 22. 22 Utilité : L’Extranet est l’outil indispensable pour tisser un lien concret entre l’entreprise, ses clients, ses partenaires et ses fournisseurs pour : • Optimiser en permanence l’approvisionnement de ses distributeurs. • Offrir un espace de travail et de documentation personnalisés. • Faciliter la coordination entre vos actions et celles vos partenaires. • Permettre à vos clients de suivre leurs commandes. • Mettre à disposition vos services directement sur Internet,...
  • 23. 23 Inconvénients d’une telle structure : • Coût de fonctionnement élevé • Architecture complexe, non optimisée • Informations redondantes ou non répertoriées Nécessité d’un accès commun à l’information !
  • 25. 25 Définition : Les différentes applications possibles de l'informatique faisant appel aux technologies de l'information et de la communication (TIC) pour traiter de façon performante les relations de communication d'information d'une entreprise avec l’extérieur. Les technologies utilisées sont principalement celles de l'Internet et du Web. E-BusinessE-Business
  • 27. 27 Les applications de l‘E-Business ne se limitent pas à l'échange externe d'informations. Elles doivent permettre une articulation étroite (intégration) avec les processus internes à l'entreprise (production, stocks, vente, comptabilité, etc.); E-Business ≠ Commerce électronique (E-Commerce)
  • 28. 28 De façon synthétique, pour une organisation, un projet E-Business consiste à décider: • La mise en place de canaux de communication électronique à destination de son environnement (clients, fournisseurs ou partenaires). • Interfaçage ces canaux avec les processus internes (back-office).
  • 30. 30 La gestion moderne des entreprises repose sur deux piliers: • La gestion orientée client (customer driven management), • Le recours aux Technologies de l'Information et de la Communication (TIC) et aux Systèmes d'Information (SI). Les moteurs de l'E-Business :
  • 31. 31 1 - La gestion orientée client :
  • 32. 32 2 - Les Technologies de l'Information et de la Communication (TIC) : • des réseaux de télécommunication fixe ou mobile, • l'Internet et ses principaux services (messagerie électronique, le Web, les transferts de fichiers), • la gestion des processus, • la sécurité.
  • 33. 33 2 - Les Technologies de l'Information et de la Communication (TIC) : • Analyse et conception OO • Architectures techniques (N-Tiers, Distribuée) • Utilisation de frameworks • Environnements de développement et d’exploitation. (IDE, AS, SGBD) • Protocoles de communication (TCP/IP) • Structures et transfert des données (XML/EDI) • Équilibrage ou répartition de charge (Load Balancing) • Grappe de serveurs (Clustering)
  • 34. 34 Toute entreprise qui construit un projet e-business doit dès lors estimer la proposition de valeur (value proposition) qu'il contient : L'ensemble des éléments de création de valeur pour les différentes parties concernées par le projet devraient être supérieurs aux inconvénients et aux coûts engendrés. Choix stratégique et la proposition de Valeur
  • 35. 35 Pour ses clients par les perspectives liées : • à la baisse des prix (gains de productivité); • à la souplesse et à la rapidité des transactions; • à la qualité/fiabilité des produits et services; • au renforcement de l'offre; • à l'amélioration du service après-vente; • etc
  • 36. 36 Pour ses partenaires (fournisseurs, sous-traitants, partenaires financiers, etc.) par : • la rationalisation des procédures; • l'anticipation des besoins; • le partage de ressources matérielles ou immatérielles; • etc
  • 37. 37 Pour l'entreprise : augmenter ses revenus et/ou diminuer ses coûts via: • l'ouverture à de nouveaux marchés; • l'amélioration de la qualité des produits et services; • l'amélioration de l'image de marque; • le développement de nouvelles activités; • la rationalisation des procédures; • etc
  • 38. 38 Pour son personnel : augmenter sa satisfaction et sa motivation par : • une organisation du travail plus souple; • une perception accrue du travail de groupe; • le développement du sens de l'initiative; • l'augmentation des connaissances et des compétences; • etc
  • 39. 39 Il convient d'analyser les différents modèles d‘E-Business en fonction de la cible que l'entreprise veut atteindre par le canal de communication électronique Modèles E-Business
  • 40. 40 Définition : Ou encore le e-commerce concerne l'utilisation de supports électroniques pour tout ou partie des relations commerciales entre une entreprise et les particuliers: B2CB2C
  • 41. 41 Définition : Concerne l'utilisation de supports électroniques pour tout ou partie des échanges d'information d'une entreprise avec d'autres entreprises: fournisseurs, sous-traitants, clients, prestataires de services, organismes financiers, etc. B2BB2B
  • 42. 42 Définition : Ou encore B2G concerne l'utilisation de supports électroniques pour tout ou partie des échanges d'information entre des entreprises et des administrations publiques en vue de l'établissement et de l'exécution de marchés publics. B2AB2A
  • 43. 43 Définition : Les différentes applications possibles de l'informatique faisant appel aux technologies de l'information et de la communication (TIC) pour traiter de façon performante les relations de communication d'information d'une entreprise avec l’administration. E-GovE-Gov
  • 44. 44 Définition : Concerne les activités que les acteurs émetteurs ou récepteurs de ces informations ne peuvent pas ou ne veulent pas assumer et dont ils confient la réalisation à une entité tierce. IntermédiationIntermédiation
  • 47. 47 Suite à la percée de l'informatique dans les administrations et les entreprises, ces dernières ont vus leurs applications se multiplier au point de devenir complexes en gestion et maintenance. L'idée du portail correspond à un point d'accès unique intégrant l'ensemble des applications utilisées
  • 49. 49 Définition : Le portail au sens moderne est une application web contenant un ensemble de sous applications (portlet) intégrées et configurables. Un portail est donc comme son nom l'indique une ouverture sur le système d'information de l'entreprise d'une façon conviviale pour l'utilisateur final. Portail
  • 50. 50 Fonctionnellement : un portail est une application web permettant d'agréger du contenus. Il permet de centraliser différentes sources d'information sur une unique page, chaque source d'information étant représentée par un portlet. Techniquement : un portail est un conteneur. Ce conteneur manipule les portlets et leur fourni un environnement d'exécution : Il les positionne sur les pages, il gère leurs cycles de vie, etc.... Portail
  • 51. 51
  • 52. 52 Portlet Définition Un portlet est un composant web unitaire s'intégrant au sein d'un conteneur (portail). Chaque portlet est indépendant des autres et peut-être imaginé comme une application WEB au sens J2EE (d'ou l'idée de composant web unitaire). Les portlets se basent sur une API définie par la spécification JSR 168 (286) qui a pour objectif de standardiser les portlets et d'assurer une interopérabilité entre les différents portails du marché.
  • 63. 63 Liferay comme solution portail - Facilité d’utilisation : Manipulation des pages et des portlets par simple clic ou drag&drop. - Support d’une grande variétés d’applications : Liferay fournis une grande variété d’applications à laquelle on peut ajouter nos propres applications. - Licence libre et code Open Source : Liferay Inc. gagne de l’argent à travers la vente de support et de formations. - Extensibilité Possibilité d’ajouter de nouvelles fonctionnalités sans changer le code source -> facilité de migration vers les versions ultérieures.
  • 64. 64 Liferay comme solution portail - Évolutivité : Possibilité de gestion d’un grand nombre d’utilisateurs. - Support de l’internationalisation : Possibilité d’utiliser d’autres langues avec beaucoup de facilités. - Intégration avec d’autres outils : Supports d’une grande variétés d’outils tiers : outils de CMS, serveurs LDAP, de base de données, etc… - Adhérence aux standards : Basé sur des standards, il s’intègrent donc parfaitement aux autres standards : Hibernate, Spring, jQuery, Lucene, etc…
  • 68. 68 Portlets et Servlets Points communs • Les servlets et les portlets sont des composants basés sur le langage Java pour leur implémentation • Les portlets comme les servlets évoluent au sein d'un conteneur • Ces deux composants génèrent du contenu (statique ou dynamique). • Ils ont tous les deux un cycle de vie contrôlé par leur conteneur et de la même façon. • La sémantique concernant les objets resquet et response est identique.
  • 69. 69 Portlets et Servlets Divergences • Un servlet génère une page complète tandis que la portlet a pour vocation de ne générer qu'un fragment de page. • Un portlet peut générer du code HTML sans inclure , de manière rigoureuse, les tags : base, body, frame, frameset, head, html ou title. • A la différence d'un servlet, un portlet ne peut être invoqué directement via un URL. • La communication entre le client et le portlet est entièrement gérée par le portail.
  • 70. 70 Portlets et Servlets Divergences • Le portlet permet de gérer un état et un mode d'affichage. • Plusieurs instances d'une portlet peuvent être placées dans une même page. • Deux scopes sont supportés dans l'objet de session : le scope Portlet application et le scope portlet. • Le portlet ne peut pas initialiser l'encodage de caractère de la réponse faite au client. • Le portlet ne peut pas écrire d'information dans le header de l'entête HTTP sur la réponse faite au client.
  • 72. 72 Les modes d’usage d’un portlet peuvent être: - View (affichage des données du modèle) ; - Edit (modification des préférences de l’utilisateur sur la portlet) ; - Help (aide associée à la portlet) ; - About (description de la portlet) ; - Config (configuration de la portlet) ; - Preview (visualisation de la portlet avant acceptation des modifications) ; - Print (Impression des données affichées dans la portlet) ; - Il peut y en avoir d’autres « constructeur ». Modes
  • 73. 73 Les états d’un portlet peuvent être : - Normal (la portlet partage l’écran selon la mise en page choisie) ; - Maximized (la portlet prend tout l’écran) ; - Minimized (on ne voit que la barre de menu de la portlet) ; - Closed (supprime la portlet de la page, elle peut être réactivée à travers le menu de préférences associé à la page). États
  • 77. 77 - Installation et lancement de Postgres. - Création de la Base de données et du rôle à utiliser. - Localisation de la librairie suivante : <LIFRERAY_HOME><CATALINA_HOME>webappsROOTWEB- INFlibportal-impl.jar. - Récupération du fichier : portal.properties, de la librairie localisée. - Création du fichier : portal-ext.properties, à partir du fichier précédent, avec uniquement les propriétés à remplacer. - Sauvegarde du fichier sous : <LIFRERAY_HOME><CATALINA_HOME>webappsROOTWEB- INFclasses - Démarrage de Liferay -> Création automatique de la base de données. Changement de la base de donnéesChangement de la base de données
  • 78. 78 #Configuration de Postgres jdbc.default.driverClassName=org.postgresql.Driver jdbc.default.url=jdbc:postgresql://localhost:5432/lportal jdbc.default.username=postgres jdbc.default.password=postgres #Génération automatique de la base de données schema.run.enabled=true schema.run.minimal=true Changement de la base de donnéesChangement de la base de données
  • 79. 79 Première connexion à l’application Changement de la base de donnéesChangement de la base de données
  • 80. 80 Panneau de contrôle Gestion des utilisateurs/groupesGestion des utilisateurs/groupes
  • 81. 81 Création d’une organisation Gestion des utilisateurs/groupesGestion des utilisateurs/groupes
  • 82. 82 Création d’un utilisateur Gestion des utilisateurs/groupesGestion des utilisateurs/groupes
  • 84. 84 Création d’un groupe d’utilisateurs Gestion des utilisateurs/groupesGestion des utilisateurs/groupes
  • 85. 85 Affectation d’un utilisateur à un groupe Gestion des utilisateurs/groupesGestion des utilisateurs/groupes
  • 86. 86 Affectation d’un utilisateur à une organisation Gestion des utilisateurs/groupesGestion des utilisateurs/groupes
  • 87. 87 Gestion des pages / portletsGestion des pages / portlets
  • 89. 89 Pages publiques et privées Pages accessibles via le menu : Mes emplacements (ou My Places) Ma communauté (ou My community) : Contient les pages propres à l’utilisateur publics ou privées Guest : Contient les pages de la communauté : Guest Possibilité d’avoir des pages pour d’autres communautés ou encore organisations.
  • 90. 90 Création de pages et de pages filles publiques et privées
  • 92. 92 Types de pages -Portlet : page destinée à contenir plusieurs portlet. -Panel : page contenant des portlets sous forme de panel. -Embedded : page destinée à contenir une autre page donnée par son URL. -Web content : page affichant un « web content » donné par son ID. -URL : page qui pointe vers une page externe au portail. -Lin to a page : page qui pointe vers une page interne au portail.
  • 94. 94 Plugin installer : installation à partir d’un fichier
  • 95. 95 Installation à partir d’un fichier Installation de : - Thème : transparentia-theme-5.2.0.1.war - Portlet : jquery-part1-portlet-5.2.3.1.war Deux méthodes d’installation : - Installation en utilisant le portlet : plugin installer. - Installation par copie dans le répertoire d’installation à chaud, dont le chemin est : <LIFERAY_PATH>/deploy
  • 98. 98 Modèle de disposition (Layout Template)
  • 99. 99 Utilisation de l’application de messagerie instantanée
  • 101. 101 RappelRappel La JSR-168 (Java Spcification Request 168) est la spécification des portlets définissant le contrat entre les conteneurs de portlets et les portlets. La JSR-168 est une norme qui prend place dans le cadre de la JCP. (JCP : Java Community Process: organisation créée par SUN pour cordonner l’évolution du langage Java et les technologies qui lui sont associées).
  • 102. 102 Un projet PortletUn projet Portlet Un projet de portlet a une structure minimale bien définie, un squelette selon lequel il doit être développé. Il est structuré de la même façon que l’est une Application Web et c’est pour ceci qu’il est packagé en tant que WAR.
  • 103. 103 Structure d’un projet PortletStructure d’un projet Portlet Un projet portlet possède : • Des fichiers statiques (images, javascript ou fichiers XML) et des pages JSP, • Des librairies Java (JAR). • Un dossier WEB-INF/classes pour stocker les classes compilées à charger. • Un descripteur de déploiement pour application web sous : WEB- INF/web.xml. • Un descripteur de déploiement spécifique au portlet sous : WEB- INF/portlet.xml
  • 104. 104 Environnement de développementEnvironnement de développement Plugin : Eclipse-Portal Pack 2.0.1 Plugin pour Eclipse utilisé pour le développement de portlet. Il se présente sous la forme de fichiers jar à mettre dans le dossier plugins de votre Eclipse (et redémarrer). Plugin gratuit disponible à l’adresse suivante : http://eclipse-portalpack.dev.java.net/
  • 105. 105 Cycle de vie d’un portlet / Initialisation
  • 106. 106 Cycle de vie d’un portlet / Traitement de la requête utilisateur
  • 107. 107 Cycle de vie d’un portlet / Finalisation
  • 108. 108 Portlet : méthodes à implémenterPortlet : méthodes à implémenter Init(PortletConfig config) : Utilisée pour la configuration initiale ou la réservation de ressources processAction(ActionRequest request, ActionResponse response) : Utilisée pour le traitement d’une action utilisateur render(RenderRequest request, RenderResponse response) : Utilisée pour le traitement d’un rendu à l’utilisateur. destroy() : Utilisée pour la libération des ressources réservées à l’initialisation.
  • 109. 109 Portlet : méthodes à implémenterPortlet : méthodes à implémenter (Dans la pratique)(Dans la pratique) Init(PortletConfig config) : Utilisée pour l’ouverture d’une connexion avec la base de données. render(RenderRequest request, RenderResponse response) : Cette méthode n’est pas utilisée, on utilise plutôt : doView(), doEdit() ou doHelp() selon le mode choisi. destroy() : Utilisée pour la fermeture de la connexion avec la base de données
  • 110. 110 Création de notre classe PortletCréation de notre classe Portlet Il existe 2 méthodes pour créer un Portlet : Soit par implémentation de l’interface Portlet : javax.portlet.Portlet class MyPortlet implements Portlet { … } Ou encore par héritage de la classe : javax.portlet.GenericPortlet class MyPortlet extends GenericPortlet { … }
  • 111. 111 Création du descripteur de déploiement portlet.xmlCréation du descripteur de déploiement portlet.xml
  • 112. 112 Mise en oeuvreMise en oeuvre Menu de création d’un Portlet (plugin).
  • 113. 113 Mise en oeuvreMise en oeuvre Création de la classe Portlet -> Mise à jour automatique du descripteur de déploiement : portlet.xml
  • 116. 116 Requêtes et URLsRequêtes et URLs Il existe 2 types de requêtes : - Action request : Requête qui lance une action et dont le traitement se fait par la méthode processAction(). - Render request : Requête qui lance le rendu du Portlet sélectionné, et dont le traitement se fait par la méthode render(). Ces requêtes ne peuvent être saisie manuellement par le développeur. Elle doivent être générées automatiquement à l’aide d’objet ou de Tag approprié.
  • 117. 117 Requêtes et URLsRequêtes et URLs Les requêtes ne peuvent être saisie manuellement par le développeur. Elle doivent être générées automatiquement à l’aide de l’objet PortletURL ou de Tag approprié dans le cas des pages JSP. L’objet RenderResponse permet de créer un objet PortletURL qui va contenir l’URL d’une action (ou render) qu’on pourra utiliser dans la page retournée :
  • 118. 118 Portlet et pages JSPPortlet et pages JSP Et - Une librairie de Tag pour manipuler les objets du portail. Pour utiliser des pages jsp dans des projets portlets, l’API nous fournis 2 outils : - Un objet dispatcher pour pouvoir inclure la page jsp souhaitée comme rendu de réponse à l’utilisateur :
  • 119. 119 Portlet Tag LibraryPortlet Tag Library defineObjects : déclare 3 objets dans la page : renderRequest, renderResponse et portletConfig. actionURL : construit une URL d’action qui pointe vers le Portlet en cours. renderURL : construit une URL render qui pointe vers le Portlet en cours. namespace : fournit un nom unique basé sur le Portlet courant afin d’éviter un conflit entre noms de variables/fonctions avec les autres portlets. param : utilisé au sein des tags : actionURL et renderURL, il donne le nom et la valeur du paramètre.
  • 120. 120 Portlet et formulairesPortlet et formulaires Dans les pages JSP : • Utiliser la méthode POST (au lieu de GET) : Le portail peut avoir besoin de coder des informations dans la requête. • Utiliser le tag « namespace » pour éviter un conflit entre des noms de propriétés similaires mais dans des portlets différentes.
  • 121. 121 Portlet et formulairesPortlet et formulaires Exemple :
  • 122. 122 Portlet : modes & étatsPortlet : modes & états Dans la classe portlet, le mode et l’état peuvent être changé uniquement au niveau de la méthode processAction() par accès à son objet « response ». Pour manipuler les « modes » utiliser la classe : javax.portlet.PortletMode. Pour manipuler les « états » utiliser la classe : javax.portlet.WindowState Exemple :
  • 123. 123 Portlet et sessionsPortlet et sessions L’api portlet définie 2 scopes de session accessibles à l’aide de l’objet javax.portlet.PortletSession : PORTLET_SCOPE : (namespace) Scope par défaut et dans lequel sont stocké uniquement les attributs relatifs au portlet en question. APPLICATION_SCOPE : Scope pour accéder à la session globale et partager des attributs entre différents portlets. Exemples :
  • 124. 124 Portlet : action & renderPortlet : action & render Pour passer des paramètres entre la partie action et render, 2 méthodes : • Utiliser l’objet session comme zone de stockage intermédiaire. • Passage explicite des paramètres en utilisant l’objet ActionResponse de la méthode processAction() :
  • 126. 126 Portlet et base de donnéesPortlet et base de données Afin de se connecter à la base de données, il faut disposer du pilote (driver) JDBC correspondant. Dans notre cas, ce driver est déjà disponible dans le répertoire <lib> de Tomcat : postgresql.jar Étapes d’’utilisation de la base de données : 1. Chargement du pilote. 2. Ouverture d’une connexion en fournissant l’URL de la base de données et les informations d’authentification. 3. Utilisation de la connexion ouverte pour exécuter des requêtes SQL. 4. Fermeture de la connexion.
  • 127. 127 Portlet et base de donnéesPortlet et base de données Exemple :
  • 128. 128 Portlet et base de donnéesPortlet et base de données Exécution de requêtes : Pour exécuter une requête, il faut : 1. Formuler une requête en SQL. 2. Créer un objet de type « Statement ». 3. Exécuter la requête SQL à l’aide de l’objet « Statement ». 4. Exploiter les résultats de la requête, si elle en retourne. 5. Libérer les ressources mémoires allouées. 6. Valider ou Annuler les modifications, s’il y en a.
  • 129. 129 Portlet et base de donnéesPortlet et base de données Types de requête : Il existe 2 types de requête selon que celle-ci, a ou non, un retour : • Requêtes avec retour : SELECT Utiliser la méthode : executeQuery Résultat de type : ResultSet. • Requêtes sans retour : INSERT, UPDATE, DELETE… Utiliser la méthode : executeUpdate Valider ou Annuler la transaction. On peut classer les requêtes aussi selon qu’elles disposent de « paramètres » ou non. Si c’est le cas alors l’utilisation de l’objet « PreparedStatement » est préférable.
  • 130. 130 Portlet et base de donnéesPortlet et base de données Requête avec retour :
  • 131. 131 Portlet et base de donnéesPortlet et base de données Requête sans retour :
  • 132. 132 TP-3 Portlet & Base de données
  • 134. 134 Objectif : Développer un portlet qui permet de consulter et de gérer (CRUD) une liste (table) de films. Un film ayant les propriétés suivantes : Nom / Genre / Date de sortie. Implémenter les 3 modes : VIEW, EDIT et HELP. Réalisation d’un portletRéalisation d’un portlet «« Gestion d’une liste de films »Gestion d’une liste de films »
  • 135. 135 VIEW : Consultation de la liste des films en fournissant un filtre de recherche qui permet de saisir les critères suivants : • Nom : à saisir (commence par /contient / se termine par) • Genre : à sélectionner d’une liste prédéfinie. • Date du : date de début de la période de recherche. • Date au : date de fin de la période de recherche. À la fin de chaque ligne 2 liens : • Un pour supprimer la ligne en cours. • Un pour modifier la ligne en cours. Ce lien va renvoyer au mode EDIT. À la fin de la page, un bouton pour créer <un film>
  • 136. 136 EDIT : Page qui permet de créer ou modifier une ligne existante, elle contient les champs suivants : • Nom : à saisir • Genre : à sélectionner d’une liste prédéfinie. • Date de sortie : date à saisir (format : dd/mm/yyyy). La page contient aussi 2 boutons : • Un pour valider la saisie. • Un autre pour annuler la saisie et revenir au mode VIEW.
  • 137. 137 HELP : Ce mode va contenir votre nom/prénom ainsi qu’une petite description du portlet développé. Livrables : • Script SQL de création de la table sous Postgres. • Portlet sous format d’archive WAR (incluant les sources) à déployer directement sur Liferay.
  • 138. 138 Aspects notés :Aspects notés : • Le script SQL doit être correctement exécutable sur Postgres. • Le portlet doit être correctement utilisable après déploiement sur Liferay. • Le code doit être bien écrit, formaté et documenté selon les recommandations et les standards Java. Une interface graphique soignée sera bien appréciée : mise en forme, images, css.