Liferay

Un article de Wikipédia, l'encyclopédie libre.
Liferay
Description de l'image Liferay-logo-full-color-2x.png.
Description de l'image Liferay Portal.png.
Informations
Développé par Liferay, Inc[2]
Première version Voir et modifier les données sur Wikidata
Dernière version 7.4 GA25 ()
Dépôt github.com/liferay/liferay-portalVoir et modifier les données sur Wikidata
Écrit en JavaVoir et modifier les données sur Wikidata
Environnement multi-plateforme
Langues anglais (principalement)
Type CMS / DXP
Licence LGPL License [3] et propriétaire
Site web www.liferay.com

Liferay est un éditeur indépendant de solutions de portail open source, de gestion de contenu, de collaboration sociale et de commerce en ligne B2B, en langage Java.

Liferay dispose de 22 filiales[1] et bénéficie d’une présence dans 40 pays grâce à son écosystème de partenaires.

Histoire[modifier | modifier le code]

A l'origine, la technologie Liferay a été créée, en 2000 à Los Angeles, par Brian Chan pour fournir une solution de portail aux associations à but non lucratif.

Par la suite, de nombreuses entreprises ont commencé à utiliser cette version communautaire pour leurs besoins internes. La société Liferay, Inc. a ainsi été fondée en 2004 en réponse à la forte demande de support entreprise.

Cet élan initial a été confirmé en 2008 avec l’entrée dans la partie « Visionnaire » du Magic Quadrant Gartner pour les portails horizontaux, avant de passer dans la partie « Leader » en 2010, au même titre que les solutions des grands éditeurs propriétaires. En 2018, Liferay a été nommé "Leader" dans le Gartner Magic Quadrant for Digital Experience Platforms[2].

Présent en Europe via une filiale allemande en 2007, Liferay s’est implanté directement en France en début d’année 2012.

Présentation[modifier | modifier le code]

Liferay s’appuie, sur un serveur d'applications JEE.[pas clair]. Le serveur d'applications peut être Tomcat, Jboss Wildfly, Jetty ou Websphere... La matrice des compatibilités de Liferay est disponible sur le site officiel[3].

Liferay étant en Java, il peut donc être installé aussi bien sur un serveur Unix, Linux, Windows ou Mac. L'important étant d'avoir une JVM au moins Java 8.

Liferay s'interface avec plusieurs bases de données différentes : IBM DB2[4], MySQL, Oracle, PostgreSQL, Amazon Aurora, SQL Server ou encore une base de données HSQL pour un usage limité (démonstration, tests...).

Une fonction de cache (EhCache) accélère le traitement du contenu statique et Liferay peut exploiter un équilibrage de charge matériel.

La recherche et l'indexation repose sur Elasticsearch par défaut mais peut aussi fonctionner avec Solr.

L'indexation permet d'effectuer des recherches fulltext mais aussi des recherches synonymes et/ou proches sur différents contenus et permet d'accélérer la recherche de contenus sans passer par une base de données relationnelle classique. Il est donc possible d'effectuer une recherche soit via la base de données soit via le système d'indexation NoSQL.

L'indexation peut à tout moment être réindexé sachant que les données en elles-mêmes sont stockées en base de données et/ou dans la GED.

La GED stocke les fichiers, images, vidéos et/ou documents en les catégorisant et hiérarchisant soit en utilisant une GED interne à Liferay, soit en utilisant une GED externe telle qu'une GED externe compatible CMIS (Documemtum, Alfresco ...) ou S3 (Amazon ...) ou autres ...

Liferay peut aussi s'utiliser en tant qu'usine à sites et permet la création de template de sites, template de pages ... Un site, une page et/ou un contenu peuvent donc être répliqués, partagés et/ou modifiés de façon hiérarchique (ou non depuis la version 7.3 avec les asset librairies).

Une modification sur un site parent (ou autre depuis la version 7.3) peut se répliquer sur d'autres sites et/ou pages.

Liferay gère aussi bien la scalabilité horizontale que verticale soit en ajoutant de la mémoire et/ou de la CPU, soit en mode cluster aussi bien au niveau de la base de données que du reverse-proxy ou du Liferay en lui-même.

Il est donc possible d'avoir plusieurs instances de Liferay sur des serveurs différents permettant un usage 24h/24 et 7j/7 sans interruption de service et de session utilisateur.

Fonctionnalités[modifier | modifier le code]

Liferay est notamment compatible avec les portlets 1.0 (JSR 168), 2.0 (JSR 286) et 3.0, JSR 170 (Java Content Repository (en)), WSRP (consommateur uniquement). Il est compatible avec la plupart des systèmes d’exploitation, serveurs d’applications (Tomcat, Wildfly, Websphere, Weblogic, Jboss...) et bases de données (PostgreSQL, MySQL, Oracle, SQL Server, Aurora, MariaDB...). Il embarque des fonctionnalités de gestion de contenu (Liferay journal) qui permettent de restituer des contenus formatés (XSL, Velocity et Freemarker) sur les pages du portail à travers des portlets dédiés. Une multitude de portlets sont fournis avec la solution et permettent de mettre en place les fonctionnalités de base d’un portail intranet facilement et rapidement.

Dans les nouvelles versions la notion de fragment a été mise en place et permet d'utiliser des fragments de base (façon JSfiddle ou CodePen), d'en créer, de les modifier et de les composer directement en live, mais aussi de les importer/exporter.

Les versions 7.x se basent sur la norme OSGi et font de Liferay une plateforme modulaire et moderne alors que les versions antérieures étaient considérées comme "monolithiques".

Depuis la version Liferay 7.1, Liferay est passé de Bootstrap 3 à Bootstrap 4 et propose un module Liferay Commerce permettant d'ajouter une brique B2C et B2B, ainsi qu'une première ébauche de pages de contenus basées sur des fragments.

Il est aussi possible de créer des portlets javascript en Angular, React ou Vue.js et la possibilité d'autres frameworks JS.

Une approche micro-frontend est donc très facilement réalisable avec la possibilité de partager des librairies communes entre composants, comme des librairies Angular 11, Billboard, Datables, d3js... ces librairies pourront donc être chargées qu'une seule fois au moment de leur utilisation permettant optimisation et flexibilité des éléments affichés.

La version 7.2 améliore les pages de contenus et la segmentation des utilisateurs et apporte une fonctionnalité de A/B testing ainsi que des fonctionnalités de HeadLess.

La version 7.3 apporte de nouvelles fonctionnalités comme les publications permettant de faire des modifications des pages des sites sans les publier en offrant la possibilité de les publier en live ou de programmer leur publication en avance de phase. Cette version apporte également l'amélioration des fragments, le support d'Open Graph, d'Open API, de GraphQL, gestion des erreurs 404, possibilités de création de modules "Low-code"... Mais aussi le concept de Master Page et de librairies partagées (il est donc désormais possible de partager des ressources sans forcément avoir une notion de hiérarchie).

La version 7.4 [5] améliore encore les fragments et apporte des améliorations sur l'upload des fichiers du Liferay Forms, les images adaptatives, l'intégration de vidéos externes, le Liferay Commerce ...

La version DXP est sortie officiellement le 3 novembre 2021 et fait suite à plusieurs releases de la version 7.4 communautaire et améliore la partie commerce, traduction, interface avec des chatbots[6], édition des images, référencement SEO ainsi que la notion de "object" qui va permettre de faire du No-code/Low-code en créant des objets, en les reliant entre eux, en permettant de créer des vues formulaires ou des vues listes avec la possibilité de déclencher des workflows changeant l'état de nos objets ou d'exécuter du code ...

Produits[modifier | modifier le code]

Liferay se décompose en trois produits :

  • Liferay Digital Experience Platform (Liferay DXP) est une plate-forme numérique pour créer des solutions web flexibles telles que des portails clients, des intranets et des sites web publics[7].
  • Liferay Commerce est une solution pour créer des sites de vente en ligne dédiés au B2B[8].
  • Liferay Analytics Cloud est un outil d'analyse web qui agrège et analyse les données clients ainsi que la performance des outils marketing[9].

Versions[modifier | modifier le code]

Liferay DXP est disponible en deux versions différentes :

  • Community Edition (CE) : version gratuite, supportée par la communauté Liferay qui de base est identique à la version payante avec quelques modules en moins mais qui oblige à migrer régulièrement pour rester à jour en cas de bugs[10] et/ou failles. En effet, l'utilisation de la version gratuite implique d'effectuer des montées de version annuelle car seule la version en cours est mise à jour. Les versions précédentes peuvent être patchées mais nécessitent un effort assez conséquent afin d'appliquer les patchs de sécurité rétroactivement.
  • Enterprise Edition (EE ou DXP) : version payante, incluant les services de support et de mise à jour ainsi que quelques modules supplémentaires comme le connecteur SAML par exemple. Cette version permet d'obtenir des patchs (tous les 2 mois environ) et/ou hotfix (en cas de bug avéré et sur demande) pour une durée d'environ 6 ans, de façon à toujours avoir une version à jour et sécurisée de la version utilisée. Par exemple, la version 7.0 parue il y a quelques années propose déjà son 100e patch qui permet de maintenir une version sécurisée et/ou corrigée sans besoin de partir sur une migration plus lourde avec l'utilisation du "patching tool" fournit par Liferay.

Évolutions[modifier | modifier le code]

Liferay 6.1[modifier | modifier le code]

La version de Liferay 6.1 est sortie en version entreprise début 2012. Elle a notamment simplifié la gestion des communautés et enrichi la gestion de contenu. La gestion documentaire a été refondue et vient à présent avec un client à la « Dropbox » : Liferay Sync qui permet de synchroniser les documents distants avec un dossier local ou sur un mobile.

Une marketplace se voulant être un « App Store » pour les extensions Liferay a été introduite en .

Liferay 6.2[modifier | modifier le code]

La version 6.2 est sortie en . Elle vise à faciliter la gestion des documents, rendre plus robuste la plateforme et fournir plus d’outils pour les versions mobiles.

Liferay 7.0[modifier | modifier le code]

La version 7.0 est sortie en . Elle se veut plus modulaire en s'appuyant sur le standard de composants OSGi ; elle améliore aussi, entre autres, la gestion des formulaires ainsi que le rendu sur terminaux mobiles [11].

Liferay 7.1[modifier | modifier le code]

La version 7.1 est sortie en . Elle apporte plus de souplesse dans la création de pages et de formulaires dynamiques personnalisés, et un développement mobile et multi-plateformes amélioré.

Liferay 7.2[modifier | modifier le code]

La version 7.2 sortie en juin 2019 apporte une interface agréable et permet la publication et la gestion de contenu à des utilisateurs qui n’ont aucune compétence en développement.

Liferay 7.3[modifier | modifier le code]

la version 7.3 sortie en octobre 2020 a mis un accent très fort sur l'expérience utilisateur avec la promesse d'offrir à "chaque utilisateur une expérience personnalisée". Liferay DXP offre désormais sur la même plateforme la possibilité de créer des sites dynamiques complet et rapidement.

Notamment avec les publications, permettant de créer/modifier un site et de publier ces modifications en une seule fois en live ou à une date précise. Mais aussi via le partage d'asset librairies entre sites permettant le partage sans notion de hiérarchie.

Cette version améliore aussi le HeadLess, la gestion des erreurs 404, le low-code, l'OpenAPI, la gestion des fragments, des providers, Open Graph et le Liferay Commerce (qui passe en version 3.0), ainsi que de nombreux autres composants et technologies...

Liferay 7.4[modifier | modifier le code]

La version 7.4 sortie en Avril 2021 en version communautaire est une première ébauche de la version DXP sortie le 3 novembre 2021[12].

La version GA1 est le socle de la version 7.4 et apporte des améliorations sur le Liferay Forms, les pages de contenus et sur le Liferay Commerce.

La version GA2 est sortie le 15 juin 2021, elle améliore la version de base en ajoutant des fonctionnalités mineures, c'est la seconde version avant la version officielle prévue pour la fin d'année 2021 [13].

La version GA3 est sortie le 4 août 2021, elle améliore la partie Commerce, le SEO avec l'intégration d'une interface avec PageSpeed, la traduction automatique, une meilleure configuration de SAML, l'intégration avec DocuSign et différents LiveChat... pour plus d'informations, voir la référence suivante [14].

La version GA4 est sortie le 4 novembre 2021, elle améliore la partie commerce, introduit la notion de "object", améliore les Liferay Forms, les workflows et la gestion des images et collections... pour plus d'informations, voir la référence suivante [15].

La version entreprise (dit DXP) est sortie le 3 novembre 2021 elle est l'équivalent de la version GA4 avec quelques fonctionnalités supplémentaires comme pour les autres versions entreprises. Elle ajoute de nombreuses fonctionnalités dont la refonte des fonctionnalités de No-code/Low-code avec la nouvelle notion de "object" qui remplace la première ébauche No-code/Low-code de la version 7.3. La liste exhaustive des nouvelles fonctionnalités est disponible ici: [4]

Cette version DXP fait suite à une saga de 4 releases qui devrait continuer jusqu'à la fin de l'année en attendant la future première release de la prochaine version 7.5 (Explication de la notion de Rolling release [16]).

La version 7.4 DXP (tout comme le sont encore les versions 7.x) devrait quant à elle être supportée durant plusieurs années via de nouveaux FixPack tous les 2 à 3 mois durant 5 à 6 ans.

Suite à la faille log4j v2 impactant uniquement la version 7.4, une nouvelle version GA5 devrait voir le jour dans les prochains jours. En attendant voir le lien suivant : [5]

La version 7.4 GA5 est finalement sortie le 31/12/2021, elle apporte quelques fonctionnalités dont les plus importantes sont détaillées dans le blog suivant : [6]. Depuis la version 7.4 GA6, une version sort toutes les semaines afin d'accélérer la stabilisation de la version 7.4 tout en y apportant quelques nouveautés.

La stratégie de Liferay semble avoir sensiblement évoluée et la version 7.4 devrait être maintenue plus longtemps de façon modulaire afin de stabiliser cette version le plus longtemps possible en proposant des correctifs réguliers et/ou des évolutions activables ou non. La prochaine version 7.5 ou 8.0 n'est donc pas planifiée pour le moment et verra le jour si elle est vraiment incontournable. Le but étant de simplifier les montées de version qui peuvent être coûteuses et chronophages.

Chaque nouvelle version CE est aussi disponible en version DXP (version plus complète et payante) mais seule la version DXP sera supportée pendant plusieurs années.

Notes et références[modifier | modifier le code]