Maîtriser la génération de thumbnails sur Liferay 7CE et DXP

par

Maîtriser la génération de thumbnails avec Liferay DXPLe Thumbnail Generator vise à améliorer la génération de thumbnails, proposée par Liferay.

Ce plugin a été créé au cours d’un projet nécessitant la présence d’un très grand nombre de thumbnails de dimensions précises, afin d’optimiser au maximum les temps de chargement des pages Web. En effet, Liferay offre seulement  deux thumbnails lors du chargement d’une image sur la plateforme. Le Thumbnail Generator permet donc d’avoir un contrôle total sur le nombre de thumbnails créés, mais aussi sur la façon dont ils sont créés.

Après avoir brièvement décrit les principaux composants de ce plugin, j’expliquerai comment le configurer pour maîtriser complètement la génération de thumbnails avec Liferay.

I. Description des composants du plugin

Les Listeners

Le Thumbnail Generator utilise deux Model Listeners permettant de repérer les événements de création, de modification et de suppression de documents dans l’application Liferay. Un document peut correspondre à n’importe quel type de fichier (texte, image, vidéo, pdf…), nous verrons plus tard comment configurer le plugin pour qu’il traite uniquement les documents nous intéressant.

Le premier Listener repère la création et la modification d’un document, puis crée ou met à jour les thumbnails du document.
Le deuxième repère la suppression d’un document et supprime dans la foulée les thumbnails qui lui sont associés.

Le Servlet Filter

Le Servlet Filter intercepte toutes les requêtes faisant appel à un document de l’application et effectue une série de vérification avant de renvoyer un thumbnail en réponse.

Il va tout d’abord analyser les paramètres de la requête afin de savoir si un thumbnail est demandé. Le filtre va ensuite vérifier que le thumbnail existe bel et bien, pour finalement le retourner à l’auteur de la requête. Si l’une de ces vérifications échoue, la requête sera ignorée par le filtre et elle suivra son cours normal, retournant le document original demandé.

Le ThumbnailService

Enfin, le ThumbnailService s’occupe de la création/suppression des thumbnails et de leur organisation dans le système de stockage de Liferay, en utilisant les paramètres de la configuration du plugin.

II. Utilisation du plugin

L’utilisation du Thumbnail Generator se résume à la configuration du plugin et à la récupération des thumbnails.

Configuration

La page de configuration du Thumbnail Generator (Menu => Control Panel => Configuration => System Settings => Thumbnail Configuration) permet de définir deux options :

  • Le format des fichiers qui seront traités par le plugin : par exemple, pour restreindre la création de thumbnails pour les fichiers de type JPG et PNG, il suffit d’ajouter ces formats dans la configuration et tous les autres fichiers ne seront pas pris en compte par le plugin.
  • Les lignes de commande permettant de créer les thumbnails : pour définir un thumbnail à générer, il faut ajouter une ligne dans la configuration avec la syntaxe suivante : ‘nom:commande. Le nom permettra par la suite d’accéder à ce thumbnail, la commande correspond à la ligne de commande qui générera le thumbnail (voir la documentation ImageMagick pour explorer toutes les options possibles).
    Par exemple : ‘img_480:convert ${inputFile} -resize 480×270 ${outputFile}‘ permet de générer un thumbnail de dimension 480×270 et qui sera récupérable grâce à son nom « img_480 ».

 page de configuration du Thumbnail Generator

Dans la capture d’écran ci-dessus, trois thumbnails différents seront créés pour chaque fichiers .jpg et .png chargés dans l’application Liferay.

La configuration du plugin permet de contrôler le nombre de thumbnail à générer, mais aussi la façon dont ils sont créés. La commande convert provient de la très puissante librairie de retouche d’image ImageMagick.
À la place de cette commande, on aurait pu utiliser toute autre commande exécutable sur la machine hebergeant l’application.

Récupération des thumbnails

Une fois  que le module est déployé et configuré, il est prêt à l’utilisation. Des thumbnails seront générés automatiquement lors de l’upload de documents dans l’application.
Pour récupérer un thumbnail d’un document, il suffit d’ajouter le paramètre « thumb={nomDuThumbnail} » dans l’url faisant appel à ce document.

Exemple
L’URL  d’un document (test.jpg) sur une instance Liferay en local ressemble à ceci : http://localhost:8080/documents/20147/0/test.jpg/0d72d709-3e48-24b3-3fe6-e39a3c528725?version=1.0&t=1494431839298&imagePreview=1
L’URL d’un thumbnail associé à ce document, dont le nom est img_480, pourra être appelé de la façon suivante : http://localhost:8080/documents/20147/0/test.jpg/0d72d709-3e48-24b3-3fe6-e39a3c528725?version=1.0&t=1494431839298&imagePreview=1&thumb=img_480

III. Administration

Afin de donner plus de contrôle à l’utilisateur dans la gestion de ce module, une page d’administration (votre site > Configuration >  Thumbnails administration) a été créée permettant d’effectuer quelques actions sur les thumbnails :

  • Re-générer tous les thumbnails.
  • Effacer tous les thumbnails.
  • Effacer les thumbnails orphelins (qui ne sont plus liés à aucun documents mais qui sont toujours présents à cause d’un changement de la configuration).

Administration du Thumbnail Generator

En conclusion, ce bref tutoriel vous a présenté le plugin Liferay appelé Thumbnail Generator et décrit comment utiliser, configurer, récupérer les vignettes et administrer le plugin. Téléchargez, essayez et faites nous part de vos commentaires !

La sortie de la version stable de Ring 1.0 Liberté, Égalité, Fraternité


21 Juillet 2017 –
Savoir-faire Linux annonce la sortie de la version stable de Ring 1.0 – Liberté, Égalité, Fraternité. Ring est une plateforme de communication libre et universelle, respectant les libertés et la vie privée des utilisateurs. Ring, un paquet GNU officiel depuis octobre 2016, est disponible sur plusieurs plateformes et peut être utilisé pour envoyer des messages texte et faire des appels audio/vidéo de façon confidentielle, sécurisée et fiable.

À propos de Ring

Ring est un système entièrement distribué, basé sur les technologies OpenDHT et Ethereum Blockchain. Il ne dépend pas de serveur ou d’infrastructure centralisée pour fonctionner. De ce fait, aucune base de données centralisée des utilisateurs n’est requise et les données personnelles des utilisateurs ne sont stockées sur aucun serveur.

En outre, Ring repose sur des protocoles sécurisés standards de chiffrement de bout en bout, prévenant le décryptage des communications sur le réseau. Il offre par conséquent un haut niveau de sécurité et de confidentialité.

Fonctionnalités et caractéristiques principales

> Communication Audio/Vidéo HD et Clavardage chiffrée (ICE, SIP, TLS)
> Capacité d’associer plusieurs périphériques à un même compte Ring
> Partage d’écran et support des conférences (Win32, GNU/Linux)
> Support de la blockchain Ethereum comme annuaire public et distribué
> Plateforme distribuée de communication (OpenDHT)
> Support des systèmes GNU/Linux, Windows UWP (Windows 10 et Surface),    Win32 (Windows 7, 8 et 8.1), macOS (10.10+) et Android (4.0+)
> Publié sous license GPLv3+
> Certaines parties de Ring préfigurent un protocole d’Internet
des Objets

Ring: Une innovation sociale impactante et inspirante

Ring est basé sur des technologies de pointe (Ethereum, OpenDHT) et repose sur des principes éthiques strictes qui, ensemble, permettent d’offrir aux utilisateurs un haut niveau de confidentialité, de vie privée et de sécurité. De plus, la connectivité stable et ses fonctionnalités standards employées de façon innovante sur l’ensemble des plateformes, font de Ring une alternative adaptée à tout besoin de communication.

Liens importants
> Télécharger Ring
> Comment contribuer au projet Ring?
> Documentation technique

Devenez un contributeur de WordPress !

Passionné du Web et du mouvement Libre, vous cherchez à apporter votre pierre à l’édifice WordPress ? Ce tutoriel est pour vous ! Les équipes de Savoir-faire Linux ont contribué au cœur de l’application et souhaite à son tour vous initier au développement de la plateforme de publication en ligne la plus populaire au monde.

Avant de commencer, sachez que la plupart des documents liés à cet article ne sont disponibles qu’en anglais malheureusement.

S’abonner
Première étape : Abonnez-vous  aux différentes plateformes utilisées par les contributeurs.

WordPress
Bien sûr, une incontournable, WordPress.org qui sert, entre autres, à documenter les procédures et à publier les informations liées au développement. Ce sera votre référence principale. Abonnez-vous et connectez-vous.

Une fois connecté, nous vous invitons à consulter la section dédiée au développement et à prendre connaissance des différentes équipes et de leur mission. C’est aussi l’occasion de vous abonner aux différents bulletins d’informations si vous souhaitez suivre de près un développement en particulier (marketing, modules, thèmes, documentations, etc.)

Slack
Les contributeurs discutent via la plateforme de communication collaborative Slack. Ils y tiennent leurs réunions, y diffusent les informations en primeur et vous aident à atteindre vos objectifs de contribution. Sur Slack, vous trouverez tous les développeurs influents de la communauté WordPress, c’est l’ endroit idéal pour leur poser vos questions !

Prenez soin de bien lire la documentation d’abonnement. La procédure peut parfois semer la confusion. Si vous rencontrez des difficultés, connectez-vous à votre compte WordPress.org, visitez la page d’abonnement et de nouvelles instructions apparaîtront.

Vous pourrez ensuite vous connecter à https://wordpress.slack.com/.

Trac
Dernière étape avant de contribuer ! Découvrez le gestionnaire de billet Trac. Chaque modification à WordPress y est documentée. Les développeurs principaux l’utilisent pour approuver et intégrer les modifications au cœur. Afin de garantir un développement efficace, précis et coordonné, son utilisation est obligatoire.

Développer: Les bonnes pratiques
C’est ici que le plaisir débute ! Avant de rédiger du code, vous devrez intégrer les bonnes pratiques et les standards de développement. Certains documents vous seront plus utiles que d’autres. Nous vous suggérons de vous concentrer sur ces sections : Core Contributor Handbook, Best Practices et Writing Patches.

Pour les développeurs PHP, ces documents sont les plus pertinents : PHP Coding Standards et Core APIs.

L’environnement
La majorité des développeurs utilisent Varying Vagrant Vagrants (VVV), qui fonctionne sous tous les systèmes d’exploitation. L’outil est spécifiquement paramétré pour le développement de l’application, incluant la création de thèmes et de modules.

L’installation peut être complexe, surtout si vous installez les modules optionnels de Vagrant. Sous Linux, assurez-vous d’avoir les librairies « build-essential » et « libc6-dev » avant de débuter.

Bien sûr, vous pouvez travailler avec d’autres outils que VVV. Si c’est le cas, n’oubliez pas de rapporter vos développements sur le dépôt de code du cœur de WordPress pour suivre les tests et les avancements de vos contributions !

Voici un exemple d'installation d'un environnement de développement utilisant VagrantPress et Git déployé avec Ubuntu.

git clone https://github.com/vagrantpress/vagrantpress.git
cd vagrantpress
vagrant up
rm -fr tests
git clone git://develop.git.wordpress.org/ tests
vagrant provision

SVN et Git
Vous avez sûrement remarqué que le dépôt de code utilise SVN. Si vous désirez contribuer au cœur, nous vous recommandons vivement son usage. Mais pas d’obligation, il est aussi possible de passer par Git.

Vous trouverez les documents dont vous aurez besoin pour utiliser ces deux systèmes de gestion de versions dans les librairies suivantes : How to Use Subversion for developers, plugin, codex  pour SVN et Using Git pour le second.

CSS et Javascript
WordPress compresse certaines ressources. Pour vous permettre de travailler, vous devrez désactiver cette fonction dans le   » wp-config.php « . Ajoutez-y  » define(‘SCRIPT_DEBUG’, true); « .

Validateur de code
Les standards de code WordPress sont fort probablement différents de ceux auxquels vous êtes habitué. Un vérificateur de format de code peut apporter une grande aide. Utilisez PHP_CodeSniffer avec le fichier de paramétrage de normes WordPress.

Vous pouvez aussi lire les guides de style WordPress pour connaître les instructions d’installation détaillées.

Contribuer en effectuant des tests
Saviez-vous que vous n’êtes pas obligé d’être développeur aguerri pour contribuer à WordPress ?

Par exemple, effectuer des tests est une bonne manière de participer au développement tout en apprenant. Trac liste les corrections à tester. Si vous débutez, travaillez d’abord sur des corrections non urgentes.

Réaliser de grands rêves avec de petits pas de bébé

Oui, contribuer demande un premier grand investissement : Lire, paramétrer, configurer, télécharger…  Mais une fois cette étape passée et quelques premières interventions, vous serez officiellement un contributeur de logiciel libre ! Maintenant, profitez de cette opportunité pour faire vos premiers pas de bébé, et de réaliser votre grand rêve… de devenir un développeur de logiciel libre!

Savoir-faire Linux reçoit l’attestation de performance au programme ICI ON RECYCLE!

Montréal, le 27 juin 2017 – Savoir-faire Linux s’est vu décerner la plus haute distinction au programme ICI ON RECYCLE!, soit l’Attestation de performance de niveau 3. Il s’agit d’une reconnaissance officielle du gouvernement du Québec, instaurée par RECYC-QUÉBEC afin de souligner les efforts remarquables des industries, des commerces et des institutions (ICI) qui ont implanté, dans leur établissement, des mesures permettant la gestion responsable de leurs matières résiduelles.

L’Attestation de performance ICI ON RECYCLE! de niveau 3 est remise aux organisations qui atteignent des standards élevés conformément aux objectifs de la Politique québécoise de gestion des matières résiduelles 1998-2008. Rappelons que le programme ICI ON RECYCLE! comporte trois niveaux de reconnaissance : le Niveau 1 – Engagement, le Niveau 2 – Mise en œuvre et le Niveau 3 – Performance. Ce dernier, obtenu par Savoir-faire Linux, vise à reconnaître les efforts des établissements qui atteignent un taux élevé de mise en valeur de leurs matières résiduelles, en plus d’avoir réalisé des activités d’information et de sensibilisation auprès de leurs employés et d’avoir mis en place des mesures de réduction à la source et de réemploi.

Tête première dans les poubelles

Cette reconnaissance fait directement suite à l’activité de caractérisation Tête première dans les poubelles, organisée plus tôt dans l’année par le Comité environnemental de l’entreprise et ses employés bénévoles.

L’activité avait permis de démontrer que les taux de mise en valeur obtenus pour chaque type de matières caractérisées entraînaient une performance globale de 71,6%, un résultat honorable qui soulignait toutefois quelques points à améliorer, notamment sur la revalorisation des déchets et des matières putrescibles.

Un engagement inscrit dans l’ADN de Savoir-faire Linux

Pour Savoir-faire Linux, l’obtention de cette distinction est un élément de fierté confirmant son engagement en faveur de la protection de l’environnement. Savoir-faire Linux s’investit depuis 2011 dans une démarche de développement durable qui s’inscrit parfaitement dans son ADN. Elle promeut des pratiques responsables, à travers une politique environnementale qui vise à internaliser les problématiques environnementales dans sa conception/production, économiser au maximum les ressources naturelles et minimiser ses impacts sur les écosystèmes. Par ailleurs, l’entreprise, qui développe et implante des logiciels libres, mise depuis sa création sur la coopération et la mutualisation des connaissances pour favoriser, dans une économie digitale en plein boum, un partage et une réutilisation des biens. Une fibre écoresponsable qui fait donc directement écho à sa mission et à sa vision d’un avenir durable et solidaire.

Notre expertise et la puissance des technologies open source dans Azure

Logos Microsoft + Savoir-faire Linux  

 

 

 

Nous sommes heureux de vous annoncer la sortie d’une vidéo promotionnelle produite par Microsoft eux-même ! Fruit d’une collaboration autour de la plateforme Azure, cette vidéo souligne la pertinence et l’essor des technologies open source dans l’environnement infonuagique Azure de Microsoft ainsi que notre capacité d’innovation en combinant technologies open source et solutions infonuagiques hybrides.

Premier  «partenaire Microsoft Open Source» au Canada

Savoir-faire Linux est, depuis 2015, le premier  «partenaire Microsoft Open Source» au Canada. Ce partenariat rappelle notre force : la conception et l’intégration de technologies libres et open source dans des écosystèmes complexes ou hybrides, comme la plateforme Azure. Nous aidons nos clients grâce à l’innovation des technologies ouvertes et à des alliances stratégiques pour maximiser la puissance des systèmes d’information complexes ou hétérogènes et créer des environnements spécifiques pour nos clients.

Pour Microsoft, l’open source fait désormais partie intégrante de l’approche quotidienne de l’innovation cloud. En tant qu’expert et chef de file de l’industrie du logiciel libre et  des technologies open source au Canada, Savoir-faire Linux se devait d’offrir des moyens d’améliorer l’expérience des utilisateurs et des développeurs en ajoutant à son éventail de solutions, la plateforme Azure, désormais compatible avec de nombreuses technologies open source.