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.
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…
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 :
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
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
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.
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.
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
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/
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 {
…
}
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.
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.
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 :
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.