Agrégateur de contenus
Optimisation Web avec Liferay, une étude de cas avec l'Ordre des Psychologues du Québec
Rédigé par Alix Boc le 11 déc. 2023
Le choix d'une plateforme de gestion de contenu (CMS) adaptée est crucial pour le développement d'un site Web efficace et performant. Dans cet article, nous explorerons le système Liferay en utilisant le site Web de l'Ordre des Psychologues du Québec comme exemple. Ce projet est le fruit d’un partenariat entre CODE3 Coopérative de solidarité et l’Ordre des Psychologues du Québec (OPQ) depuis 2015. Liferay, reconnu pour sa polyvalence et sa robustesse, a été judicieusement sélectionné pour optimiser et améliorer l'expérience en ligne de l’Ordre.
Liferay en bref
Liferay est une plateforme de développement d'applications web open source qui permet de créer des sites web, des portails d'entreprise, des intranets et des applications collaboratives. Liferay est développé en Java et fournit une gamme complète de fonctionnalités telles que la gestion de contenu (CMS), la collaboration, la gestion des utilisateurs, la gestion des documents, la personnalisation, l'intégration de systèmes, la sécurité, etc.
Liferay, une plateforme flexible, offre la personnalisation des fonctionnalités en fonction des besoins spécifiques. C’est un système compatible avec les standards de l'industrie et sa communauté active fournit un support et des mises à jour régulières.
Liferay a été adopté avec succès par de nombreuses organisations à travers le monde, ce qui démontre sa fiabilité et son efficacité en tant que plateforme de développement d'applications web et de portails d’entreprise.
Pour créer un site Liferay, il est important de considérer trois éléments clés: les thèmes1, les layouts2 et les portlets3.
Le thème est une application déployables à chaud qui permettent de définir l’allure générale du site Web.
Les layouts définissent comment les portlets (widgets) sont disposés sur une page. Ce sont des conteneurs basés sur de l’HTML, du CSS.
Les portlets ou widgets sont des applications web qui s’exécutent dans un portail. Liferay est livré avec un important catalogue de portlets, mais il est possible d’en créer pour plus de personnalisation.
L'Ordre des psychologues du Québec, un cas d’utilisation exemplaire
L'Ordre des psychologues du Québec a opté pour Liferay pour construire et maintenir son site Web. Le site offre de l’information pour les membres, les candidats et le public. Plusieurs applications sur mesure ont été développées afin de remplir toutes les obligations de l’Ordre.
Cette décision stratégique s'est avérée être un choix judicieux, offrant une structure robuste pour gérer divers types de contenus, des fonctionnalités avancées de sécurité, et une personnalisation adaptée aux besoins spécifiques de l'organisation.
La première version du site Web a été mise en place en 2016 avec la version 6.2 de Liferay. Aujourd’hui, nous utilisons la toute dernière version (7.4). Ces mises à jour ont nécessité des étapes importantes de migration de données, nous permettant d’apprécier les efforts faits pour améliorer la plateforme et la rendre mature.
Points forts de l’implémentation Liferay
- Gestion centralisée du contenu : Liferay permet à l'Ordre des psychologues du Québec de gérer efficacement une variété de contenus, des documents officiels à des ressources éducatives, le tout centralisé au sein d'une plateforme conviviale.
- Personnalisation de l’expérience utilisateur : L'architecture flexible de Liferay permet à l'Ordre de personnaliser l'expérience utilisateur en fonction des profils, offrant ainsi un contenu pertinent et des fonctionnalités spécifiques aux différents groupes d'utilisateurs.
- Sécurité et confidentialité : La sécurité des informations est une priorité pour l'Ordre des Psychologues du Québec. Liferay offre des fonctionnalités avancées de sécurité, assurant la confidentialité des données sensibles et le respect des normes réglementaires.
Applications clés développées avec Liferay
La plateforme nous a permis de développer des applications personnalisées pour répondre à des besoins précis de l’Ordre. Ces applications (widgets) sont développées en Java. Ci-dessous, nous présentons quelques exemples :
Le catalogue d’activités
Cette application liste les activités reconnues pour la formation continue des membres de l’Ordre. Un formulaire de recherche permet d’affiner la recherche. Ce catalogue gère en moyenne un peu moins de 800 activités qui sont sauvegardées sur un système externe et mis en cache dans Liferay.
Le service de référence
Le service de référence permet à un utilisateur de trouver un.e psychologue ou un.e psychothérapeute en fonction d’un certain nombre de critères comme le type de clientèles, la localisation, la langue parlée, etc. l’Utilisateur peut également et surtout, saisir un ou deux mots clé décrivant son besoin de consultation (ex: dépression, cancer, suicide, etc..). Une recherche géographique est faite à partir de la localisation fournie et les résultats sont affichées aléatoirement par tranche de 1km. Un affichage sur une carte GoogleMap est également offert. Les données se trouvant sur un système externe, accessible via un API, un système de cache a été mise en place dans Liferay pour limiter le nombre de requêtes.
L’annuaire des professionnels
Cette application permet à un utilisateur de vérifier le droit d’exercer d’un professionnel. Une recherche par nom permet d’afficher tous les membres de l’Ordre et psychothérapeutes ayant de droit de pratiquer la psychothérapie. Une fiche de détails est disponible si le professionnel est inscrit au service de référence.
La zone de clients
Cette application permet aux clients de publier, sur le site de l’Ordre, des petites annonces et des offres d’emploi. Cette application inclus un service de paiement personnalisé utilisant la plateforme Moneris et la possibilité d’une importation des données vers le système comptable de l’Ordre. Notons que nous avons mis en place une application de création de compte et d’authentification personnalisée.
Le centre de documentation
Basé sur le moteur d’indexation ElasticSearch4 inclus dans Liferay, le centre de documentation offre aux utilisateurs un accès au différents documents publics de l’Ordre. Un formulaire permet d’effectuer une recherche par type et catégorie de documents en plus de la recherche libre.
Magazine : Psychologie Québec
L’Ordre publie le magazine Psychologie Québec et propose sur son site Web une version en ligne. Pour cette section, nous n’avons pas développé d’application. Les différents widgets fournis par Liferay nous ont permis de configurer les différentes parties de cette section du site. Par exemple, chaque colonne du méga-menu est en fait un agrégateur de contenus qui est automatiquement configuré lors de la génération du menu dans le thème du site. Suivant la même idée, nous avons créé un carrousel pour présenter les livres des membres.
Mises à jour et migrations de données
Pour ce projet, nous avons entrepris deux mises à jour cruciales, marquant une évolution significative du système Liferay.
2016 - Mise en production initiale
Le site Web a été mise en ligne en 2016, avec la version 6.2 de Liferay. Aucune migration n’a été effectué.
2020 - Migration de la version 6.2 à la version 7.2
Le passage de Liferay de la version 6.2 à la version 7.0 représentait une mise à jour majeure, nécessitant une réflexion approfondie de la part de l'équipe CODE3 avant d'apporter des changements substantiels pour l'Ordre des psychologues du Québec. À la version 7.0, d'importants changements structurels ont été opérés dans la plateforme, suscitant une approche prudente de la part de CODE3. Ce n'est qu'à la version 7.2, après de nombreuses expérimentations et une période d'observation, que nous avons décidé de procéder à la migration. Cette mise à jour a exigé un travail considérable pour assurer la transition fluide des données vers la nouvelle version.
2022 - Migration de la version 7.2 à la version 7.4
La mise à jour suivante, passant de la version 7.2 à la version 7.4, a été notablement plus aisée à réaliser. Malgré les nombreux changements introduits, la procédure à suivre était claire, et les ajustements dans les applications ont été relativement simples à effectuer. Cette transition, bien que nécessitant une attention méticuleuse, s'est déroulée de manière plus fluide, témoignant de l'efficacité de CODE3 dans la gestion des évolutions de la plateforme.
2023 - Refonte visuelle
En 2022, l’Ordre a lancé le projet de refonte visuelle du site web. Le design a été produit par l’agence Les Évadés et intégré par CODE3. Lorsqu’on change le visuel, l'élément de Liferay le plus impacté est le thème.
Réalisées dans le cadre de ces mises à jour, la migration des données et les ajustements dans le code constituent des étapes cruciales dans la vie du système. Il est important de souligner que repousser une mise à jour peut rendre le processus plus complexe, risqué, et finalement plus coûteux. Une approche proactive envers les mises à jour garantit la pérennité et la performance optimale de la plateforme, tout en minimisant les risques associés à des versions obsolètes.
Défis rencontrés
Bien que Liferay représente une solution robuste, chacune de ses mises en œuvre présente des défis spécifiques. Comprendre profondément Liferay constitue une étape cruciale. Une maîtrise approfondie des outils intégrés à la plateforme peut considérablement réduire la complexité du développement.
Par exemple, la possibilité d'accéder directement aux objets Java dans le backend de Liferay offre une flexibilité exceptionnelle. Cela permet d'intégrer ces objets dans divers gabarits pour répondre de manière efficace aux exigences spécifiques du projet.
En outre, Liferay se distingue par sa nature hautement personnalisable. Bien que cette caractéristique offre une liberté totale, y compris la modification du cœur même de la plateforme, elle nécessite une réflexion approfondie. La satisfaction immédiate du client peut être atteinte, mais des défis peuvent surgir lors des mises à jour futures, incitant à reconsidérer certaines parties du système.
Enfin, l'évolution constante de Liferay au fil des années en fait un système mature et robuste. Bien que les modifications apportées aient renforcé la stabilité et ajouté de nouvelles fonctionnalités, elles peuvent également entraîner des ajustements visuels, des reconfigurations nécessaires, voire des modifications de code, notamment lorsque les objets Java changent de position.
Il convient de souligner que Liferay propose des outils performants pour faciliter la transition entre les versions. Par exemple, la possibilité d'effectuer une mise à jour de la base de données directement en démarrant l'application constitue un atout majeur dans certains contextes.
Conclusion
L'histoire de l'Ordre des psychologues du Québec avec Liferay est un exemple éloquent de la manière dont un CMS bien choisi peut transformer la manière dont une organisation gère son contenu en ligne. Liferay offre une plateforme solide et adaptable qui répond aux besoins complexes des organisations professionnelles. Si vous envisagez une refonte de votre site Web ou une mise à niveau de votre CMS, la solution Liferay se positionne comme une option remarquable à prendre en considération.
1. Thème : Un thème Liferay est l’apparence générale d’un site. Il est composé de CSS, JavaScript, HTML et de modèles FreeMarker. Les thèmes sont construits sur l’un des deux thèmes de base suivants: non stylé et stylé. Le thème non stylé fournit une mise en page de base, des fonctions et des images, tandis que le thème stylé hérite du thème non stylé et ajoute des styles supplémentaires. Vous pouvez créer votre propre thème personnalisé en utilisant les outils fournis par Liferay, tels que le Liferay Theme Generator, Gradle Plugin, Developer Studio, Blade CLI et Theme Template. Si vous souhaitez apporter des modifications mineures à l’apparence générale, vous pouvez créer un Themelet, qui est un morceau de code modulaire, personnalisable, réutilisable et partageable qui étend un thème
2. Layout : Un layout est un modèle qui spécifie comment le contenu est disposé sur les pages de votre site. Il définit la structure d’une page et la façon dont les portlets y sont disposés. Un layout peut être créé manuellement ou à l’aide du générateur de thèmes Liferay, qui fournit un sous-générateur Layouts qui aide à automatiser la création de modèles de layout. Le sous-générateur Layouts fournit plusieurs options pour les modèles de layout, telles que l’ajout d’une rangée, l’insertion d’une rangée ou la suppression d’une rangée.
3. Portlet (widget) : Un portlet Liferay est une application web qui s’exécute dans un portail, c’est-à-dire une partie d’une page web qui peut contenir plusieurs portlets. Les portlets Liferay sont basés sur la spécification Java Portlet, qui définit le comportement et les fonctionnalités des portlets. Les portlets Liferay peuvent être placés sur des pages par les utilisateurs ou les administrateurs du portail, et ils ont des modes et des états de fenêtre distincts. Les portlets Liferay peuvent également communiquer entre eux grâce à la communication inter-portlet (IPC). Les portlets Liferay sont conçus pour être flexibles, modulaires et réutilisables. Ils peuvent être créés à l’aide de différents outils, tels que le SDK des plugins, le terminal ou le générateur de sous-génère Layouts
4. Elasticsearch : Elasticsearch est un moteur de recherche et d’analyse de données open source distribué, basé sur Apache Lucene et développé en Java. Il permet de stocker, rechercher et analyser de larges volumes de données rapidement et presque en temps réel 1. Elasticsearch est le moteur de recherche par défaut utilisé par Liferay pour la recherche de texte intégral.