SlideShare une entreprise Scribd logo
1  sur  41
@EmmanuelPavaux#DevoxxPortail2014
Pourquoi utiliser un portail en
2014
@EmmanuelPavaux
Oxiane, www.oxiane.com
Architecte, consultant et formateur
@YourTwitterHandle#DVXFR14{session hashtag} @EmmanuelPavaux#DevoxxPortail2014
Som
m
air
e
@EmmanuelPavaux#DevoxxPortail2014
Sommaire
•Historique
•Définition d’un portail
•Principe des portlets et des widgets
•Les fonctions du portail
•Les cas d'utilisations
•Les offres du marché
•Pourquoi choisir un portail en 2014
•Le futur du portail
@EmmanuelPavaux#DevoxxPortail2014
Historique – les grandes étapes
•1995-2000 : Explosion des intranets / extranets en entreprise
•1998-2000 : Apparition puis explosion de l’offre de portails
• Pure players (Plumtree, Vignette, HummingBird, …)
• Editeurs d’infrastructure (IBM, BEA, MICROSOFT, …)
• Editeurs métiers (SAP, Peoplesoft, …)
•2001-2005 : Consolidation de l’offre
• Plumtree -> BEA -> ORACLE
• Epicentric -> Vignette -> Open Text
•2006 : Portails web 2.0, collaboratif
•2008 : Réseaux sociaux
@EmmanuelPavaux#DevoxxPortail2014
Outils ressemblant à un portail …
•CMS : vocation première est de créer du contenu
• Et non d’intégrer d’autres applications
•Outil de syndication de contenus
• Agrégation
• Personnalisation
• Fenêtres de
contenus
@EmmanuelPavaux#DevoxxPortail2014
Définition du portail
•Le portail est le point d'entrée unique et personnalisé de
l'utilisateur
• Pour les informations et la communication : contenus, …
• Pour les applications et les services : applications B.O,
• Pour la collaboration entre les utilisateurs : forum,
wiki, agenda, documents partagés, …
• Pour la gestion des relations :
réseaux sociaux
d’entreprises, …
@EmmanuelPavaux#DevoxxPortail2014
Agrégation de multiples sources
Natures différentes
Fonctionnellement
application metier,
application portail,
collaboration,
contenu,
...
Techniquement
portlet,
widget,
iframe,
web clipping,
…
@EmmanuelPavaux#DevoxxPortail2014
Agrégation de multiples sources
Différents niveaux d’agrégation : Navigateur par mashup
Applicatifs portails
Appels backend (Web Services, …)
@EmmanuelPavaux#DevoxxPortail2014
Principe des portlets
•Composant web côté serveur générant un fragment de la
page (HTML la plupart du temps)
• Conçue pour l’agrégation et la personnalisation
• Agrégation des fragments dans une seule page HTML réalisée côté
serveur
Application Portail
HttpRequest
HttpResponse
PortletRequest
PortletResponse
Portlet
Portlet
@EmmanuelPavaux#DevoxxPortail2014
Normes des portlets JSR 168 /
286
•Définir une API Java Portlet standard basée sur l'API
Servlet
• Interfaces PortletXXX, gestion des URLs, modes, états,
préférences, gestion d’événements, ressources non-HTML, ...
•Définir un packaging : war avec portlet.xml
•Permettre l'interopérabilité entre les portails
• Pas de normes sur le portail : spécificités non portable
• Sauf JSR 170 / 283 pour la communication avec un CMS
@EmmanuelPavaux#DevoxxPortail2014
Avantages des portlets
•Intégration plus forte avec le portail
• Style commun avec les portlets, mêmes cookies, …
• Interaction avec le portail ou entre les portlets
• Authentification / autorisation commun à toutes les portlets
•Pour les composants les plus complexes et les plus
robustes
@EmmanuelPavaux#DevoxxPortail2014
Inconvénients des portlets
•Limitation des normes JSR 168 / 286
• Basé sur API servlet : équivalent à développer en servlet / JSP
• Possibilité d’utiliser des frameworks de navigation standard
basé sur des bridges : Struts, JSF (JSR-301, JSR-329), Spring
MVC, GWT, …
• Autres possibilités : WSRP peu utilisé, ou Iframe / Web
Clipping (vite limité ou difficile à maintenir)
•Particularités des portlets à connaître
• Session, phases (action, …), instances, préférences, cache, ...
@EmmanuelPavaux#DevoxxPortail2014
Principe des widgets
•Agrégation/exécution du côté client
(HTML, JS, AJAX) en consommant
des services distants
• Connexion HTTP distinct pour chaque widget
• Indépendantes de la technologie serveur
• Écrite dans plusieurs langages
• Propre feuille de style CSS, propres cookies, ...
•Utilisable au sein d’un portail
•Normes
• W3C Packaging/Configuration 27 September 2011
• OpenSocial Gadget de Google destiné aux réseaux sociaux
@EmmanuelPavaux#DevoxxPortail2014
Avantages des widgets
•Utilise des services RESTFull
• Les préférences sont stockées sur côté serveur
•Rapide pour développer de simples applications
• Composants plus légers à base web standard
•Facile à partager
•Plus agile que les portlets
• Ajoutés dynamiquement (mais certains portails le permettent
aussi pour les portlets)
• Edition en ligne du code source
@EmmanuelPavaux#DevoxxPortail2014
Inconvénients des widgets
•Problème d’intégration déportée côté client
• DOM manipulés par plusieurs widgets, …
• Gestion des différents navigateurs
•Fonctionnalités complexes plus difficiles à réaliser
• Modification sur plusieurs pages /transactionnelles, ...)
•Multiples appels du navigateur vers le(s) serveur(s)
• Attention à la bande passante si de trop nombreux appels
•Sécurité : code source disponible, JS malveillant, …
•Problèmes avec la plupart des moteurs de recherche
@EmmanuelPavaux#DevoxxPortail2014
 Permettre la personnalisation
 Agréger les informations
 Gérer du contenu et des
documents
 Favoriser l'accès et la
recherche des informations
 Intégrer les applications
d'entreprise
 Améliorer la collaboration des
employés
 Permettre l'administration
fonctionnelle du portail
 Gérer des communautés
d'utilisateurs
 Gérer les identités des
utilisateurs
 Gérer les habilitations des
utilisateurs
 Liens vers réseau sociaux
Les fonctions du portail
Moteur de portail
Serveur d’application
WORKFLOW
LOOKnFEEL
ADMINISTRATION
CONTENEUR DE PORTLETS
PORTLET
PORTLET
PORTLET
MOTEUR DE
RECHERCHE
SOCIAL
INTEGRATIO
N
HABILITATION
PERSONNALISATION
AGREGRATION CMS
COLLABORATIONWIDGET
CLOUD
PREVISUALISATION
PORTLET
1e génération
2e génération
3e génération
@EmmanuelPavaux#DevoxxPortail2014
Les cas d’utilisation d’un portail
•Intranet standard (communication interne)
•Application d’accès aux services
•Groupe de travail collaboratifs
•Mutualisation d’applications
•Bureau virtuel
•Usine à sites
•Réseau social d’entreprise
•...
@EmmanuelPavaux#DevoxxPortail2014
Les offres du marché
• Pluto simple container de portlets (implementation de
référence)
• uPortal utilisé notamment par plusieurs universités
américaines et françaises
• JetSpeed portail open source du projet Apache
• Lutece moteur de portail libre avec des fonctions de
. gestion de contenu et de gestion modulaire
d'applications métiers
• Jahia initalement un CMS qui a étendu ces fonctions vers le
portail : portlets, espaces de travail collaboratif
(Blog, Forum, Newsletter et Wiki), droits, recherche, ...
@EmmanuelPavaux#DevoxxPortail2014
Les offres du marché : IBM
• Websphere Portal : offre complète avec une famille
de produits WP Server, WP Enable (workflow et de
gestion de contenu et de document), WP Extend (travail
collaboratif), WP Express (pour les PME), ...
• Services de contenus (ex Lotus WCM), de syndication, workflow,
portlets, widgets, recherche, sécurité, surveillance, personnalisation,
administration interfaces, page, ...
• Services d’intégration : Lotus Domino, Outlook, Quickr, Sametime,
SAP, LDAP, OpenID, ...
• Cloud privé : WPS Hypervisor Edition (préinstallée et pré-configurée)
• Plus d’informations dans la documentation
@EmmanuelPavaux#DevoxxPortail2014
Les offres du marché : Oracle
• WebCenter Portal (suite logiciel WebCenter)
• WebCenter Portail (Ex WLP + UCM + WCI) : personalisation des
services, des contenus, de la navigation, laf, integration
Siebel, Peoplesoft, JDEdwards, ...
• WebCenter Sites (ex FatWire - Web experience management) :
gestion du contenu ciblé par segments utilisateurs, gadgets,
analyse du comportement, canaux de publication ...
• WebCenter Content : Check-in/out, versions, tag, édition
inline
• WebCenter Social : chat, partage de documents, notifications,
activité des réseaux sociaux, recherche unifiée, mobile, ...
@EmmanuelPavaux#DevoxxPortail2014
Les offres du marché : Jboss /
Exo
•GateIn projet OpenSource communautaire / socle
commun à la partie portail ExoPlatform et à Jboss EPP
(Entreprise Portal Platform)
• Fondamentaux du portail : standards, widgets,
portlets, gestion des pages / layouts / sites,
multilingue, des utilisateurs / droits / ...
• EXo Platform : fonctionnalités de contenu,
de collaboration, de réseaux
sociaux, cloud, mobiles, …
@EmmanuelPavaux#DevoxxPortail2014
Les offres du marché : Liferay
• Portail Open Source de référence
Magic Quadrant Gartner
• Ecosystème : communauté, symposuim, Web Events, …
• Licence CE (LGPL) et Licence EE (Liferay Inc.)
• Interface utilisateur web 2.0 moderne et pratique
• Extension : Hook, Service Buidler, Plug-in SDK
• Normes JSR 170 / 286 / 314, CMIS, Open Search, …
• Plus d'une soixantaine de portlets en standard : gestion de
site, CMS, gestionnaire de documents, collaboration (blog,
wiki,forum, calendrier, …), social (mur, …)
@EmmanuelPavaux#DevoxxPortail2014
Les offres du marché : Liferay
• Sécurité/habilitation : sites, organisations, …
• Intégration facile LDAP, SSO (CAS,...), Identity Manager
• Cycle de vie du portail : LAR, Staging, …
• Liferay Marketplace
• Liferay Sync
• Un succès
@EmmanuelPavaux#DevoxxPortail2014
Pourquoi choisir un portail en
2014
•Le portail a dépassé les échecs passés
• Engouement excessif et sur-médiatisation
En 2000, tout le monde «fait» du portail
=> Rationalisation des offres et sélection naturelle
• Coûteux à acquérir
Souvent une entrée vers les autres offres d'un éditeur
=> De vrais solutions Open source
@EmmanuelPavaux#DevoxxPortail2014
Pourquoi choisir un portail en
2014
• Complexe à mettre en œuvre
Problématique complexe d'intégration avec de nombreuses
applications => pas le portail lui même
• Complexe à utiliser, manque de contrôle des utilisateurs
=> Evolution de la convivialité des produits pour les utilisateurs
finaux ou pour les administrateurs
=> Les utilisateurs ont repris la main : personnalisation,
collaboratif, sociaux
• Cycles de déploiement long
=> Déploiement à chaud des portlets, widgets, méthodes
agiles, …
@EmmanuelPavaux#DevoxxPortail2014
Pourquoi choisir un portail en
2014
•Promesses du portail enfin tenu
• Convivialité : user friendly
• Personnalisation : choix des pages, portlets et contenu, …
• Gestion de la mobilité
• Véritable outil de travail centré sur l’utilisateur :
informations, collaboration, social
• Cycle de vie du portail
@EmmanuelPavaux#DevoxxPortail2014
Pourquoi choisir un portail en
2014
•Concept d’architecture
• Brique d'infrastructure : dépasser la spécification de portlet et
garder le concept
• Rationalisation des aspects traités de manière hétérogène
selon les projets : authentification, habilitation, navigation,
look n feel, …
@EmmanuelPavaux#DevoxxPortail2014
Le futur du portail
•Le portail va rester l’outil d’agrégation des applications
métiers de l’entreprise
•Evolution du portail pour devenir une plate-forme
d’exécution d’applications
• Suite logicielle (marketplace) fournie par le portail :
collaborative, social, gestion de processus métier, …
@EmmanuelPavaux#DevoxxPortail2014
Le futur du portail
•Clouds : plusieurs cas d’utilisations
• Déploiement du portail
• Déploiement des portlets / applications (offre SAS)
• Cloud privé
@YourTwitterHandle#DVXFR14{session hashtag} @EmmanuelPavaux#DevoxxPortail2014
Q
&
A
@YourTwitterHandle@EmmanuelPavaux#DevoxxPortail2014
D
em
o
Liferay
@EmmanuelPavaux#DevoxxPortail2014
A 2 columns slide
•Première colonne
•un
•deux
•trois
•quatre
•Autre point important
•okdak
•Deuxième colonne
• one
• two
• three
• four
@YourTwitterHandle#DVXFR14{session hashtag} @EmmanuelPavaux#DevoxxPortail2014
O
bjectifs
Ce que vous allez apprendre pendant cette présentation
What you will learn during this presentation
@EmmanuelPavaux#DevoxxPortail2014
static String friendlyBirthDate(Date date) {
def days = date - BIRTH
switch (days) {
case 0: return "Jour de naissance"
case 1: return "1 jour"
case 1..<31: return "${days} jours"
case 31..<90: return "${days.intdiv(7)+1} semaines"
case 91..<914: return "${days.intdiv(30)} mois"
case 914..365*100:
int y = days.intdiv(365)
boolean half = (days - 365.25 * y) > 182
return "${y} ans${half ? ' et demi' : ''}"
}
}
static String friendlyBirthDate(Date date) {
def days = date - BIRTH
switch (days) {
case 0: return "Jour de naissance"
case 1: return "1 jour"
case 1..<31: return "${days} jours"
case 31..<90: return "${days.intdiv(7)+1} semaines"
case 91..<914: return "${days.intdiv(30)} mois"
case 914..365*100:
int y = days.intdiv(365)
boolean half = (days - 365.25 * y) > 182
return "${y} ans${half ? ' et demi' : ''}"
}
}
Show me some code
@EmmanuelPavaux#DevoxxPortail2014
A code sample
Do not try to show more than 15 lines of code per slide
Remember, your audience will READ the slides and won’t listen
Try to take screenshot of your code in Eclipse or IntelliJ
Evitez de montrer plus de 15 lignes de code par slide
Souvenez-vous que votre audience va lire le slide et ne vous écoutera pas
Essayez d’utiliser des captures d’écran d’Eclipse ou IntelliJ
blank slide
for your own
pictures
blank slide
for your own
pictures
@YourTwitterHandle#DVXFR14{session hashtag} @EmmanuelPavaux#DevoxxPortail2014
Sum
m
ary
@EmmanuelPavaux#DevoxxPortail2014
Pensez à utiliser des images
•Quelques sites avec des photos libres de droit :
•http://www.colourlovers.com/
•http://www.flickr.com/creativecommons
•http://www.morguefile.com/archive
@EmmanuelPavaux#DevoxxPortail2014
Use images (wisely)
•Some web sites with free HD photos :
•http://www.colourlovers.com/
•http://www.flickr.com/creativecommons
•http://www.morguefile.com/archive
@EmmanuelPavaux#DevoxxPortail2014
title-less
slide
title-less
slide
@EmmanuelPavaux#DevoxxPortail2014
Crédit image / Creative Commons
• Rue pavée — By-Nc-Sa
•http://www.flickr.com/photos/22914687@N05/4957591422/sizes/l/
• Sous la Tour Eiffel — By-Nc-Sa
•http://www.flickr.com/photos/stewiedewie/244850735/sizes/l/in/photostream/
• Sous le pont — photo par B.Monginoux - By-Nc-Nd
•http://www.landscape-photo.net/displayimage.php?pid=5194
• Le Louvre – Photo par Anthony Gaudun - By-Nc-Sa
•http://www.flickr.com/photos/anthonygaudun/7474397964/sizes/o/in/photostream/
• Slide template created by @glaforge, completed by @nmartignole for Devoxx FR2014

Contenu connexe

Similaire à DevoxxFR Présentation des portails en 2014

Seminaire Portail Open Source
Seminaire Portail Open SourceSeminaire Portail Open Source
Seminaire Portail Open SourceIppon
 
WordPress sous stéroïdes : votre site Web vers les sommets !
WordPress sous stéroïdes : votre site Web vers les sommets !WordPress sous stéroïdes : votre site Web vers les sommets !
WordPress sous stéroïdes : votre site Web vers les sommets !Aurélien Denis
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologiewyggio
 
Aspectize meetup
Aspectize meetupAspectize meetup
Aspectize meetupAspectize
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'artTugdual Grall
 
Compatibilité Internet Explorer : pour le meilleur et pour le pire!
Compatibilité Internet Explorer : pour le meilleur et pour le pire!Compatibilité Internet Explorer : pour le meilleur et pour le pire!
Compatibilité Internet Explorer : pour le meilleur et pour le pire!Microsoft
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...Microsoft Technet France
 
SharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnantSharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnantMicrosoft
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent Biret
 
Standardisation du developpement Web
Standardisation du developpement WebStandardisation du developpement Web
Standardisation du developpement Webcl3m
 
Industrialisez le développement et la maintenance de vos sites avec Drupal
Industrialisez le développement et la maintenance de vos sites avec DrupalIndustrialisez le développement et la maintenance de vos sites avec Drupal
Industrialisez le développement et la maintenance de vos sites avec DrupalLINAGORA
 
AFUP 2010 : Industrialisation de PHP, l'exemple de CANAL+
AFUP 2010 : Industrialisation de PHP, l'exemple de CANAL+AFUP 2010 : Industrialisation de PHP, l'exemple de CANAL+
AFUP 2010 : Industrialisation de PHP, l'exemple de CANAL+Raphaël Carles
 
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...Nuxeo
 
Introduction à meteor
Introduction à meteorIntroduction à meteor
Introduction à meteorFabian Vilers
 
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...Guillaume MOCQUET
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)Restlet
 
Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3
Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3
Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3Raphaël Semeteys
 

Similaire à DevoxxFR Présentation des portails en 2014 (20)

Seminaire Portail Open Source
Seminaire Portail Open SourceSeminaire Portail Open Source
Seminaire Portail Open Source
 
WordPress sous stéroïdes : votre site Web vers les sommets !
WordPress sous stéroïdes : votre site Web vers les sommets !WordPress sous stéroïdes : votre site Web vers les sommets !
WordPress sous stéroïdes : votre site Web vers les sommets !
 
Les métiers du web
Les métiers du webLes métiers du web
Les métiers du web
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologie
 
Aspectize meetup
Aspectize meetupAspectize meetup
Aspectize meetup
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
 
Compatibilité Internet Explorer : pour le meilleur et pour le pire!
Compatibilité Internet Explorer : pour le meilleur et pour le pire!Compatibilité Internet Explorer : pour le meilleur et pour le pire!
Compatibilité Internet Explorer : pour le meilleur et pour le pire!
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
 
SharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnantSharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnant
 
Présentation sharepoint 2013
Présentation sharepoint 2013Présentation sharepoint 2013
Présentation sharepoint 2013
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
Standardisation du developpement Web
Standardisation du developpement WebStandardisation du developpement Web
Standardisation du developpement Web
 
Industrialisez le développement et la maintenance de vos sites avec Drupal
Industrialisez le développement et la maintenance de vos sites avec DrupalIndustrialisez le développement et la maintenance de vos sites avec Drupal
Industrialisez le développement et la maintenance de vos sites avec Drupal
 
AFUP 2010 : Industrialisation de PHP, l'exemple de CANAL+
AFUP 2010 : Industrialisation de PHP, l'exemple de CANAL+AFUP 2010 : Industrialisation de PHP, l'exemple de CANAL+
AFUP 2010 : Industrialisation de PHP, l'exemple de CANAL+
 
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...
 
Introduction à meteor
Introduction à meteorIntroduction à meteor
Introduction à meteor
 
Nouveaux apis
Nouveaux apisNouveaux apis
Nouveaux apis
 
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)
 
Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3
Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3
Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3
 

Plus de Stéphane Liétard

Introduction aux méthodes agiles pour conduite de projet
Introduction aux méthodes agiles pour conduite de projetIntroduction aux méthodes agiles pour conduite de projet
Introduction aux méthodes agiles pour conduite de projetStéphane Liétard
 
Affichage d'un document Office sous Android
Affichage d'un document Office sous AndroidAffichage d'un document Office sous Android
Affichage d'un document Office sous AndroidStéphane Liétard
 
Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonStéphane Liétard
 

Plus de Stéphane Liétard (7)

Présentation Oxiane 2016
Présentation Oxiane 2016Présentation Oxiane 2016
Présentation Oxiane 2016
 
Présentation OXiane 2015
Présentation OXiane 2015Présentation OXiane 2015
Présentation OXiane 2015
 
Présentation OXiane Value
Présentation OXiane ValuePrésentation OXiane Value
Présentation OXiane Value
 
Introduction aux méthodes agiles pour conduite de projet
Introduction aux méthodes agiles pour conduite de projetIntroduction aux méthodes agiles pour conduite de projet
Introduction aux méthodes agiles pour conduite de projet
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Affichage d'un document Office sous Android
Affichage d'un document Office sous AndroidAffichage d'un document Office sous Android
Affichage d'un document Office sous Android
 
Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative Common
 

DevoxxFR Présentation des portails en 2014

  • 1. @EmmanuelPavaux#DevoxxPortail2014 Pourquoi utiliser un portail en 2014 @EmmanuelPavaux Oxiane, www.oxiane.com Architecte, consultant et formateur
  • 3. @EmmanuelPavaux#DevoxxPortail2014 Sommaire •Historique •Définition d’un portail •Principe des portlets et des widgets •Les fonctions du portail •Les cas d'utilisations •Les offres du marché •Pourquoi choisir un portail en 2014 •Le futur du portail
  • 4. @EmmanuelPavaux#DevoxxPortail2014 Historique – les grandes étapes •1995-2000 : Explosion des intranets / extranets en entreprise •1998-2000 : Apparition puis explosion de l’offre de portails • Pure players (Plumtree, Vignette, HummingBird, …) • Editeurs d’infrastructure (IBM, BEA, MICROSOFT, …) • Editeurs métiers (SAP, Peoplesoft, …) •2001-2005 : Consolidation de l’offre • Plumtree -> BEA -> ORACLE • Epicentric -> Vignette -> Open Text •2006 : Portails web 2.0, collaboratif •2008 : Réseaux sociaux
  • 5. @EmmanuelPavaux#DevoxxPortail2014 Outils ressemblant à un portail … •CMS : vocation première est de créer du contenu • Et non d’intégrer d’autres applications •Outil de syndication de contenus • Agrégation • Personnalisation • Fenêtres de contenus
  • 6. @EmmanuelPavaux#DevoxxPortail2014 Définition du portail •Le portail est le point d'entrée unique et personnalisé de l'utilisateur • Pour les informations et la communication : contenus, … • Pour les applications et les services : applications B.O, • Pour la collaboration entre les utilisateurs : forum, wiki, agenda, documents partagés, … • Pour la gestion des relations : réseaux sociaux d’entreprises, …
  • 7. @EmmanuelPavaux#DevoxxPortail2014 Agrégation de multiples sources Natures différentes Fonctionnellement application metier, application portail, collaboration, contenu, ... Techniquement portlet, widget, iframe, web clipping, …
  • 8. @EmmanuelPavaux#DevoxxPortail2014 Agrégation de multiples sources Différents niveaux d’agrégation : Navigateur par mashup Applicatifs portails Appels backend (Web Services, …)
  • 9. @EmmanuelPavaux#DevoxxPortail2014 Principe des portlets •Composant web côté serveur générant un fragment de la page (HTML la plupart du temps) • Conçue pour l’agrégation et la personnalisation • Agrégation des fragments dans une seule page HTML réalisée côté serveur Application Portail HttpRequest HttpResponse PortletRequest PortletResponse Portlet Portlet
  • 10. @EmmanuelPavaux#DevoxxPortail2014 Normes des portlets JSR 168 / 286 •Définir une API Java Portlet standard basée sur l'API Servlet • Interfaces PortletXXX, gestion des URLs, modes, états, préférences, gestion d’événements, ressources non-HTML, ... •Définir un packaging : war avec portlet.xml •Permettre l'interopérabilité entre les portails • Pas de normes sur le portail : spécificités non portable • Sauf JSR 170 / 283 pour la communication avec un CMS
  • 11. @EmmanuelPavaux#DevoxxPortail2014 Avantages des portlets •Intégration plus forte avec le portail • Style commun avec les portlets, mêmes cookies, … • Interaction avec le portail ou entre les portlets • Authentification / autorisation commun à toutes les portlets •Pour les composants les plus complexes et les plus robustes
  • 12. @EmmanuelPavaux#DevoxxPortail2014 Inconvénients des portlets •Limitation des normes JSR 168 / 286 • Basé sur API servlet : équivalent à développer en servlet / JSP • Possibilité d’utiliser des frameworks de navigation standard basé sur des bridges : Struts, JSF (JSR-301, JSR-329), Spring MVC, GWT, … • Autres possibilités : WSRP peu utilisé, ou Iframe / Web Clipping (vite limité ou difficile à maintenir) •Particularités des portlets à connaître • Session, phases (action, …), instances, préférences, cache, ...
  • 13. @EmmanuelPavaux#DevoxxPortail2014 Principe des widgets •Agrégation/exécution du côté client (HTML, JS, AJAX) en consommant des services distants • Connexion HTTP distinct pour chaque widget • Indépendantes de la technologie serveur • Écrite dans plusieurs langages • Propre feuille de style CSS, propres cookies, ... •Utilisable au sein d’un portail •Normes • W3C Packaging/Configuration 27 September 2011 • OpenSocial Gadget de Google destiné aux réseaux sociaux
  • 14. @EmmanuelPavaux#DevoxxPortail2014 Avantages des widgets •Utilise des services RESTFull • Les préférences sont stockées sur côté serveur •Rapide pour développer de simples applications • Composants plus légers à base web standard •Facile à partager •Plus agile que les portlets • Ajoutés dynamiquement (mais certains portails le permettent aussi pour les portlets) • Edition en ligne du code source
  • 15. @EmmanuelPavaux#DevoxxPortail2014 Inconvénients des widgets •Problème d’intégration déportée côté client • DOM manipulés par plusieurs widgets, … • Gestion des différents navigateurs •Fonctionnalités complexes plus difficiles à réaliser • Modification sur plusieurs pages /transactionnelles, ...) •Multiples appels du navigateur vers le(s) serveur(s) • Attention à la bande passante si de trop nombreux appels •Sécurité : code source disponible, JS malveillant, … •Problèmes avec la plupart des moteurs de recherche
  • 16. @EmmanuelPavaux#DevoxxPortail2014  Permettre la personnalisation  Agréger les informations  Gérer du contenu et des documents  Favoriser l'accès et la recherche des informations  Intégrer les applications d'entreprise  Améliorer la collaboration des employés  Permettre l'administration fonctionnelle du portail  Gérer des communautés d'utilisateurs  Gérer les identités des utilisateurs  Gérer les habilitations des utilisateurs  Liens vers réseau sociaux Les fonctions du portail Moteur de portail Serveur d’application WORKFLOW LOOKnFEEL ADMINISTRATION CONTENEUR DE PORTLETS PORTLET PORTLET PORTLET MOTEUR DE RECHERCHE SOCIAL INTEGRATIO N HABILITATION PERSONNALISATION AGREGRATION CMS COLLABORATIONWIDGET CLOUD PREVISUALISATION PORTLET 1e génération 2e génération 3e génération
  • 17. @EmmanuelPavaux#DevoxxPortail2014 Les cas d’utilisation d’un portail •Intranet standard (communication interne) •Application d’accès aux services •Groupe de travail collaboratifs •Mutualisation d’applications •Bureau virtuel •Usine à sites •Réseau social d’entreprise •...
  • 18. @EmmanuelPavaux#DevoxxPortail2014 Les offres du marché • Pluto simple container de portlets (implementation de référence) • uPortal utilisé notamment par plusieurs universités américaines et françaises • JetSpeed portail open source du projet Apache • Lutece moteur de portail libre avec des fonctions de . gestion de contenu et de gestion modulaire d'applications métiers • Jahia initalement un CMS qui a étendu ces fonctions vers le portail : portlets, espaces de travail collaboratif (Blog, Forum, Newsletter et Wiki), droits, recherche, ...
  • 19. @EmmanuelPavaux#DevoxxPortail2014 Les offres du marché : IBM • Websphere Portal : offre complète avec une famille de produits WP Server, WP Enable (workflow et de gestion de contenu et de document), WP Extend (travail collaboratif), WP Express (pour les PME), ... • Services de contenus (ex Lotus WCM), de syndication, workflow, portlets, widgets, recherche, sécurité, surveillance, personnalisation, administration interfaces, page, ... • Services d’intégration : Lotus Domino, Outlook, Quickr, Sametime, SAP, LDAP, OpenID, ... • Cloud privé : WPS Hypervisor Edition (préinstallée et pré-configurée) • Plus d’informations dans la documentation
  • 20. @EmmanuelPavaux#DevoxxPortail2014 Les offres du marché : Oracle • WebCenter Portal (suite logiciel WebCenter) • WebCenter Portail (Ex WLP + UCM + WCI) : personalisation des services, des contenus, de la navigation, laf, integration Siebel, Peoplesoft, JDEdwards, ... • WebCenter Sites (ex FatWire - Web experience management) : gestion du contenu ciblé par segments utilisateurs, gadgets, analyse du comportement, canaux de publication ... • WebCenter Content : Check-in/out, versions, tag, édition inline • WebCenter Social : chat, partage de documents, notifications, activité des réseaux sociaux, recherche unifiée, mobile, ...
  • 21. @EmmanuelPavaux#DevoxxPortail2014 Les offres du marché : Jboss / Exo •GateIn projet OpenSource communautaire / socle commun à la partie portail ExoPlatform et à Jboss EPP (Entreprise Portal Platform) • Fondamentaux du portail : standards, widgets, portlets, gestion des pages / layouts / sites, multilingue, des utilisateurs / droits / ... • EXo Platform : fonctionnalités de contenu, de collaboration, de réseaux sociaux, cloud, mobiles, …
  • 22. @EmmanuelPavaux#DevoxxPortail2014 Les offres du marché : Liferay • Portail Open Source de référence Magic Quadrant Gartner • Ecosystème : communauté, symposuim, Web Events, … • Licence CE (LGPL) et Licence EE (Liferay Inc.) • Interface utilisateur web 2.0 moderne et pratique • Extension : Hook, Service Buidler, Plug-in SDK • Normes JSR 170 / 286 / 314, CMIS, Open Search, … • Plus d'une soixantaine de portlets en standard : gestion de site, CMS, gestionnaire de documents, collaboration (blog, wiki,forum, calendrier, …), social (mur, …)
  • 23. @EmmanuelPavaux#DevoxxPortail2014 Les offres du marché : Liferay • Sécurité/habilitation : sites, organisations, … • Intégration facile LDAP, SSO (CAS,...), Identity Manager • Cycle de vie du portail : LAR, Staging, … • Liferay Marketplace • Liferay Sync • Un succès
  • 24. @EmmanuelPavaux#DevoxxPortail2014 Pourquoi choisir un portail en 2014 •Le portail a dépassé les échecs passés • Engouement excessif et sur-médiatisation En 2000, tout le monde «fait» du portail => Rationalisation des offres et sélection naturelle • Coûteux à acquérir Souvent une entrée vers les autres offres d'un éditeur => De vrais solutions Open source
  • 25. @EmmanuelPavaux#DevoxxPortail2014 Pourquoi choisir un portail en 2014 • Complexe à mettre en œuvre Problématique complexe d'intégration avec de nombreuses applications => pas le portail lui même • Complexe à utiliser, manque de contrôle des utilisateurs => Evolution de la convivialité des produits pour les utilisateurs finaux ou pour les administrateurs => Les utilisateurs ont repris la main : personnalisation, collaboratif, sociaux • Cycles de déploiement long => Déploiement à chaud des portlets, widgets, méthodes agiles, …
  • 26. @EmmanuelPavaux#DevoxxPortail2014 Pourquoi choisir un portail en 2014 •Promesses du portail enfin tenu • Convivialité : user friendly • Personnalisation : choix des pages, portlets et contenu, … • Gestion de la mobilité • Véritable outil de travail centré sur l’utilisateur : informations, collaboration, social • Cycle de vie du portail
  • 27. @EmmanuelPavaux#DevoxxPortail2014 Pourquoi choisir un portail en 2014 •Concept d’architecture • Brique d'infrastructure : dépasser la spécification de portlet et garder le concept • Rationalisation des aspects traités de manière hétérogène selon les projets : authentification, habilitation, navigation, look n feel, …
  • 28. @EmmanuelPavaux#DevoxxPortail2014 Le futur du portail •Le portail va rester l’outil d’agrégation des applications métiers de l’entreprise •Evolution du portail pour devenir une plate-forme d’exécution d’applications • Suite logicielle (marketplace) fournie par le portail : collaborative, social, gestion de processus métier, …
  • 29. @EmmanuelPavaux#DevoxxPortail2014 Le futur du portail •Clouds : plusieurs cas d’utilisations • Déploiement du portail • Déploiement des portlets / applications (offre SAS) • Cloud privé
  • 32. @EmmanuelPavaux#DevoxxPortail2014 A 2 columns slide •Première colonne •un •deux •trois •quatre •Autre point important •okdak •Deuxième colonne • one • two • three • four
  • 33. @YourTwitterHandle#DVXFR14{session hashtag} @EmmanuelPavaux#DevoxxPortail2014 O bjectifs Ce que vous allez apprendre pendant cette présentation What you will learn during this presentation
  • 34. @EmmanuelPavaux#DevoxxPortail2014 static String friendlyBirthDate(Date date) { def days = date - BIRTH switch (days) { case 0: return "Jour de naissance" case 1: return "1 jour" case 1..<31: return "${days} jours" case 31..<90: return "${days.intdiv(7)+1} semaines" case 91..<914: return "${days.intdiv(30)} mois" case 914..365*100: int y = days.intdiv(365) boolean half = (days - 365.25 * y) > 182 return "${y} ans${half ? ' et demi' : ''}" } } static String friendlyBirthDate(Date date) { def days = date - BIRTH switch (days) { case 0: return "Jour de naissance" case 1: return "1 jour" case 1..<31: return "${days} jours" case 31..<90: return "${days.intdiv(7)+1} semaines" case 91..<914: return "${days.intdiv(30)} mois" case 914..365*100: int y = days.intdiv(365) boolean half = (days - 365.25 * y) > 182 return "${y} ans${half ? ' et demi' : ''}" } } Show me some code
  • 35. @EmmanuelPavaux#DevoxxPortail2014 A code sample Do not try to show more than 15 lines of code per slide Remember, your audience will READ the slides and won’t listen Try to take screenshot of your code in Eclipse or IntelliJ Evitez de montrer plus de 15 lignes de code par slide Souvenez-vous que votre audience va lire le slide et ne vous écoutera pas Essayez d’utiliser des captures d’écran d’Eclipse ou IntelliJ
  • 36. blank slide for your own pictures blank slide for your own pictures
  • 38. @EmmanuelPavaux#DevoxxPortail2014 Pensez à utiliser des images •Quelques sites avec des photos libres de droit : •http://www.colourlovers.com/ •http://www.flickr.com/creativecommons •http://www.morguefile.com/archive
  • 39. @EmmanuelPavaux#DevoxxPortail2014 Use images (wisely) •Some web sites with free HD photos : •http://www.colourlovers.com/ •http://www.flickr.com/creativecommons •http://www.morguefile.com/archive
  • 41. @EmmanuelPavaux#DevoxxPortail2014 Crédit image / Creative Commons • Rue pavée — By-Nc-Sa •http://www.flickr.com/photos/22914687@N05/4957591422/sizes/l/ • Sous la Tour Eiffel — By-Nc-Sa •http://www.flickr.com/photos/stewiedewie/244850735/sizes/l/in/photostream/ • Sous le pont — photo par B.Monginoux - By-Nc-Nd •http://www.landscape-photo.net/displayimage.php?pid=5194 • Le Louvre – Photo par Anthony Gaudun - By-Nc-Sa •http://www.flickr.com/photos/anthonygaudun/7474397964/sizes/o/in/photostream/ • Slide template created by @glaforge, completed by @nmartignole for Devoxx FR2014

Notes de l'éditeur

  1. Manque contexte applicatif côté client =&amp;gt; à développer pour avoir un maximum de navigation côté client, ou en déconnecté
  2. OK Perso Agrégation CMS Recherche Admin Sécurité Habilitation Intégration Développement Look&amp;Feel Workflow Collabo Widget Cycle de vie Bridge Template I18N Social Cloud WS
  3. OK Site Builder Résau social pour hopitaux
  4. Modularité des portlets (différentes versions dans un même portail) Bundle OSGi pour les services Widget versionné côté présentation
  5. TODO schéma montrant l&amp;apos;aggrégation côté navigateur, et côté portail interne et externe à l&amp;apos;entreprise Agrégation de multiples sources =&amp;gt; indifférent pour l’utilisateur Différents niveaux back-end, par agrégation de Web Service, de données, … Applicatif ??? navigateur Web Mashups par l’utilisation de gadgets,
  6. TODO schéma montrant l&amp;apos;aggrégation côté navigateur, et côté portail interne et externe à l&amp;apos;entreprise Agrégation de multiples sources =&amp;gt; indifférent pour l’utilisateur Différents niveaux back-end, par agrégation de Web Service, de données, … Applicatif ??? navigateur Web Mashups par l’utilisation de gadgets,