Version 4.4 stable
La date est à ne pas manquer tant elle se prête parfaitement à l’occasion, la version 4.4 de Jeedom sera mise à disposition en stable le 4 avril prochain. Cette nouvelle version apporte notamment des optimisations importantes au niveau de la rapidité de traitement et de navigation dans l’interface mais trêve de bavardage, voyons tout de suite les principales nouveautés de cette v4.4.
Core en pur javascript
Assurément l’évolution majeure de cette version, le core Jeedom a bénéficié d’une profonde restructuration. Sans vouloir entrer dans des détails trop techniques, le core, qui était historiquement basé sur la librairie jQuery et le framework Bootstrap, est dorénavant écrit en pur javascript et ne nécessite plus ni jQuery ni Bootstrap pour fonctionner. Leurs librairies annexes ont été remplacées par des fonctionnalités équivalentes en pur javascript dont certaines écrites sur-mesure spécialement pour Jeedom.
Bien entendu, ces outils fondamentaux restent tout de même disponibles et accessibles de la même manière qu’auparavant afin de garantir une compatibilité totale avec les plugins.
Ces modifications représentent le socle indispensable aux futures évolutions prévues pour Jeedom. Elles permettent une maitrise complète de l’ensemble des événements et des interactions avec le navigateur et offrent un gain de fluidité inégalable lors de la navigation entre les différentes pages.
Principales améliorations
Comme à l’accoutumée, l’intégralité des nouveautés apportées en V4.4 est consultable dans le journal des modifications, les plus notables étant à notre avis :
- Affichage des objets sur plusieurs colonnes : il est dorénavant possible d’afficher les objets du dashboard sur plusieurs colonnes selon la taille de l’écran (Réglages → Système → Configuration/Interface).
- Réorganisation des équipements : depuis la page de configuration des objets, il est possible de réorganiser les équipements sur le dashboard en fonction de leur utilisation (automatiquement ou non). Le poids des actions (humaines, automatiques, consultation d’historique) dans cette réorganisation est paramétrable (Réglages → Système → Configuration/Interface).
- Affichage/disparition automatique des équipements : Selon les pages, les équipements apparaissent ou disparaissent automatiquement lorsqu’ils changent de visibilité ou d’état d’activation/alerte.
- Equipements en disposition tableau : il est désormais possible d’insérer des attributs HTML dans la mise en forme détaillée des cellules. Dans le cas des attributs
colspan
etrowspan
il sera nécessaire de cacher les cellules adjacentes avecdisplay:none
, exemple :
- Template de widget des équipements : une nouvelle option permet de désactiver les templates de widget des équipements qui en utilisent pour revenir à l’affichage par défaut Jeedom (fenêtre de configuration de l’équipement).
- Widgets : au même titre que le core, les widgets ont été réécrits en pur javascript. Ils prennent maintenant tous en charge le paramètre optionnel
time
pour afficher la durée ou la date de la valeur. - Nouveau widget : un nouveau widget info/string color est disponible.
- Assistance de la communauté : un bouton Assistance fait son apparition sur la page de configuration des plugins. Il permet d’ouvrir automatiquement une demande d’aide spécifique au plugin concerné sur le forum Jeedom.
- Thème : Le thème Legacy a été supprimé avec bascule automatique sur le thème Light pour ceux qui l’utilisaient.
- Fenêtre de sélection d’image : Des boutons ainsi qu’un menu contextuel ont été ajoutés afin d’envoyer des images et de créer, renommer ou supprimer un dossier.
- Fenêtres : les fenêtres sont redimensionnables et peuvent maintenant être affichées en pleine page.
Nous aurions tout autant bien pu citer la vérification de la version minimale du core requise avant l’installation ou la mise à jour d’un plugin, la mise à jour automatique des dépendances PHP sous PHP8 ou même la gestion plus fine des périphériques USB par exemple mais préférons vous laisser le plaisir d’en prendre connaissance par vous-même.
Note aux développeurs
L’avenir, certes lointain, amènera inexorablement à la suppression de jQuery du core Jeedom. Les plugins devront donc évoluer à plus ou moins longue échéance mais, n’ayez crainte chers amis développeurs, Jeedom vous donne accès à bon nombre d’outils pour vous faciliter le travail.
La documentation à l’attention des développeurs a largement été détaillée afin de vous permettre de vous approprier facilement les nouveaux outils fournis par le core. Celle-ci se décompose en 2 grandes catégories :
- La documentation core v4.4 liste les fonctions dépréciées ou obsolètes et la manière pour les faire évoluer à l’aide des outils disponibles dans le core Jeedom.
- La documentation core js précise comment utiliser différentes fonctionnalités telles que les boites de dialogue, les appels ajax ou la gestion des événements javascript par exemple.
Un paramètre Core js (dev) peut-être coché dans la configuration générale afin de ne charger ni jQuery ni Bootstrap ni leurs librairies respectives, vous permettant ainsi de tester votre plugin dans des conditions réelles.
A vous de jouer
Comme vous pouvez le constater à l’énumération des évolutions ci-dessus dont la liste n’est pas exhaustive, l’équipe a abattu énormément de travail pour rendre Jeedom toujours plus personnalisable et agréable à utiliser (avec l’aide de la communauté, encore merci à vous!).
Nul doute que vous serez impressionnés par la vitesse de navigation dans l’interface et les performances qui en découlent sachant que ce n’est qu’un début. En effet, ces optimisations ont également un impact indéniable lorsqu’elles sont appliquées aux plugins.
Nous sommes heureux que le résultat de ces longs mois de travail soit enfin prochainement accessible à tous.
L’équipe Jeedom