From 3ea1f68293cdd35d6e0281aa50a5aafdb9915e38 Mon Sep 17 00:00:00 2001
From: Michel_F <80367602+MrWaloo@users.noreply.github.com>
Date: Fri, 22 Nov 2024 01:59:07 +0100
Subject: [PATCH 01/19] Corrections
---
fr_FR/core/4.5/interact.md | 51 ++++++------
fr_FR/core/4.5/jsonrpc_api.md | 145 ++++++++++++++++----------------
fr_FR/core/4.5/log.md | 6 +-
fr_FR/core/4.5/market.md | 59 +++++++------
fr_FR/core/4.5/massedit.md | 10 +--
fr_FR/core/4.5/message.md | 8 +-
fr_FR/core/4.5/modaldisplay.md | 2 +-
fr_FR/core/4.5/object.md | 22 ++---
fr_FR/core/4.5/overview.md | 20 ++---
fr_FR/core/4.5/plugin.md | 106 ++++++++++++------------
fr_FR/core/4.5/profils.md | 30 ++++---
fr_FR/core/4.5/replace.md | 84 +++++++------------
fr_FR/core/4.5/report.md | 16 ++--
fr_FR/core/4.5/scenario.md | 147 ++++++++++++++++-----------------
14 files changed, 339 insertions(+), 367 deletions(-)
diff --git a/fr_FR/core/4.5/interact.md b/fr_FR/core/4.5/interact.md
index 733a52501e1..bd9a71666df 100644
--- a/fr_FR/core/4.5/interact.md
+++ b/fr_FR/core/4.5/interact.md
@@ -1,7 +1,7 @@
# Interactions
**Outils → Interactions**
-Le système d’interactions dans Jeedom permet de réaliser des actions à partir de commandes textes ou vocales.
+Dans Jeedom le système d’interactions permet de réaliser des actions à partir de commandes textes ou vocales.
Ces commandes peuvent être obtenues par :
@@ -16,15 +16,15 @@ L’intérêt des interactions réside dans l’intégration simplifiée dans d
>
> Vous pouvez ouvrir une interaction en faisant :
> - Clic sur l'une d'entre elle.
-> - Ctrl Clic ou Clic Centre pour l'ouvrir dans un nouvel onglet du navigateur.
+> - Ctrl+Clic ou Clic Centre pour l'ouvrir dans un nouvel onglet du navigateur.
Vous disposez d'un moteur de recherche permettant de filtrer l'affichage des interactions. La touche Echap annule la recherche.
A droite du champ de recherche, trois boutons que l'on retrouve à plusieurs endroits de Jeedom:
- La croix pour annuler la recherche.
-- Le dossier ouvert pour déplier tout les panneaux et afficher toutes les interactions.
-- Le dossier fermé pour replier tout les panneaux.
+- Le dossier ouvert pour déplier tous les panneaux et afficher toutes les interactions.
+- Le dossier fermé pour replier tous les panneaux.
-Une fois sur la configuration d'une interaction, vous disposez d'un menu contextuel au Clic Droit sur les onglets de l’interaction. Vous pouvez également utiliser un Ctrl Clic ou Clic Centre pour ouvrir directement une autre interaction dans un nouvel onglet du navigateur.
+Une fois sur la configuration d'une interaction, vous disposez d'un menu contextuel au Clic Droit sur les onglets de l’interaction. Vous pouvez également utiliser un Ctrl+Clic ou Clic Centre pour ouvrir directement une autre interaction dans un nouvel onglet du navigateur.
## Interactions
@@ -63,7 +63,7 @@ La page de configuration est constituée de plusieurs onglets et de boutons :
- **Demande** : La phrase modèle génératrice (obligatoire).
- **Synonyme** : Permet de définir des synonymes sur les noms des commandes.
- **Réponse** : La réponse à fournir.
-- **Attendre avant de répondre (s)** : Permet d'ajouter un délai de X secondes avant de générer la réponse. Ca permet par exemple d'attendre que le retour d'état d'une lampe se fasse avant de répondre.
+- **Attendre avant de répondre (s)** : Permet d'ajouter un délai de X secondes avant de générer la réponse. Ca permet par exemple d'attendre que le retour d'état d'une lampe soit actualisé avant de répondre.
- **Conversion binaire** : Permet de convertir les valeurs binaires en ouvert/fermé par exemple (uniquement pour les commandes de type info binaire).
- **Utilisateurs autorisés** : Limite l’interaction à certains utilisateurs (les logins séparés par des \|).
@@ -95,13 +95,13 @@ Dans l’exemple qui suit, on peut voir dans le champ "Demande" la phrase exacte

-On peut voir, sur cette capture, la configuration pour avoir une interaction liée à une action spécifique. Cette action est définie dans la partie "Action" de la page.
+Sur cette capture, on peut voir la configuration pour avoir une interaction liée à une action spécifique. Cette action est définie dans la partie "Action" de la page.
On peut très bien imaginer faire de même avec plusieurs actions pour allumer plusieurs lampes dans le salon comme l’exemple qui suit :

-Dans les 2 exemples ci-dessus, la phrase modèle est identique mais les actions qui en découlent changent en fonction de ce qui est configuré dans la partie "Action", on peut donc déjà avec une interaction simple à phrase unique imaginer des actions combinées entre diverses commandes et divers scénarios (on peut aussi déclencher des scénarios dans la partie action des interactions).
+Dans les 2 exemples ci-dessus, la phrase modèle est identique mais les actions qui en découlent changent en fonction de ce qui est configuré dans la partie "Action". Avec une interaction simple à phrase unique, on peut donc déjà imaginer des actions combinées entre diverses commandes et divers scénarios (on peut aussi déclencher des scénarios dans la partie action des interactions).
> **Conseil**
>
@@ -109,9 +109,9 @@ Dans les 2 exemples ci-dessus, la phrase modèle est identique mais les actions
#### Interaction multiple commandes
-Nous allons ici voir tout l’intérêt et toute la puissance des interactions, avec une phrase modèle nous allons pouvoir générer des phrases pour tout un groupe de commandes.
+Ici, nous allons voir tout l’intérêt et toute la puissance des interactions. Avec une phrase modèle nous allons pouvoir générer des phrases pour tout un groupe de commandes.
-On va reprendre ce qui a été fait plus haut, supprimer les actions que l’on avait ajoutées, et à la place de la phrase fixe, dans "Demande", nous allons utiliser les tags **\#commande\#** et **\#equipement\#**. Jeedom va donc remplacer ces tags par le nom des commandes et le nom de l’équipement (on peut voir l’importance d’avoir des noms de commande/équipement cohérents).
+On va reprendre ce qui a été fait plus haut, supprimer les actions que l’on avait ajoutées et, à la place de la phrase fixe, dans "Demande", nous allons utiliser les tags **\#commande\#** et **\#equipement\#**. Jeedom va donc remplacer ces tags par le nom des commandes et le nom de l’équipement (on peut voir l’importance d’avoir des noms de commande/équipement cohérents).

@@ -127,13 +127,13 @@ Dans les synonymes, on va donc indiquer le nom de la commande et le(s) synonyme(

-On peut voir ici une syntaxe un peu nouvelle pour les synonymes. Un nom de commande peut avoir plusieurs synonymes, ici "on" a comme synonyme "allume" et "allumer". La syntaxe est donc "*nom de la commande*" ***=*** "*synonyme 1*"***,*** "*synonyme 2*" (on peut mettre autant de synonyme que l’on veut). Puis, pour ajouter des synonymes pour un autre nom de commande, il suffit d’ajouter après le dernier synonyme une barre verticale "*\|*" à la suite de laquel vous pouvez à nouveau nommer la commande qui va avoir des synonymes comme pour la première partie, etc.
+On peut voir ici une syntaxe un peu nouvelle pour les synonymes. Un nom de commande peut avoir plusieurs synonymes, ici "on" a comme synonyme "allume" et "allumer". La syntaxe est donc "*nom de la commande*" ***=*** "*synonyme 1*"***,*** "*synonyme 2*" (on peut mettre autant de synonyme que l’on veut). Puis, pour ajouter des synonymes pour un autre nom de commande, il suffit d’ajouter une barre verticale "*\|*" après le dernier synonyme et à la suite de laquelle vous pouvez à nouveau nommer la commande qui va avoir des synonymes comme pour la première partie, etc.
-C’est déjà mieux, mais il manque encore pour la commande "on" "entrée" le "l' " et pour d’autres le "la" ou "le" ou "un", etc. On pourrait modifier le nom de l’équipement pour l’ajouter, ce serait une solution, sinon on peut utiliser les variations dans la demande. Cela consiste à lister une série de mots possibles à un emplacement de la phrase, Jeedom va donc générer des phrases avec ces variations.
+C’est déjà mieux, mais pour la commande "on" il manque encore "entrée", le "l' " et pour d’autres le "la" ou "le" ou "un", etc. On pourrait modifier le nom de l’équipement pour l’ajouter, ce serait une solution, sinon on peut utiliser les variations dans la demande. Cela consiste à lister une série de mots possibles à un emplacement de la phrase, Jeedom va donc générer des phrases avec ces variations.

-On a maintenant des phrases un peu plus correctes avec des phrases qui ne sont pas justes, pour notre exemple "on" "entrée". on trouve donc "Allume entrée", "Allume un entrée", "Allume une entrée", "Allume l’entrée" etc. On a donc toutes les variantes possibles avec ce que l’on a ajouté entre les "\[ \]" et ceci pour chaque synonyme, ce qui génère rapidement beaucoup de phrases (ici 168).
+On a maintenant des phrases un peu plus correctes avec des phrases qui ne sont pas justes, pour notre exemple "on" "entrée". On trouve donc "Allume entrée", "Allume un entrée", "Allume une entrée", "Allume l’entrée" etc. On a donc toutes les variantes possibles avec ce que l’on a ajouté entre les "\[ \]" et ceci pour chaque synonyme, ce qui génère rapidement beaucoup de phrases (ici 168).
Afin d’affiner et de ne pas avoir des choses improbables telles que "allume l’télé", on peut autoriser Jeedom à supprimer les demandes syntaxiquement incorrectes. Il va donc supprimer ce qui est trop éloigné de la syntaxe réelle d’une phrase. Dans notre cas, on passe de 168 phrases à 130 phrases.
@@ -183,7 +183,7 @@ On a 2 endroits pour appliquer une Regexp :
- Dans l’interaction même dans le champ "Regexp d’exclusion".
- Dans le menu Administration→Configuration→Interactions→champ "Regexp général d’exclusion pour les interactions".
-Pour le champ "Regex général d’exclusion pour les interactions", cette règle sera appliquée à toutes les interactions, qui seront créées ou sauvegardées de nouveau par la suite. Si on veut l’appliquer à toutes les interactions existantes, il faut régénérer les interactions. Généralement, on l’utilise pour effacer des phrases incorrectement formées se retrouvant dans la plupart des interactions générées.
+Pour le champ "Regex général d’exclusion pour les interactions", cette règle sera appliquée à toutes les interactions qui seront créées ou sauvegardées de nouveau par la suite. Si on veut l’appliquer à toutes les interactions existantes, il faut régénérer les interactions. Généralement, on l’utilise pour effacer des phrases incorrectement formées se retrouvant dans la plupart des interactions générées.
Pour le champ "Regexp d’exclusion" dans la page de configuration de chaque interaction, on peut mettre une Regexp spécifique qui va agir uniquement sur ladite interaction. Elle vous permet donc de supprimer plus précisément pour une interaction. Cela peut aussi permettre d’effacer une interaction pour une commande spécifique pour laquelle on ne veut pas offrir cette possibilité dans le cadre d’une génération de multiples commandes.
@@ -197,7 +197,7 @@ Une expression régulière se compose comme suit :
- En premier, un délimiteur, ici c’est une barre oblique "/" placée en début et fin d’expression.
- Le point qui suit la barre oblique représente n’importe quel caractère, espace ou nombre.
-- Le "\*" quant à lui indique qu’il peut y avoir 0 ou plusieurs fois le caractère qui le précède, ici un point, donc en bon français n’importe quel élément.
+- Le "\*" quant à lui indique qu’il peut y avoir 0 ou plusieurs fois le caractère qui le précède, ici un point, donc en bon français n’importe quel caractère.
- Puis Julie, qui est le mot à rechercher (mot ou autre schéma d’expression), suivi à nouveau d’un point puis barre oblique.
Si on traduit cette expression en une phrase, cela donnerait "cherche le mot Julie qui est précédé par n’importe quoi et suivi de n’importe quoi".
@@ -216,7 +216,7 @@ Pour résoudre le problème de majuscule et minuscule, on peut ajouter à notre
Avec l’ajout de l’option "i" on constate qu’il ne reste plus que 55 phrases générées et dans la liste de gauche avec le filtre julie pour rechercher les phrases qui contiennent ce mot, on constate qu’il y en a bien plus.
-Comme c’est un sujet extrêmement complexe, je ne vais pas aller plus en détail ici, il y a suffisamment de tutos sur le net pour vous aider, et n’oubliez pas que Google est votre ami aussi car oui, c’est mon ami, c’est lui qui m’a appris à comprendre les Regexp et même à coder. Donc s’il m’a aidé, il peut aussi vous aider si vous y mettez de la bonne volonté.
+Comme c’est un sujet extrêmement complexe, je ne vais pas aller plus en détail ici, il y a suffisamment de tutos sur le net pour vous aider et n’oubliez pas que Google est votre ami aussi car oui, c’est mon ami, c’est lui qui m’a appris à comprendre les Regexp et même à coder. Donc s’il m’a aidé, il peut aussi vous aider si vous y mettez de la bonne volonté.
Liens utiles :
@@ -230,7 +230,7 @@ Il est aussi possible de mettre plusieurs commandes info dans une réponse, par

-Dans cet exemple on voit une phrase simple qui va nous retourner une réponse avec 3 températures différentes, on peut donc ici mettre un peu tout ce que l’on veut afin d’avoir un ensemble d’informations en une seule fois.
+Dans cet exemple on voit une phrase simple qui va nous retourner une réponse avec 3 températures différentes, ici on peut donc mettre un peu tout ce que l’on veut afin d’avoir un ensemble d’informations en une seule fois.
### Y a-t-il quelqu’un dans la chambre ?
@@ -259,7 +259,7 @@ Sans le Regexp, on obtient ici 11 phrases, or mon interaction a pour but de gén
#### Version basique
-On pourrait écrire la phrase en dur comme par exemple "quelle est la température du salon", mais il faudrait en faire une pour chaque capteur de température, luminosité et humidité. Avec le système de génération de phrase Jeedom, on peut donc avec une seule interaction générer les phrases pour tous les capteurs de ces 3 types de mesure.
+On pourrait écrire la phrase en dur comme par exemple "quelle est la température du salon", mais il faudrait en faire une pour chaque capteur de température, luminosité et humidité. Avec le système de génération de phrase Jeedom, avec une seule interaction on peut donc générer les phrases pour tous les capteurs de ces 3 types de mesure.
Ici un exemple générique qui sert à connaître la température, l’humidité, la luminosité des différentes pièces (objet au sens Jeedom).
@@ -273,7 +273,7 @@ Ici un exemple générique qui sert à connaître la température, l’humidité
On peut donc ajouter des synonymes au nom de commande pour avoir quelque chose de plus naturel, ajouter un regexp pour filtrer les commandes qui n’ont rien à voir avec notre interaction.
-Ajout de synonyme, permet de dire à Jeedom qu’une commande s’appelant "X" peut aussi s’appeler "Y" et donc dans notre phrase si on a "allume y", Jeedom sait que c’est allumer x. Cette méthode est très pratique pour renommer des noms de commande qui, quand elles sont affichées à l’écran, sont écrites d’une façon qui n’est pas naturelle vocalement ou dans une phrase écrite comme les "ON". Un bouton écrit comme cela est totalement logique mais pas dans le contexte d’une phrase.
+Ajout de synonyme, permet de dire à Jeedom qu’une commande s’appelant "X" peut aussi s’appeler "Y" et donc dans notre phrase si on a "allume y", Jeedom sait que c’est allumer x. Cette méthode est très pratique pour renommer des commandes qui, quand elles sont affichées à l’écran, sont écrites d’une façon qui n’est pas naturelle vocalement ou dans une phrase écrite comme les "ON". Un bouton écrit comme cela est totalement logique mais pas dans le contexte d’une phrase.
On peut aussi ajouter un filtre Regexp pour enlever quelques commandes. En reprenant l’exemple simple, on voit des phrases "batterie" ou encore "latence", qui n’ont rien à voir avec notre interaction température/humidité/luminosité.
@@ -305,11 +305,11 @@ Comme on le voit, il y a ici dans la demande le tag **\#consigne\#** (on peut me
#### Evolution
-On peut vouloir piloter toutes les commandes de type curseur avec une seule interaction. Avec l’exemple qui suit, on va donc pouvoir commander plusieurs variateurs avec une seule interaction et donc générer un ensemble de phrases pour les contrôler.
+On peut vouloir piloter toutes les commandes de type curseur avec une seule interaction. Avec l’exemple qui suit, on va pouvoir commander plusieurs variateurs avec une seule interaction et donc générer un ensemble de phrases pour les contrôler.

-Dans cette interaction, on n’a pas de commande dans la partie action, on laisse Jeedom générer à partir des tags la liste de phrases. On peut voir le tag **\#slider\#**. Il est impératif d’utiliser ce tag pour les consignes dans une interaction multiple commandes, il peut ne pas être le dernier mot de la phrase. On peut aussi voir dans l’exemple que l’on peut utiliser dans la réponse un tag qui ne fait pas partie de la demande. La majorité des tags disponibles dans les scénarios sont disponibles aussi dans les interactions et donc peuvent être utilisés dans une réponse.
+Dans cette interaction, on n’a pas de commande dans la partie action, on laisse Jeedom générer la liste des phrases à partir des tags. On peut voir le tag **\#slider\#**. Il est impératif d’utiliser ce tag pour les consignes dans une interaction multiple commandes, il peut ne pas être le dernier mot de la phrase. On peut aussi voir dans l’exemple que l’on peut utiliser un tag qui ne fait pas partie de la demande dans la réponse. La majorité des tags disponibles dans les scénarios sont disponibles aussi dans les interactions et donc peuvent être utilisés dans une réponse.
Résultat de l’interaction :
@@ -331,9 +331,10 @@ Comme on peut le voir sur la capture, il n’y a pas de couleur configurée, il

-On peut en ajouter autant que bon nous semble, on peut mettre comme nom n’importe lequel, ainsi on pourrait imaginer attribuer une couleur pour le nom de chaque membre de la famille.
+On peut en ajouter autant que bon nous semble, on peut leur donner n’importe quel nom, ainsi on pourrait imaginer attribuer une couleur pour le nom de chaque membre de la famille.
Une fois configuré, vous dites "Allume le sapin en vert", Jeedom va rechercher dans la demande une couleur et l’appliquer à la commande.
+
### Utilisation couplée à un scénario
#### Version basique
@@ -342,14 +343,14 @@ Il est possible de coupler une interaction à un scénario afin de réaliser des

-Cette exemple permet donc de lancer le scénario qui est lié dans la partie action, on peut bien sûr en avoir plusieurs.
+Cette exemple permet de lancer le scénario qui est lié dans la partie action. On peut bien sûr en avoir plusieurs.
### Programmation d’une action avec les interactions
-Les interactions permettent de faire beaucoup de choses en particulier. Vous pouvez programmer dynamiquement une action. Exemple : "Met le chauffage à 22 pour 14h50". Pour cela rien de plus simple, il suffit d’utiliser les tags \#time\# (si on définit une heure précise) ou \#duration\# (pour dans X temps, exemple dans 1 heure) :
+Les interactions permettent de faire beaucoup de choses. Vous pouvez programmer dynamiquement une action. Exemple : "Met le chauffage à 22 pour 14h50". Pour cela rien de plus simple, il suffit d’utiliser les tags \#time\# (si on définit une heure précise) ou \#duration\# (pour dans X temps, exemple dans 1 heure) :

> **Note**
>
-> Vous remarquerez dans la réponse le tag \#value\# celui-ci contient dans le cas d’une interaction programmée l’heure de programmation effective
+> Dans la réponse, vous remarquerez le tag \#value\#. Celui-ci contient l’heure de programmation effective dans le cas d’une interaction programmée.
diff --git a/fr_FR/core/4.5/jsonrpc_api.md b/fr_FR/core/4.5/jsonrpc_api.md
index b61182b418a..82e37ebfd01 100644
--- a/fr_FR/core/4.5/jsonrpc_api.md
+++ b/fr_FR/core/4.5/jsonrpc_api.md
@@ -5,7 +5,7 @@ Tout d’abord voici les spécifications (JSON RPC 2.0) :
L’accès à l’API se fait par l’url : *URL\_JEEDOM*/core/api/jeeApi.php
-Voici un example de configuration d'un objet Json utilisable dans le corps d'une requête faite par un agent HTTP:
+Voici un exemple de configuration d'un objet Json utilisable dans le corps d'une requête faite par un agent HTTP:
``` json
{
"jsonrpc": "2.0",
@@ -24,17 +24,17 @@ Divers
ping
----
-Retourne pong, permet de tester la communication avec Jeedom
+Retourne pong, permet de tester la communication avec Jeedom.
version
-------
-Retourne la version de Jeedom
+Retourne la version de Jeedom.
datetime
--------
-Retourne le datetime de Jeedom en microsecondes
+Retourne le datetime de Jeedom en microsecondes.
API config
==========
@@ -48,14 +48,14 @@ Paramètres Json :
- string key : clef de la valeur de configuration à retourner
-- string plugin : (optionnel), plugin de la valeur de configuration
+- string plugin : (optionnel) plugin de la valeur de configuration
-- string default : (optionnel), valeur à retourner si la clef n’existe pas
+- string default : (optionnel) valeur à retourner si la clef n’existe pas
config::save
------------
-Enregistre une valeur de configuration
+Enregistre une valeur de configuration.
Paramètres Json :
@@ -63,7 +63,7 @@ Paramètres Json :
- string key : clef de la valeur de configuration à enregistrer
-- string plugin : (optionnel), plugin de la valeur de configuration à enregistrer
+- string plugin : (optionnel) plugin de la valeur de configuration à enregistrer
API JSON Event
==============
@@ -71,7 +71,7 @@ API JSON Event
event::changes
--------------
-Retourne la liste des changements depuis le datetime passé en paramètre (doit être en microsecondes). Vous aurez aussi dans la réponse le datetime courant de Jeedom (à réutiliser pour l’interrogation suivante)
+Retourne la liste des changements depuis le datetime passé en paramètre (doit être en microsecondes). Dans la réponse, vous aurez aussi le datetime courant de Jeedom (à réutiliser pour l’interrogation suivante).
Paramètres Json :
@@ -83,7 +83,7 @@ API JSON Plugin
plugin::listPlugin
------------------
-Retourne la liste de tous les plugins
+Retourne la liste de tous les plugins.
Paramètres Json :
@@ -97,17 +97,17 @@ API JSON Objet
jeeObject::all
-----------
-Retourne la liste de tous les objets
+Retourne la liste de tous les objets.
jeeObject::full
------------
-Retourne la liste de tous les objets, avec pour chaque objet tous ses équipements et pour chaque équipement toutes ses commandes ainsi que les états de celles-ci (pour les commandes de type info)
+Retourne la liste de tous les objets, avec pour chaque objet tous ses équipements et pour chaque équipement toutes ses commandes ainsi que les états de celles-ci (pour les commandes de type info).
jeeObject::fullById
----------------
-Retourne un objet avec tous ses équipements et pour chaque équipement toutes ses commandes ainsi que les états de celles-ci (pour les commandes de type info)
+Retourne un objet avec tous ses équipements et pour chaque équipement toutes ses commandes ainsi que les états de celles-ci (pour les commandes de type info).
Paramètres Json :
@@ -116,7 +116,7 @@ Paramètres Json :
jeeObject::byId
------------
-Retourne l’objet spécifié
+Retourne l’objet spécifié.
Paramètres:
@@ -125,12 +125,12 @@ Paramètres:
jeeObject::fullById
----------------
-Retourne un objet, ses équipements et pour chaque équipement toutes ses commandes ainsi que les états de cellse-ci (pour les commandes de type info)
+Retourne un objet, ses équipements et pour chaque équipement toutes ses commandes ainsi que les états de cellse-ci (pour les commandes de type info).
jeeObject::save
------------
-Retourne l’objet spécifié
+Retourne l’objet spécifié.
Paramètres:
@@ -154,22 +154,22 @@ API JSON Summary
summary::global
---------------
-Retourne le résumé global pour la clef passée en paramètre
+Retourne le résumé global pour la clef passée en paramètre.
Paramètres:
-- string key : (optionnel), clef du résumé voulu, si vide alors Jeedom vous renvoie le résumé pour toutes les clefs
+- string key : (optionnel) clef du résumé voulu, si vide alors Jeedom vous renvoie le résumé pour toutes les clefs
summary::byId
-------------
-Retourne le résumé pour l’objet id
+Retourne le résumé pour l’objet id.
Paramètres:
- int id : id de l’objet
-- string key : (optionnel), clef du résumé voulu, si vide alors Jeedom vous renvoie le résumé pour toutes les clefs
+- string key : (optionnel) clef du résumé voulu, si vide alors Jeedom vous renvoie le résumé pour toutes les clefs
API JSON EqLogic
================
@@ -177,12 +177,12 @@ API JSON EqLogic
eqLogic::all
------------
-Retourne la liste de tous les équipements
+Retourne la liste de tous les équipements.
eqLogic::fullById
-----------------
-Retourne un équipement et ses commandes ainsi que les états de celles-ci (pour les commandes de type info)
+Retourne un équipement et ses commandes ainsi que les états de celles-ci (pour les commandes de type info).
Paramètres:
@@ -191,7 +191,7 @@ Paramètres:
eqLogic::byId
-------------
-Retourne l’équipement spécifié
+Retourne l’équipement spécifié.
Paramètres:
@@ -200,7 +200,7 @@ Paramètres:
eqLogic::byType
---------------
-Retourne tous les équipements appartenant au type (plugin) spécifié
+Retourne tous les équipements appartenant au type (plugin) spécifié.
Paramètres:
@@ -209,7 +209,7 @@ Paramètres:
eqLogic::byObjectId
-------------------
-Retourne tous les équipements appartenant à l’objet spécifié
+Retourne tous les équipements appartenant à l’objet spécifié.
Paramètres:
@@ -234,7 +234,7 @@ Paramètres:
eqLogic::save
-------------
-Retourne l’équipement enregistré/créé
+Retourne l’équipement enregistré/créé.
Paramètres:
@@ -266,12 +266,12 @@ API JSON Cmd
cmd::all
--------
-Retourne la liste de toutes les commandes
+Retourne la liste de toutes les commandes.
cmd::byId
---------
-Retourne la commande spécifiée
+Retourne la commande spécifiée.
Paramètres:
@@ -280,7 +280,7 @@ Paramètres:
cmd::byEqLogicId
----------------
-Retourne toutes les commandes appartenant à l’équipement spécifié
+Retourne toutes les commandes appartenant à l’équipement spécifié.
Paramètres:
@@ -289,7 +289,7 @@ Paramètres:
cmd::execCmd
------------
-Exécute la commande spécifiée
+Exécute la commande spécifiée.
Paramètres:
@@ -300,7 +300,7 @@ Paramètres:
cmd::getStatistique
-------------------
-Retourne les statistiques sur la commande (ne marche que sur les commandes de type info et historisées)
+Retourne les statistiques sur la commande (ne marche que sur les commandes de type info et historisées).
Paramètres:
@@ -313,7 +313,7 @@ Paramètres:
cmd::getTendance
----------------
-Retourne la tendance sur la commande (ne marche que sur les commandes de type info et historisées)
+Retourne la tendance sur la commande (ne marche que sur les commandes de type info et historisées).
Paramètres:
@@ -326,7 +326,7 @@ Paramètres:
cmd::getHistory
---------------
-Retourne l’historique de la commande (ne marche que sur les commandes de type info et historisées)
+Retourne l’historique de la commande (ne marche que sur les commandes de type info et historisées).
Paramètres:
@@ -339,7 +339,7 @@ Paramètres:
cmd::save
---------
-Retourne l’objet spécifié
+Retourne l’objet spécifié.
Paramètres:
@@ -380,7 +380,7 @@ Paramètres:
cmd::event
-------------------
-Permet d'envoyer une valeur à une commande
+Permet d'envoyer une valeur à une commande.
Paramètres:
@@ -396,12 +396,12 @@ API JSON Scenario
scenario::all
-------------
-Retourne la liste de tous les scénarios
+Retourne la liste de tous les scénarios.
scenario::byId
--------------
-Retourne le scénario spécifié
+Retourne le scénario spécifié.
Paramètres:
@@ -410,7 +410,7 @@ Paramètres:
scenario::export
----------------
-Retourne l’export du scénario ainsi que le *nom humain* du scénario
+Retourne l’export du scénario ainsi que le *nom humain* du scénario.
Paramètres:
@@ -446,7 +446,7 @@ API JSON Log
log::get
--------
-Permet de récupérer un log
+Permet de récupérer un log.
Paramètres:
@@ -459,7 +459,7 @@ Paramètres:
log::add
--------
-Permet d'écrire dans un log
+Permet d'écrire dans un log.
Paramètres:
@@ -475,7 +475,7 @@ Paramètres:
log::list
---------
-Permet de récupérer la list des logs de Jeedom
+Permet de récupérer la list des logs de Jeedom.
Paramètres:
@@ -484,7 +484,7 @@ Paramètres:
log::empty
----------
-Permet de vider un log
+Permet de vider un log.
Paramètres:
@@ -493,7 +493,7 @@ Paramètres:
log::remove
-----------
-Permet de supprimer un log
+Permet de supprimer un log.
Paramètres:
@@ -505,7 +505,7 @@ API JSON datastore (variable)
datastore::byTypeLinkIdKey
--------------------------
-Récupère la valeur d’une variable stockée dans le datastore
+Récupère la valeur d’une variable stockée dans le datastore.
Paramètres:
@@ -518,15 +518,14 @@ Paramètres:
datastore::save
---------------
-Enregistre la valeur d’une variable dans le datastore
+Enregistre la valeur d’une variable dans le datastore.
Paramètres:
- string type : type de la valeur stockée (pour les scénarios
c’est scenario)
-- id linkId : -1 pour le global (valeur pour les scénarios par défaut,
- ou l’id du scénario)
+- id linkId : -1 pour le global (valeur pour les scénarios par défaut ou l’id du scénario)
- string key : nom de la valeur
@@ -538,12 +537,12 @@ API JSON Message
message::all
------------
-Retourne la liste de tous les messages
+Retourne la liste de tous les messages.
message::add
--------
-Permet d'écrire dans un log
+Permet d'écrire dans un log.
Paramètres:
@@ -558,7 +557,7 @@ Paramètres:
message::removeAll
------------------
-Supprime tous les messages
+Supprime tous les messages.
API JSON Interaction
====================
@@ -566,7 +565,7 @@ API JSON Interaction
interact::tryToReply
--------------------
-Essaie de faire correspondre une demande avec une interaction, exécute l’action et répond en conséquence
+Essaie de faire correspondre une demande avec une interaction, exécute l’action et répond en conséquence.
Paramètres:
@@ -578,7 +577,7 @@ Paramètres:
interactQuery::all
------------------
-Renvoi la liste complete de toute les interactions
+Renvoi la liste complète de toutes les interactions.
API JSON System
===============
@@ -596,22 +595,22 @@ Permet de redémarrer Jeedom
jeedom::isOk
------------
-Permet de savoir si l’état global de Jeedom est OK
+Permet de savoir si l’état global de Jeedom est OK.
jeedom::update
--------------
-Permet de lancer un update de Jeedom
+Permet de lancer une mise à jour de Jeedom.
jeedom::backup
--------------
-Permet de lancer un backup de Jeedom
+Permet de lancer un backup de Jeedom.
jeedom::getUsbMapping
---------------------
-Liste des ports USB et des noms de clefs USB branchés dessus
+Liste des ports USB et des noms de clefs USB branchés dessus.
API JSON plugin
===============
@@ -619,7 +618,7 @@ API JSON plugin
plugin::install
---------------
-Installation/Mise à jour d’un plugin donné
+Installation/Mise à jour d’un plugin donné.
Paramètres:
@@ -629,7 +628,7 @@ Paramètres:
plugin::remove
--------------
-Suppression d’un plugin donné
+Suppression d’un plugin donné.
Paramètres:
@@ -639,7 +638,7 @@ Paramètres:
plugin::dependancyInfo
----------------------
-Renvoi les informations sur le status des dépendances du plugin
+Renvoi les informations sur le status des dépendances du plugin.
Paramètres:
@@ -649,7 +648,7 @@ Paramètres:
plugin::dependancyInstall
-------------------------
-Force l’installation des dépendances du plugin
+Force l’installation des dépendances du plugin.
Paramètres:
@@ -659,7 +658,7 @@ Paramètres:
plugin::deamonInfo
------------------
-Renvoi les informations sur le status du démon du plugin
+Renvoi les informations sur le status du démon du plugin.
Paramètres:
@@ -669,7 +668,7 @@ Paramètres:
plugin::deamonStart
-------------------
-Force le démarrage du démon
+Force le démarrage du démon.
Paramètres:
@@ -679,7 +678,7 @@ Paramètres:
plugin::deamonStop
------------------
-Force l’arret du démon
+Force l’arret du démon.
Paramètres:
@@ -689,7 +688,7 @@ Paramètres:
plugin::deamonChangeAutoMode
----------------------------
-Change le mode de gestion du démon
+Change le mode de gestion du démon.
Paramètres:
@@ -703,17 +702,17 @@ API JSON update
update::all
-----------
-Retourne la liste de tous les composants installés, leurs versions et les informations associées
+Retourne la liste de tous les composants installés, leurs versions et les informations associées.
update::checkUpdate
-------------------
-Permet de vérifier les mises à jour
+Permet de vérifier les mises à jour.
update::update
--------------
-Permet de mettre à jour Jeedom et tous les plugins
+Permet de mettre à jour Jeedom et tous les plugins.
update::doUpdate
--------------
@@ -729,12 +728,12 @@ API JSON network
network::restartDns
-------------------
-Force le (re)démarrage du DNS Jeedom
+Force le (re)démarrage du DNS Jeedom.
network::stopDns
----------------
-Force l’arret du DNS Jeedom
+Force l’arrêt du DNS Jeedom.
network::dnsRun
---------------
@@ -745,17 +744,17 @@ API JSON timeline
timeline::all
-----------
-Retourne tous les éléments de la timeline
+Retourne tous les éléments de la timeline.
timeline::listFolder
-----------
-Retourne tous les dossier (catégorie) de la timeline
+Retourne tous les dossiers (catégorie) de la timeline.
timeline::byFolder
-----------
-Retourne tous les éléments du dossier demandé
+Retourne tous les éléments du dossier demandé.
Paramètres:
@@ -767,7 +766,7 @@ API JSON User
user::all
-------------
-Retourne la liste de tous les utilisateurs
+Retourne la liste de tous les utilisateurs.
user::save
---------------------
diff --git a/fr_FR/core/4.5/log.md b/fr_FR/core/4.5/log.md
index 7ba55255499..e0a553ef8c9 100644
--- a/fr_FR/core/4.5/log.md
+++ b/fr_FR/core/4.5/log.md
@@ -1,9 +1,9 @@
# Logs
**Analyse → Logs**
-Les logs sont des fichiers de journaux, permettant de suivre ce qui se passe sur sa domotique. Dans la plupart des cas les logs ne serviront qu’à effectuer du debuggage et à résoudre des problèmes par l’équipe de support.
+Les logs sont des fichiers de journaux, permettant de suivre ce qui se passe sur sa domotique. Dans la plupart des cas les logs ne serviront qu’à effectuer du debuggage et à résoudre des problèmes par l’équipe de support ou le développeur du plugin.
-> **Conseil**
+> **Info**
>
> A l'ouverture de la page, le premier log disponible est affiché.
@@ -20,7 +20,7 @@ En haut à droite 5 boutons :
> **Conseil**
>
-> A noter que le log http.error ne peut être supprimé. Il est essentiel si vous le supprimez (en ligne de commande par exemple) celui-ci ne se recréera pas tout seul, il faut redémarrer le système.
+> A noter que le log http.error ne peut être supprimé. Il est essentiel. Si vous le supprimez (en ligne de commande par exemple) celui-ci ne se recréera pas tout seul, il faut redémarrer le système.
## Temps réel
diff --git a/fr_FR/core/4.5/market.md b/fr_FR/core/4.5/market.md
index 9d359036867..34a83acece5 100644
--- a/fr_FR/core/4.5/market.md
+++ b/fr_FR/core/4.5/market.md
@@ -1,26 +1,25 @@
# Market Jeedom
-
-Doc un peu particulière car elle va traiter uniquement de votre page profil du Market.
-Disponible en allant sur votre nom d’utilisateur puis profil à partir du Market (un peu comme sur Jeedom).
+Cette page de documentation est un peu particulière car elle va traiter uniquement de votre page profil du Market.
+Disponible en allant sur votre nom d'utilisateur puis profil à partir du Market (un peu comme sur Jeedom).
Celle-ci se décompose en plusieurs parties :
## Mon profil
-C’est ici que vous allez pouvoir régler différents paramètres de votre profil :
+C'est ici que vous allez pouvoir régler différents paramètres de votre profil :
- **Profil**
- **Login** : Votre login sur le Market, il ne peut être changé.
- - **Nom** : Votre nom (cette information n’est utile que pour rendre les emails plus sympa).
- - **Prénom** : Votre prénom (cette information n’est utile que pour rendre les emails plus sympa).
- - **Nom d’utilisateur sur le forum** : Votre pseudo sur le forum.
+ - **Nom** : Votre nom (cette information n'est utile que pour rendre les emails plus sympas).
+ - **Prénom** : Votre prénom (cette information n'est utile que pour rendre les emails plus sympas).
+ - **Nom d'utilisateur sur le forum** : Votre pseudo sur le forum.
- **Email** : Votre email.
- **Langue** : Votre langue.
- **Mot de passe && Confirmer le mot de passe** : Permet de changer votre mot passe.
Pour les développeurs :
-- **Nom d’utilisateur sur le forum** : Votre pseudo sur le forum.
+- **Nom d'utilisateur sur le forum** : Votre pseudo sur le forum.
- **Email public** : Votre email pour recevoir d'éventuelles communications de notre part.
- **Compte paypal** : Votre email de compte Paypal (uniquement utilisé pour payer les développeurs).
@@ -28,38 +27,38 @@ Pour les pros :
- **Compte email installateur** : Votre email de contact pro.
- **Destinataire des demandes de support** : savoir qui recevra les emails de support (client final, installateur ou les deux).
- **CGU**
-- **Utilisateur** : conditions générales d’utilisation (attention à bien les lire car elles vous engage).
-- **Développeur** : conditions générales d’utilisation pour les développeurs.
+- **Utilisateur** : conditions générales d'utilisation (attention à bien les lire car elles vous engagent).
+- **Développeur** : conditions générales d'utilisation pour les développeurs.
- **Tickets**
- **Nombre de tickets** : Nombre de tickets pour le mois en cours ainsi que votre limite.
-- **Support** : Bouton pour envoyer une demande de support (accessible aussi par le point d’exclamation en haut à droite sur le Market ou sur votre Jeedom).
+- **Support** : Bouton pour envoyer une demande de support (accessible aussi par le point d'exclamation en haut à droite sur le Market ou sur votre Jeedom).
- **Accès aux betas**
-- **Activer l’accès aux plugins beta** : Permet d’activer l’accès aux plugins betas (attention cela vous interdira tout accès au support).
+- **Activer l'accès aux plugins beta** : Permet d'activer l'accès aux plugins betas (attention cela vous interdira tout accès au support).
- **Résumé** Ici vous retrouverez un résumé de vos différents droits et services.
> **Conseil**
>
-> N’oubliez pas de sauvegarder.
+> N'oubliez pas de sauvegarder.
## Mes Jeedoms
- **Niveau**
- **Jeedom** : Votre niveau de service pack.
- - **Entrer un numéro de service pack** : Permet d’entrer votre numéro de service pack (il se trouve dans le mail envoyé par Jeedom lors de votre commande).
-- **Clef d’installation**
- - **Nombre de clefs d’installation** : Affiche le nombre d’installations Jeedom actuellement liées à votre compte ainsi que la limite autorisée.
+ - **Entrer un numéro de service pack** : Permet d'entrer votre numéro de service pack (il se trouve dans le mail envoyé par Jeedom lors de votre commande).
+- **Clef d'installation**
+ - **Nombre de clefs d'installation** : Affiche le nombre d'installations Jeedom actuellement liées à votre compte ainsi que la limite autorisée.
-> **Conseil**
+> **Note**
>
-> Il est possible que le Market vous demande parfois de remettre à zéro vos clefs d’installation, c’est normal, il suffit de suivre ce qui est demandé.
+> Il est possible que le Market vous demande parfois de remettre vos clefs d'installation à zéro, c'est normal, il suffit de suivre ce qui est demandé.
-- **Mes Jeedoms** : C’est ici que sont listés tous vos Jeedom
- - **Nom** : Le nom que vous voulez donner à votre Jeedom (se retrouve dans le nom du backup si vous avez l’abonnement de sauvegarde cloud).
- - **Etat** : Permet de voir l’état du Jeedom en question.
- - **IP locale / distante** : IP ou adresse de ce Jeedom, se configure dans Jeedom, si vous ne mettez rien ça sera la dernière IP connue.
+- **Mes Jeedoms** : C'est ici que sont listés tous vos Jeedom
+ - **Nom** : Le nom que vous voulez donner à votre Jeedom (se retrouve dans le nom du backup si vous avez l'abonnement de sauvegarde cloud).
+ - **Etat** : Permet de voir l'état du Jeedom en question.
+ - **IP locale / distante** : IP ou adresse de ce Jeedom, se configure dans Jeedom, si vous ne mettez rien, la dernière adresse IP connue sera utilisée.
- **DNS** : Permet de personnaliser le nom de votre DNS.
- - **URL** : Liste les différentes URL d’accès au Jeedom.
- - **Serveur DNS** : Vous indique le serveur DNS auquel vous êtes rattachés.
+ - **URL** : Liste les différentes URL d'accès au Jeedom.
+ - **Serveur DNS** : Vous indique le serveur DNS auquel vous êtes rattaché.
- **Statut du DNS** : Permet de voir le statut du DNS.
- **Date de création** : Date de création de ce Jeedom sur votre compte Market (pour rappel cela se fait automatiquement lorsque vous le liez au Market).
- **Dernière mise à jour** : Dernière communication du Jeedom avec le Market.
@@ -68,15 +67,15 @@ Pour les pros :
> **Conseil**
>
-> N’oubliez pas de sauvegarder.
+> N'oubliez pas de sauvegarder.
## Mes backups
-Sur cette onglet vous pouvez consulter les backups présents sur le Market et en télécharger un. En dessous vous avez accès au lien pour acheter 1,3,6 ou 12 mois d’abonnement à la sauvegarde cloud.
+Sur cette onglet vous pouvez consulter les backups présents sur le Market et en télécharger un. En dessous vous avez accès au lien pour acheter 1,3,6 ou 12 mois d'abonnement à la sauvegarde cloud.
## Mes SMS/Appels
-Sur cette onglet vous pouvez consulter votre solde SMS/Appels (utilisable avec le plugin Phone market). En dessous vous avez les différentes options permettant d’acheter du solde supplémentaire.
+Sur cette onglet vous pouvez consulter votre solde SMS/Appels (utilisable avec le plugin Phone market). En dessous vous avez les différentes options permettant d'acheter du solde supplémentaire.
## Mes achats/promos/dons
@@ -84,10 +83,10 @@ Ici vous retrouvez tous vos achats et vous pouvez demander le renvoi du mail de
> **Important**
>
-> Si vous achetez un plugin officiel vous recevrez une facture. En revanche pour un plugin tiers c’est un reçu, pour la facture il faut la demander au développeur.
+> Si vous achetez un plugin officiel vous recevrez une facture. En revanche pour un plugin tiers c'est un reçu, pour la facture il faut la demander au développeur.
-Vous pouvez aussi à partir de cet onglet entrer un code promo (un code pour un plugin par exemple que le développeur a pu vous transmettre) et faire un don.
+A partir de cet onglet, vous pouvez aussi entrer un code promo (par exemple un code pour un plugin que le développeur a pu vous transmettre) et faire un don.
## Mes développements
-Si vous êtes développeur vous retrouvez ici la liste de toutes vos ventes sur une période, la liste de vos versements ainsi qu’un résumé du nombre de téléchargements, du nombre de ventes…
+Si vous êtes développeur vous retrouvez ici la liste de toutes vos ventes sur une période, la liste de vos versements ainsi qu'un résumé du nombre de téléchargements, du nombre de ventes…
diff --git a/fr_FR/core/4.5/massedit.md b/fr_FR/core/4.5/massedit.md
index 4d6a27398dd..002b1f7b86d 100644
--- a/fr_FR/core/4.5/massedit.md
+++ b/fr_FR/core/4.5/massedit.md
@@ -1,11 +1,11 @@
# Editeur en masse
**Réglages → Système → Configuration | OS/DB**
-Cet outil permet d'éditer un grand nombre d'équipements, de commandes, d'objets, ou de scénarios. Il est totalement générique, et reprend automatiquement le schéma et la structure de la base de données de Jeedom. Il supporte ainsi les plugins et la configuration de leurs équipements.
+Cet outil permet d'éditer un grand nombre d'équipements, de commandes, d'objets, ou de scénarios. Il est totalement générique et reprend automatiquement le schéma et la structure de la base de données de Jeedom. Il supporte ainsi les plugins et la configuration de leurs équipements.
> **Attention**
>
-> Si cet outil s'avère assez simple d'utilisation, celui-ci s'adresse à des utilisateurs avancés. En effet, il est de fait très simple de changer n'importe quel paramètre sur des dizaines d'équipements ou centaines de commandes et donc de rendre inopérantes certaines fonctions, voir même le Core.
+> Si cet outil s'avère assez simple d'utilisation, celui-ci s'adresse à des utilisateurs avancés. En effet, il est de fait très simple de changer n'importe quel paramètre sur des dizaines d'équipements ou centaines de commandes et donc de rendre certaines fonctions inopérantes, voire même le Core.
## Utilisation
@@ -23,16 +23,16 @@ La partie *Edition* permet de changer des paramètres sur ces items.
- Dans la partie *Filtre*, sélectionnez **Scénario**.
- Cliquez sur le bouton **+** pour ajouter un filtre.
-- Dans ce filtre, sélectionnez la colonne *group*, et en valeur le nom du groupe à renommer.
+- Dans ce filtre, sélectionnez la colonne *group* et en valeur le nom du groupe à renommer.
- Cliquez sur le bouton *Test* pour afficher les scénarios de ce groupe.
- Dans la partie *Edition*, sélectionnez la colonne *group*, puis mettez le nom que vous souhaitez dans la valeur.
- Cliquez sur **Exécuter** en haut à droite.
-#### Rendre invisible tous les équipements d'un objet/pièce:
+#### Rendre tous les équipements d'un objet/pièce invisibles :
- Dans la partie *Filtre*, sélectionnez **Equipement**.
- Cliquez sur le bouton **+** pour ajouter un filtre.
-- Dans ce filtre, sélectionnez la colonne *object_id*, et en valeur l'id de l'objet en question (visible depuis Outils/Objets, Vue d'ensemble).
+- Dans ce filtre, sélectionnez la colonne *object_id* et en valeur l'id de l'objet en question (visible depuis Outils/Objets, Vue d'ensemble).
- Cliquez sur le bouton *Test* pour afficher les scénarios de ce groupe.
- Dans la partie *Edition*, sélectionnez la colonne *isvisible*, puis entrez la valeur 0.
- Cliquez sur **Exécuter** en haut à droite.
\ No newline at end of file
diff --git a/fr_FR/core/4.5/message.md b/fr_FR/core/4.5/message.md
index 3c9475a0191..fb279e613b9 100644
--- a/fr_FR/core/4.5/message.md
+++ b/fr_FR/core/4.5/message.md
@@ -1,14 +1,14 @@
# Centre de message
**Barre de menu**
-Le centre des messages regroupe tous les messages importants que vous devez consulter. Il se trouve à gauche de l’heure, sur la droite de la barre de menu de Jeedom.
+Le centre de messages regroupe tous les messages importants que vous devez consulter. Il se trouve à gauche de l'heure, sur la droite de la barre de menu de Jeedom.
-Il n’est accessible que lorsqu’il y a des messages, en cliquant sur le nombre de messages.
+Il n'est accessible que lorsqu'il y a des messages, en cliquant sur le nombre de messages.
-Il est assez simple. Il vous montre la date et l’heure du message, le plugin qui l’a émis et le message en question. Vous pouvez, en appuyant sur le bouton au tout début de la ligne d’un message, supprimer le message en question (il reviendra si le problème est toujours d’actualité).
+Il est assez simple. Il vous montre la date et l'heure du message, le plugin qui l'a émis et le message en question. En appuyant sur le bouton au tout début de la ligne d'un message, vous pouvez supprimer le message en question (il reviendra si le problème est toujours d'actualité).
En haut, on retrouve un sélecteur pour filtrer les messages sur un plugin particulier et tout à droite un bouton pour vider tous les messages.
> **Conseil**
>
-> Lorsque vous avez une erreur dans le centre des messages, essayez d’abord de supprimer le message puis voir si l’erreur revient avant de contacter le support. Il arrive que ce soit juste dû à un souci de connexion réseau.
+> Lorsque vous avez une erreur dans le centre de messages, essayez d'abord de supprimer le message puis voir si l'erreur revient avant de contacter le support. Il arrive que ce soit juste dû à un souci de connexion réseau.
diff --git a/fr_FR/core/4.5/modaldisplay.md b/fr_FR/core/4.5/modaldisplay.md
index 7ce7650b167..69f15483343 100644
--- a/fr_FR/core/4.5/modaldisplay.md
+++ b/fr_FR/core/4.5/modaldisplay.md
@@ -6,4 +6,4 @@ Elle est notamment utilisée dans les cas suivants:
- Menu Analyse : Ctrl Clic / Clic Centre sur *Temps réel*
- Menu Outils : Ctrl Clic / Clic Centre sur *Notes*, *Testeur expression*, *Variables*
-> Avec un clic normal (clic gauche), ces menus ouvrent une fenêtre, affichant le contenu par dessus le reste de l'interface. Ici, le contenu de la fenêtre s'affiche dans cette page, chargée dans un nouvel onglet du navigateur, pour faciliter son utilisation quand l'utilisateur le souhaite.
+> Avec un clic normal (clic gauche), ces menus ouvrent une fenêtre affichant le contenu par dessus le reste de l'interface. Ici, le contenu de la fenêtre s'affiche dans cette page, chargée dans un nouvel onglet du navigateur, pour faciliter son utilisation quand l'utilisateur le souhaite.
diff --git a/fr_FR/core/4.5/object.md b/fr_FR/core/4.5/object.md
index f75cfa8414c..c083e5dbfcd 100644
--- a/fr_FR/core/4.5/object.md
+++ b/fr_FR/core/4.5/object.md
@@ -17,7 +17,7 @@ Deux options s’offrent à vous :
## Vue d’ensemble
-La vue d’ensemble vous permet de visualiser l’ensemble des objets dans Jeedom, ainsi que leur configuration :
+La vue d’ensemble vous permet de visualiser l’ensemble des objets ainsi que leur configuration dans Jeedom :
- **ID** : ID de l’objet.
- **Objet** : Nom de l’objet.
@@ -36,16 +36,16 @@ Une fois que vous avez créé un objet, il apparaîtra dans cette partie.
>
> Vous pouvez ouvrir un objet en faisant :
> - Clic sur l'un d'entre eux.
-> - Ctrl Clic ou Clic Centre pour l'ouvrir dans un nouvel onglet du navigateur.
+> - Ctrl+Clic ou Clic Centre pour l'ouvrir dans un nouvel onglet du navigateur.
Vous disposez d'un moteur de recherche permettant de filtrer l'affichage des objets. La touche Echap annule la recherche.
A droite du champ de recherche, trois boutons que l'on retrouve à plusieurs endroits de Jeedom:
- La croix pour annuler la recherche.
-- Le dossier ouvert pour déplier tout les panneaux et afficher touts les objets.
-- Le dossier fermé pour replier tout les panneaux.
+- Le dossier ouvert pour déplier tous les panneaux et afficher tous les objets.
+- Le dossier fermé pour replier tous les panneaux.
-Une fois sur la configuration d'un objet, vous disposez d'un menu contextuel au Clic Droit sur les onglets de l'objet. Vous pouvez également utiliser un Ctrl Clic ou Clic Centre pour ouvrir directement un autre objet dans un nouvel onglet du navigateur.
+Une fois sur la configuration d'un objet, vous disposez d'un menu contextuel au Clic Droit sur les onglets de l'objet. Vous pouvez également utiliser un Ctrl+Clic ou Clic Centre pour ouvrir directement un autre objet dans un nouvel onglet du navigateur.
## Onglet Objet
@@ -56,11 +56,11 @@ Voici donc les différentes caractéristiques pour configurer un objet :
#### Paramètres :
- **Nom de l’objet** : Le nom de votre objet.
-- **Objet parent** : Indique le parent de l’objet courant, cela permet de définir une hiérarchie entre les objets. Par exemple : Le salon a pour parent l’appartement. Un objet ne peut avoir qu’un seul parent mais plusieurs objets peuvent avoir le même parent.
-- **Visible** : Cochez cette case pour rendre visible cet objet.
+- **Objet parent** : Indique le parent de l’objet courant, cela permet de définir une hiérarchie entre les objets. Par exemple : le salon a pour parent l’appartement. Un objet ne peut avoir qu’un seul parent mais plusieurs objets peuvent avoir le même parent.
+- **Visible** : Cochez cette case pour rendre cet objet visible.
- **Masquer sur le Dashboard** : Cochez cette case pour masquer l’objet sur le Dashboard. Il est tout de même conservé dans la liste, ce qui permet de l’afficher, mais uniquement de manière explicite.
-- **Masquer sur la synthèse** : Cochez cette case pour masquer l’objet sur la synthèse'. Il est tout de même conservé dans la liste, ce qui permet de l’afficher, mais uniquement de manière explicite.
-- **Action depuis la synthèse** : Vous pouvez ici indiquer une vue ou un design sur lequel aller quand vous cliquez sur l'objet depuis la Synthèse. *Defaut : Dashboard*.
+- **Masquer sur la synthèse** : Cochez cette case pour masquer l’objet sur la synthèse. Il est tout de même conservé dans la liste, ce qui permet de l’afficher, mais uniquement de manière explicite.
+- **Action depuis la synthèse** : Ici, vous pouvez indiquer une vue ou un design sur lequel aller quand vous cliquez sur l'objet depuis la Synthèse. *Defaut : Dashboard*.
#### Affichage :
@@ -68,12 +68,12 @@ Voici donc les différentes caractéristiques pour configurer un objet :
- **Couleurs personnalisées** : Active la prise en compte des deux paramètres de couleurs personnalisées en dessous.
- **Couleur du tag** : Permet de choisir la couleur de l’objet et des équipements qui lui sont rattachés.
- **Couleur du texte du tag** : Permet de choisir la couleur du texte de l’objet. Ce texte sera par dessus la **couleur du tag**. A vous de choisir une couleur pour rendre le texte lisible.
-- **Seulement sur la synthèse** : Permet de mettre une image pour la Synthèse sans qu'elle soit utilisée comme image de fond, notamment sur la page *Dashboard* de cet objet.
+- **Seulement sur la synthèse** : Permet de mettre une image pour la Synthèse sans qu'elle ne soit utilisée comme image de fond, notamment sur la page *Dashboard* de cet objet.
- **Image** : Vous avez la possibilité de télécharger une image ou la supprimer. Au format jpeg cette image sera l'image de fond de l'objet quand vous l'afficherez sur le Dashboard. Elle sera aussi utilisée pour la vignette de la pièce sur la Synthèse.
> **Conseil**
>
-> Vous pouvez modifier l’ordre d’affichage des objets dans le Dashboard, par le Résumé Domotique (outils -> résumé domotique) , sélectionnez votre objet avec la souris avec un glisser/déposer pour lui donner une nouvelle place.
+> Vous pouvez modifier l’ordre d’affichage des objets dans le Dashboard, par le Résumé Domotique (outils -> résumé domotique), sélectionnez votre objet avec la souris avec un glisser/déposer pour lui donner une nouvelle place.
> **Conseil**
>
diff --git a/fr_FR/core/4.5/overview.md b/fr_FR/core/4.5/overview.md
index 44c082f2e0f..a3e13484aec 100644
--- a/fr_FR/core/4.5/overview.md
+++ b/fr_FR/core/4.5/overview.md
@@ -5,7 +5,7 @@ La page *Synthèse* vous propose une synthèse visuelle et centralisée de vos o

-Pour qu'elle prenne tout son sens, il faut sur chaque objet, configurer les résumés et une image de fond : [Voir documentation sur les résumés.](/fr_FR/concept/summary)
+Pour qu'elle prenne tout son sens, sur chaque objet, il faut configurer les résumés et une image de fond : [Voir documentation sur les résumés.](/fr_FR/concept/summary)
Vous pouvez la configurer comme page par défaut dans **Réglages → Préférences**, en desktop et/ou mobile.
@@ -14,21 +14,21 @@ Vous pouvez la configurer comme page par défaut dans **Réglages → Préféren
Sur chaque objet, son image de fond et ses résumés sont affichés :
En fonction du type de résumé (clé), visible dans **Réglages → Système → Configuration / Résumés** :
-- En haut à gauche : Le nom de l'objet.
-- En haut à droite : La température (*temperature*) et l'humidité (*humidity*).
-- Sous le titre : Alerte (*security*) et Mouvement (*motion*), colorés en vert ou en rouge suivant qu'il y a une ou des alertes / mouvement en cours.
-- En bas : Tous les autres résumés de l'objet.
+- En haut à gauche : le nom de l'objet.
+- En haut à droite : la température (*temperature*) et l'humidité (*humidity*).
+- Sous le titre : Alerte (*security*) et Mouvement (*motion*), colorés en vert ou en rouge suivant s'il y a une ou des alertes / mouvement en cours.
+- En bas : tous les autres résumés de l'objet.
La configuration de l'affichage de l'objet se fait dans **Outils → Objets** :
- Son nom.
-- Si il est visible. Vous pouvez toutefois conserver un Objet visible y compris sur le Dashboard, mais cocher *Masquer sur la synthèse*.
+- S'il est visible. Vous pouvez toutefois conserver un Objet visible y compris sur le Dashboard, mais cocher *Masquer sur la synthèse*.
- Son image de fond.
- Si l'image de fond doit être utilisée uniquement sur la page Synthèse ou aussi en fond une fois sur l'objet.
- Les éléments de ses résumés, dans l'onglet *Résumé*.
> **Conseil**
>
-> L'ordre d'affichage des objets est celui du *résumé domotique*, que vous pouvez réordonner (Analyse → Résumé domotique).
+> L'ordre d'affichage des objets est celui du *résumé domotique* que vous pouvez réordonner (Analyse → Résumé domotique).
> **Note**
>
@@ -39,12 +39,10 @@ La configuration de l'affichage de l'objet se fait dans **Outils → Objets** :
Pour chaque objet, vous pouvez cliquer :
- Sur le titre de l'objet pour afficher le Dashboard de cet objet avec ses objets enfants (également accessible par le menu *Accueil → Dashboard → Objet*).
- Sur l'image, pour ouvrir la page des équipements de cet objet seulement.
-- Sur un élément de résumé pour afficher les éléments de cet objet, de ce type. Ceux-ci s'affichent dans une modale, sans changer de page, et permet de rapidement fermer un volet, allumer une lumière, etc. La taille de la modale s'adapte aux équipements qu'elle doit afficher, mais vous pouvez la déplacer. Même avec la modale de résumés ouverte, vous pouvez cliquer sur d'autres résumés.
-
+- Sur un élément de résumé pour afficher les éléments de cet objet, de ce type. Ceux-ci s'affichent dans une modale, sans changer de page et permet de rapidement fermer un volet, allumer une lumière, etc. La taille de la modale s'adapte aux équipements qu'elle doit afficher, mais vous pouvez la déplacer. Même avec la modale de résumés ouverte, vous pouvez cliquer sur d'autres résumés.
> **Conseil**
>
-> Ctrl Clic ou Clic Centre sur l'objet ou un élément de résumé ouvre un autre onglet de votre navigateur.
+> Ctrl+Clic ou Clic Centre sur l'objet ou un élément de résumé ouvre un autre onglet de votre navigateur.
Quand vous cliquez sur un objet à partir de la synthèse, le bouton à gauche de la barre de recherche est remplacé par un bouton permettant d'afficher un aperçu des pièces pour s'y rendre plus rapidement.
-
diff --git a/fr_FR/core/4.5/plugin.md b/fr_FR/core/4.5/plugin.md
index b7c61626789..a1bb59e7c68 100644
--- a/fr_FR/core/4.5/plugin.md
+++ b/fr_FR/core/4.5/plugin.md
@@ -2,25 +2,25 @@
**Plugins → Gestion des plugins**
Cette page permet d'accéder aux configurations des plugins.
-Vous pouvez également manipuler les plugins, à savoir : les télécharger, les mettre à jour et les activer, …
+Vous pouvez également manipuler les plugins, à savoir : les télécharger, les mettre à jour et les activer.
-On y trouve donc la liste des plugins dans l’ordre alphabétique et un lien vers le market.
+On y trouve la liste des plugins dans l’ordre alphabétique et un lien vers le market.
- Les plugins désactivés sont grisés.
- Les plugins qui ne sont pas en version *stable* on un point orange devant leur nom.
-En cliquant sur un plugin, vous accédez à sa configuration. En haut, vous retrouvez le nom du plugin, puis entre parenthèses, son nom dans Jeedom (ID) et enfin, le type de version installée (stable, beta).
+En cliquant sur un plugin, vous accédez à sa configuration. En haut, vous retrouvez le nom du plugin, puis entre parenthèses, son nom dans Jeedom (ID) et enfin le type de version installée (stable, beta).
> **Important**
>
-> Lors du téléchargement d’un plugin, celui-ci est désactivé par défaut. Il faut donc que vous l’activiez par vous-même.
+> Lors du téléchargement d’un plugin, celui-ci est désactivé par défaut. Il faut donc que vous l’activiez vous-même.
## Gestion
Vous avez ici trois boutons :
-- **Synchroniser Market** : Si vous installez un plugin depuis un navigateur internet sur votre compte Market (en dehors de Jeedom), vous pouvez forcer une synchronisation pour l'installer.
-- **Market** : Ouvre le Market Jeedom, pour sélectionner un plugin et l'installer sur votre Jeedom.
-- **Plugins** : Vous pouvez ici installer un plugin depuis une source Github, Samba, ...
+- **Synchroniser Market** : si vous installez un plugin depuis un navigateur internet sur votre compte Market (en dehors de Jeedom), vous pouvez forcer une synchronisation pour l'installer.
+- **Market** : ouvre le Market Jeedom, pour sélectionner un plugin et l'installer sur votre Jeedom.
+- **Plugins** : ici vous pouvez installer un plugin depuis une source Github, Samba, ...
### Synchroniser Market
@@ -28,15 +28,15 @@ Depuis un navigateur, rendez-vous sur le [Market](https://market.jeedom.com).
Connectez vous à votre compte.
Cliquez sur un plugin, puis choisissez *Installer stable* ou *Installer beta* (si votre compte Market le permet).
-Si votre compte Market est bien configuré sur votre Jeedom (Configuration→Mises à jour/Market→Onglet Market), vous pouvez cliquer sur *Synchroniser Market* ou attendre qu'il s'installe tout seul.
+Si votre compte Market est bien configuré sur votre Jeedom (Configuration → Mises à jour/Market → Onglet Market), vous pouvez cliquer sur *Synchroniser Market* ou attendre qu'il se synchronise tout seul.
### Market
Pour installer un nouveau plugin, il suffit de cliquer sur le bouton "Market" (et que Jeedom soit relié à Internet). Après un petit temps de chargement, vous obtiendrez la page.
-> **Conseil**
+> **Note**
>
-> Vous devez avoir saisi les informations de votre compte du Market dans l’administration (Configuration→Mises à jour/Market→Onglet Market) afin de retrouver les plugins que vous avez déjà achetés par exemple.
+> Vous devez avoir saisi les informations de votre compte du Market dans l’administration (Configuration → Mises à jour/Market → Onglet Market) afin de retrouver les plugins que vous avez déjà achetés par exemple.
En haut de la fenêtre, vous avez des filtres :
- **Gratuit/Payant** : permet d’afficher uniquement les gratuits ou les payants.
@@ -45,7 +45,7 @@ En haut de la fenêtre, vous avez des filtres :
- **Rechercher** : permet de rechercher un plugin (dans le nom ou la description de celui-ci).
- **Nom d’utilisateur** : affiche le nom d’utilisateur utilisé pour la connexion au Market ainsi que le statut de la connexion.
-> **Conseil**
+> **Astuce**
>
> La petite croix permet de réinitialiser le filtre concerné
@@ -58,7 +58,7 @@ Une fois que vous avez trouvé le plugin voulu, il suffit de cliquer sur celui-c
- **Installer pro** : permet d’installer la version pro (très peu utilisé).
- **Supprimer** : si le plugin est actuellement installé, ce bouton permet de le supprimer.
-En dessous, vous retrouvez la description du plugin, la compatibilité (si Jeedom détecte une incompatibilité, il vous le signalera), les avis sur le plugin (vous pouvez ici le noter) et des informations complémentaires (l’auteur, la personne ayant fait la dernière mise à jour, un lien vers la doc, le nombre de téléchargements). Sur la droite vous retrouvez un bouton "Changelog" qui vous permet d’avoir tout l’historique des modifications, un bouton "Documentation" qui renvoie vers la documentation du plugin. Ensuite vous avez la langue disponible et les diverses informations sur la date de la dernière version stable.
+En dessous, vous retrouvez la description du plugin, la compatibilité (si Jeedom détecte une incompatibilité, il vous le signalera), les avis sur le plugin (ici vous pouvez le noter) et des informations complémentaires (l’auteur, la personne ayant fait la dernière mise à jour, un lien vers la documentation, le nombre de téléchargements, la version debian minimale). Sur la droite vous retrouvez un bouton "Changelog" qui vous permet d’avoir tout l’historique des modifications, un bouton "Documentation" qui renvoie vers la documentation du plugin. Ensuite vous avez la langue disponible et les diverses informations sur la date de la dernière version stable.
> **Important**
>
@@ -66,11 +66,11 @@ En dessous, vous retrouvez la description du plugin, la compatibilité (si Jeedo
> **Important**
>
-> Certains plugins sont payants, dans ce cas la fiche du plugin vous proposera de l’acheter. Une fois cela fait, il faut attendre une dizaine de minutes (temps de validation du paiement), puis retourner sur la fiche du plugin pour l’installer normalement.
+> Certains plugins sont payants, dans ce cas la fiche du plugin vous proposera de l’acheter. Une fois cela fait, il faut attendre une dizaine de minutes (temps de validation du paiement), puis retourner sur la fiche du plugin pour pouvoir l’installer normalement.
### Plugins
-Vous pouvez ajouter un plugin à Jeedom à partir d’un fichier ou depuis un dépôt Github. Pour cela, il faut, dans la configuration de Jeedom, activer la fonction adéquate dans la partie "Mises à jour/Market".
+Vous pouvez ajouter un plugin à Jeedom à partir d’un fichier ou depuis un dépôt Github. Pour cela, dans la configuration de Jeedom, il faut activer la fonction adéquate dans la partie "Mises à jour/Market".
Attention, dans le cas de l’ajout par un fichier zip, le nom du zip doit être le même que l’ID du plugin et dès l’ouverture du ZIP un dossier plugin\_info doit être présent.
@@ -80,73 +80,73 @@ En cliquant sur l'icône d'un plugin, vous ouvrez sa page de configuration.
> **Conseil**
>
-> Vous pouvez faire un Ctrl Clic ou Clic Centre pour ouvrir sa configuration dans un nouvel onglet du navigateur.
+> Vous pouvez faire un Ctrl+Clic ou Clic Centre pour ouvrir sa configuration dans un nouvel onglet du navigateur.
### En haut à droite, quelques boutons :
-- **Détails** : Permet de retrouver la page du plugin sur le market.
-- **Documentation** : Permet d’accéder directement à la page de documentation du plugin.
-- **Changelog** : Permet de voir le changelog du plugin si il existe.
-- **Assistance** : Permet de créer automatiquement une demande d'aide sur le forum.
-- **Supprimer** : Supprime le plugin de votre Jeedom. Attention, cela supprime également définitivement tous les équipements de ce plugin.
+- **Détails** : permet de retrouver la page du plugin sur le market.
+- **Documentation** : permet d’accéder directement à la page de documentation du plugin.
+- **Changelog** : permet de voir le changelog du plugin s'il existe.
+- **Assistance** : permet de créer automatiquement une demande d'aide sur le forum.
+- **Supprimer** : supprime le plugin de votre Jeedom. Attention, cela supprime également définitivement tous les équipements de ce plugin.
### En dessous à gauche, on retrouve une zone **état** avec :
-- **Statut** : Permet de voir le statut du plugin (actif / inactif).
-- **Catégorie** : La catégorie du plugin, indiquant dans quel sous-menu le trouver.
-- **Auteur** : L’auteur du plugin, lien vers la market et les plugins de cet auteur.
-- **Licence** : Indique la licence du plugin qui sera généralement AGPL.
+- **Statut** : permet de voir le statut du plugin (actif / inactif).
+- **Catégorie** : la catégorie du plugin, indiquant dans quel sous-menu le trouver.
+- **Auteur** : l’auteur du plugin, lien vers le market et les plugins de cet auteur.
+- **Licence** : indique la licence du plugin qui sera généralement AGPL.
-- **Action** : Permet d’activer ou désactiver le plugin. Le bouton **Ouvrir** Permet de vous rendre directement sur la page du plugin.
-- **Version** : La version du plugin installée.
-- **Pré-requis** : Indique la version de Jeedom minimum requise pour le plugin.
+- **Action** : permet d’activer ou désactiver le plugin. Le bouton **Ouvrir** permet de vous rendre directement sur la page du plugin.
+- **Version** : la version du plugin installée.
+- **Pré-requis** : indique la version de Jeedom minimum requise pour le plugin.
### A droite, on retrouve la zone **Log et surveillance** qui permet de définir :
- Le niveau de logs spécifique au plugin (on retrouve cette même possibilité dans Administation → Configuration sur l’onglet logs, en bas de page).
- Voir les logs du plugin.
-- Heartbeat : Toute les 5 mins, Jeedom regarde si au moins un équipement du plugin a communiqué dans les X dernières minutes (si vous voulez désactiver la fonctionnalité, il suffit de mettre 0).
-- Redémarrer démon : Si le hertbeat tombe en erreur alors Jeedom va redémarrer le démon.
+- Heartbeat : Toutes les 5 mins, Jeedom regarde si au moins un équipement du plugin a communiqué dans les X dernières minutes (si vous voulez désactiver la fonctionnalité, il suffit de mettre 0).
+- Redémarrer démon : Si le heartbeat tombe en erreur alors Jeedom va redémarrer le démon.
Si le plugin possède des dépendances et/ou un démon, ces zones supplémentaires s’affichent sous les zones citées ci-dessus.
### Dépendances :
-- **Nom** : Généralement sera local.
-- **Statut** : Statut des dépendances, OK ou NOK.
-- **Installation** : Permet d’installer ou réinstaller les dépendances (si vous ne le faites pas manuellement et qu’elles sont NOK, Jeedom s’en chargera de lui-même au bout d’un moment).
-- **Dernière installation** : Date de la dernière installation des dépendances.
+- **Nom** : sera généralement local.
+- **Statut** : statut des dépendances, OK ou NOK.
+- **Installation** : permet d’installer ou réinstaller les dépendances (si vous ne le faites pas manuellement et qu’elles sont NOK, Jeedom s’en chargera de lui-même au bout d’un moment).
+- **Dernière installation** : date de la dernière installation des dépendances.
### Démon :
-- **Nom** : Généralement sera local.
-- **Statut** : Statut du démon, OK ou NOK.
-- **Configuration** : OK si tous les critères pour que le démon tourne sont réunis, ou donne la cause du blocage.
-- **(Re)Démarrer** : Permet de lancer ou relancer le démon.
-- **Arrêter** : Permet d’arrêter le démon (Uniquement dans le cas où la gestion automatique est désactivée).
-- **Gestion automatique** : Permet d’activer ou désactiver la gestion automatique (ce qui permet à Jeedom de gérer lui même le démon et le relancer si besoin. Sauf contre indication, il est conseillé de laisser la gestion automatique active).
-- **Dernier lancement** : Date du dernier lancement du démon.
+- **Nom** : sera généralement local.
+- **Statut** : statut du démon, OK ou NOK.
+- **Configuration** : OK si tous les critères pour que le démon tourne sont réunis ou donne la cause du blocage.
+- **(Re)Démarrer** : permet de lancer ou de relancer le démon.
+- **Arrêter** : permet d’arrêter le démon (Uniquement dans le cas où la gestion automatique est désactivée).
+- **Gestion automatique** : permet d’activer ou de désactiver la gestion automatique (ce qui permet à Jeedom de gérer lui même le démon et le relancer si besoin. Sauf contre indication, il est conseillé de laisser la gestion automatique active).
+- **Dernier lancement** : date du dernier lancement du démon.
-> **Conseil**
+> **Note**
>
> Certains plugins ont une partie configuration. Si tel est le cas, elle apparaîtra sous les zones dépendances et démon décrites ci-dessus.
> Dans ce cas, il faut se référer à la documentation du plugin en question pour savoir comment le configurer.
### En dessous, on retrouve une zone fonctionnalités. Celle-ci permet de voir si le plugin utilise une des fonctions core Jeedom tel que :
-- **Interact** : Des interactions spécifiques.
-- **Cron** : Un cron à la minute.
-- **Cron5** : Un cron toutes les 5 minutes.
-- **Cron10** : Un cron toutes les 10 minutes.
-- **Cron15** : Un cron toutes les 15 minutes.
-- **Cron30** : Un cron toutes les 30 minutes.
-- **CronHourly** : Un cron toutes les heures.
-- **CronDaily** : Un cron journalier.
-- **deadcmd** : Un cron pour les commanders dead.
-- **health** : Un cron health.
-
-> **Conseil**
+- **Interact** : des interactions spécifiques.
+- **Cron** : un cron à la minute.
+- **Cron5** : un cron toutes les 5 minutes.
+- **Cron10** : un cron toutes les 10 minutes.
+- **Cron15** : un cron toutes les 15 minutes.
+- **Cron30** : un cron toutes les 30 minutes.
+- **CronHourly** : un cron toutes les heures.
+- **CronDaily** : un cron journalier.
+- **deadcmd** : un cron pour les commandes dead.
+- **health** : un cron health.
+
+> **Note**
>
> Si le plugin utilise une de ces fonctions, vous pourrez spécifiquement lui interdire de le faire en décochant la case "activer" qui sera présente à côté.
diff --git a/fr_FR/core/4.5/profils.md b/fr_FR/core/4.5/profils.md
index f34d3ff1425..770d725e6ca 100644
--- a/fr_FR/core/4.5/profils.md
+++ b/fr_FR/core/4.5/profils.md
@@ -7,39 +7,37 @@ La page Préférences vous permet de configurer certains comportements de Jeedom
### Interface
-Définit certains comportements de l’interface
+- **Page par défaut** : page à afficher par défaut lors de la connexion en desktop ou mobile.
+- **Objet par défaut** : objet à afficher par défaut lors de l’arrivée sur le Dashboard / mobile.
-- **Page par défaut** : Page à afficher par défaut lors de la connexion en desktop ou mobile.
-- **Objet par défaut** : Objet à afficher par défaut lors de l’arrivée sur le Dashboard / mobile.
+- **Vue par défaut** : vue à afficher par défaut lors de l’arrivée sur le Dashboard / mobile.
+- **Déplier le panneau des vues** : permet de rendre visible par défaut le menu des vues (à gauche) sur les vues.
-- **Vue par défaut** : Vue à afficher par défaut lors de l’arrivée sur le Dashboard / mobile.
-- **Déplier le panneau des vues** : Permet de rendre visible par défaut le menu des vues (à gauche) sur les vues.
+- **Design par défaut** : design à afficher par défaut lors de l’arrivée sur le Dashboard / mobile.
+- **Design Plein écran** : affichage par défaut en plein écran lors de l’arrivée sur les designs.
-- **Design par défaut** : Design à afficher par défaut lors de l’arrivée sur le Dashboard / mobile.
-- **Design Plein écran** : Affichage par défaut en plein écran lors de l’arrivée sur les designs.
-
-- **Design 3D par défaut** : Design 3D à afficher par défaut lors de l’arrivée sur le Dashboard / mobile.
-- **Design 3D Plein écran** : Affichage par défaut en plein écran lors de l’arrivée sur les designs 3D.
+- **Design 3D par défaut** : design 3D à afficher par défaut lors de l’arrivée sur le Dashboard / mobile.
+- **Design 3D Plein écran** : affichage par défaut en plein écran lors de l’arrivée sur les designs 3D.
### Notifications
-- **Commande de notification utilisateur** : Commande par défaut pour vous joindre (commande de type message).
+- **Commande de notification utilisateur** : commande par défaut pour vous joindre (commande de type message).
## Onglet Sécurité
-- **Authentification en 2 étapes** : permet de configurer l’authentification en 2 étapes (pour rappel, c’est un code changeant toutes les X secondes qui s’affiche sur une application mobile, type *google authentificator*). A noter que la double authentification ne sera demandée que pour les connexions externes Pour les connexions locales le code ne sera donc pas demandé.
+- **Authentification en 2 étapes** : permet de configurer l’authentification en 2 étapes (pour rappel, c’est un code changeant toutes les X secondes qui s’affiche sur une application mobile, type *google authentificator*). A noter que la double authentification ne sera demandée que pour les connexions externes. Pour les connexions locales le code ne sera pas demandé.
**Important** si lors de la configuration de la double authentification vous avez une erreur, il faut vérifier que Jeedom (voir sur la page santé) et votre téléphone sont bien à la même heure (1 min de différence suffit pour que ça ne marche pas).
-- **Mot de passe** : Permet de changer votre mot de passe (ne pas oublier de le retaper en dessous).
+- **Mot de passe** : permet de changer votre mot de passe (ne pas oublier de le retaper en dessous).
-- **Hash de l’utilisateur** : Votre clef API d’utilisateur.
+- **Hash de l’utilisateur** : votre clef API d’utilisateur.
### Sessions actives
-Vous avez ici la liste de vos sessions actuellement connectées, leur ID, leur IP ainsi que la date de dernière communication. En cliquant sur "Déconnecter" cela déconnectera l’utilisateur. Attention si il est sur un périphérique enregistré, cela supprimera également l’enregistrement.
+Les sessions actuellement connectées sont listées, leur ID, leur IP ainsi que la date de la dernière communication. En cliquant sur "Déconnecter" cela déconnectera l’utilisateur. Attention s'il est sur un périphérique enregistré, cela supprimera également l’enregistrement.
### Périphériques enregistrés
Vous retrouvez ici la liste de tous les périphériques enregistrés (qui se connectent sans authentification) à votre Jeedom ainsi que la date de dernière utilisation.
-Vous pouvez ici supprimer l’enregistrement d’un périphérique. Attention cela ne le déconnecte pas mais empêchera juste sa reconnexion automatique.
+Vous pouvez supprimer l’enregistrement d’un périphérique. Attention cela ne le déconnecte pas mais empêchera sa reconnexion automatique.
diff --git a/fr_FR/core/4.5/replace.md b/fr_FR/core/4.5/replace.md
index 84e558a0190..6e4ffacdf25 100644
--- a/fr_FR/core/4.5/replace.md
+++ b/fr_FR/core/4.5/replace.md
@@ -1,13 +1,15 @@
- # Remplacer
+# Remplacer
## Pourquoi un tel outil ?

-Jeedom propose depuis la version 4.3.2 un nouvel outil Remplacer qui, en cas de problème ou de la nécessité de remplacer d’un équipement physique ou virtuel (un capteur de température, de présence, une commande de volume, un niveau d’eau,…), assurera la recopie de l’ensemble des commandes, informations, paramètres avancés et historique de cet équipement vers un nouvel équipement.
-Il se chargera également de remplacer l’ID de l’ancien équipement par le nouveau dans tous les scénarios, designs, virtuels, etc… qui y faisait référence.
+Jeedom propose un nouvel outil Remplacer depuis la version 4.3.2 qui, en cas de problème ou de la nécessité d’un équipement physique ou virtuel (un capteur de température, de présence, une commande de volume, un niveau d’eau, …), assurera la recopie de l’ensemble des commandes, informations, paramètres avancés et historique de cet équipement vers un nouvel équipement.
+
+Il se chargera également de remplacer l’ID de l’ancien équipement par le nouveau dans tous les scénarios, designs, virtuels, etc… qui y faisaient référence.
+
+En effet, si l’ancien équipement est supprimé, la référence à son numéro d'ID original sera définitivement effacée. Il faudra alors recréer toutes les commandes et les réintégrer dans l’ensemble des designs, widgets, etc… pour le nouveau module, et ce même si celui-ci est strictement de même type que l’original, voire le même mais avec un numéro d'ID différent.
-En effet, si l’ancien équipement est supprimé, la référence à son numéro d'ID original sera définitivement effacée. Il faudra alors recréer toutes les commandes et les réintégrer dans l’ensemble des designs, widgets, etc… pour le nouveau module, et ce même si celui-ci est strictement de même type que l’original, voire le même mais avec un numéro d'ID différent.
Aussi, avant toute suppression d’un équipement, Jeedom va prévenir des conséquences de cette suppression dans une fenêtre d’alerte :

@@ -15,157 +17,135 @@ Aussi, avant toute suppression d’un équipement, Jeedom va prévenir des cons
Ici, la suppression de ce capteur de vibration va provoquer :
- La suppression des affichages définis dans le design 'Alarmes zones',
-- La suppression des informations vibration, niveau de batterie, et date de la dernière communication, y compris en ce qui concerne les historiques,
+- La suppression des informations vibration, niveau de batterie et date de la dernière communication ainsi que les historiques,
- La suppression de l’équipement dans le scénario ‘Alarme détection intru’.
-Et à partir du moment où cet équipement sera définitivement supprimé, il sera remplacé dans toutes ces entités par son ancien numéro d’ID, ou un champ vide à la place de son appellation d’origine :
+Et à partir du moment où cet équipement sera définitivement supprimé, il sera remplacé dans toutes ces entités par son ancien numéro d’ID ou un champ vide à la place de son appellation d’origine :

-
## Les opérations à effectuer au préalable avant d’utiliser cet outil
-Même si l’outil Remplacer va vous proposer d'effectuer une sauvegarde de précaution avant, il est fortement conseillé d’en faire une avant de commencer cette procédure de remplacement.
-Gardez à l’esprit que cet outil est en effet vraiment puissant dans la mesure où il va aller effectuer les remplacements à tous les niveaux, y compris sur ceux auxquels vous n’aviez pas pensé ou tout simplement oublié. De plus, il n’existe pas de fonction *undo* pour annuler ou revenir en arrière.
+Même si l’outil Remplacer va vous proposer d'effectuer une sauvegarde de précaution avant, il est fortement conseillé d’en faire une avant de commencer cette procédure de remplacement.
+
+Gardez à l’esprit que cet outil est en effet vraiment puissant dans la mesure où il va aller effectuer les remplacements à tous les niveaux, y compris sur ceux auxquels vous n’aviez pas pensé ou tout simplement oublié. De plus, il n’existe pas de fonction *undo* pour annuler ou revenir en arrière.
La phase suivante va être le renommage de l’ancien équipement. Pour ce faire, il suffit de lui changer son nom, en ajoutant le suffixe '**_old**' par exemple.

-
N’oubliez pas de sauvegarder.
-
-Il faut ensuite effectuer l’inclusion du nouvel équipement s’il s’agit d’un équipement physique, ou la création du nouvel équipement virtuel, suivant la procédure standard propre à chaque plugin.
-Cet équipement sera dénommé avec son nom définitif, puis l’objet parent et sa catégorie défini avant de l’activer.
-
+Ensuite il faut effectuer l’inclusion du nouvel équipement s’il s’agit d’un équipement physique, ou la création du nouvel équipement virtuel, suivant la procédure standard propre à chaque plugin.
+Cet équipement sera nommé avec son nom définitif, puis l’objet parent et sa catégorie doivent être définis avant l’activation.
+
On obtient ainsi deux équipements :
- L’ancien équipement, qui n’existe peut-être plus physiquement, mais qui reste néanmoins référencé dans toutes les structures de Jeedom avec ses historiques,
- Et le nouvel équipement, sur lequel il s’agira de recopier les historiques et de le référencer à la place de l’ancien.
-

-
## L’utilisation de l’outil Remplacer
Ouvrir l’outil Remplacer, dans le menu Outils.

-
-Dans le champ *Objet*, sélectionner le ou les objets parents.
+Dans le champ *Objet*, sélectionnez le ou les objets parents.

-
-Dans les options, sélectionner le mode souhaité (*Remplacer* ou *Copier*) dans la liste déroulante, et suivant les besoins, les options suivantes (qui sont toutes décochées par défaut), soit au minimum :
+Dans les options, sélectionnez le mode souhaité (*Remplacer* ou *Copier*) dans la liste déroulante et, suivant les besoins, les options suivantes (qui sont toutes décochées par défaut), soit au minimum :
- Copier la configuration de l’équipement source,
- Copier la configuration de la commande source.
-

-
-Puis cliquer sur Filtrer
+Puis cliquez sur Filtrer

-
Dans le champ *Remplacements*, toutes les entités relatives à l’objet parent apparaissent :

-
-Cocher l’équipement source (renommé en '**_old**'), c’est à dire celui à partir duquel on souhaite recopier les commandes, informations, historique…
-Ici, l’équipement source sera donc : [Chambre ami][T°Chambre_old] (767 | z2m).
-Cliquer sur la ligne pour faire apparaître les différents champs rattachés.
+Cochez l’équipement source (renommé en '**_old**'), c’est à dire celui à partir duquel on souhaite recopier les commandes, informations, historique…
+Ici, l’équipement source sera donc : [Chambre ami][T°Chambre_old] (767 | z2m).
+
+Cliquez sur la ligne pour faire apparaître les différents champs rattachés.

-
-Dans la partie *Cible* à droite, dérouler la liste et sélectionner le nouvel équipement qui va le remplacer, c’est à dire [Chambre ami][T° chambre] dans notre exemple.
+Dans la partie *Cible* à droite, déroulez la liste et sélectionnez le nouvel équipement qui va le remplacer, c’est à dire [Chambre ami][T° chambre] dans notre exemple.

-
Dans les listes déroulantes qui s’affichent ensuite à droite, les informations sont présentées sur fond bleu, les actions sur fond orange (ci-dessous un autre exemple sur un luminaire où il y a des actions et des infos).

-
Et s’il y a une correspondance directe (même nom en particulier), les différents paramètres seront définis automatiquement.

-
Ici, tout est automatiquement reconnu.
-Sinon, le champ sera vide, et il faudra sélectionner manuellement dans la liste déroulante l’information/action correspondante si pertinente.
+Sinon, le champ sera vide et il faudra sélectionner manuellement dans la liste déroulante l’information/action correspondante si pertinente.

-
Cliquer sur Remplacer,

-
-Valider le remplacement, en vérifiant qu’une sauvegarde ait bien été faite auparavant (attention, il n’y a pas de retour en arrière possible !).
+Valider le remplacement en vérifiant qu’une sauvegarde ait bien été faite auparavant (attention, il n’y a pas de retour en arrière possible !).

-
-D’ailleurs, l’outil vous le proposera à cette étape. Mais en quittant cette fonction pour effectuer cette sauvegarde à ce moment, vous abandonnerez également tous les paramétrages déjà réalisés, d’où l’intérêt de faire cette sauvegarde dès le début de la procédure.
+D’ailleurs, l’outil vous le proposera à cette étape. Mais en quittant cette fonction pour effectuer cette sauvegarde à ce moment, vous abandonnerez également tous les paramétrages déjà réalisés, d’où l’intérêt de faire cette sauvegarde dès le début de la procédure.
-Après avoir lancé la commande, à l'issue d'une brève attente un pop-up d’alerte va apparaître et va indiquer le bon déroulement de la procédure.
+Après avoir lancé la commande, à l'issue d'une brève attente un pop-up d’alerte va apparaître et va indiquer le bon déroulement de la procédure.
## Les vérifications
Assurez-vous que le nouvel équipement ait bien été pris en compte dans les designs, scénarios, widgets, virtuels, plugs-in, etc… avec sa configuration (disposition, affichage, affectation des widgets,…), et (le cas échéant) l’historique associé.

-
Pour bien vérifier qu’aucun problème supplémentaire n’ait été généré suite à ce remplacement, il est possible d’utiliser la fonction de détection des commandes orphelines.
-Aller sur Analyse, Equipements, cliquer sur l’onglet *Commandes orphelines*.
+Allez sur Analyse, Equipements, cliquerz sur l’onglet *Commandes orphelines*.

-

-
-Si tout c’est bien passé, il ne doit y avoir aucune ligne présente dans ce compte rendu.
+Si tout s’est bien passé, il ne doit y avoir aucune ligne présente dans ce compte rendu.

-
Sinon, il faudra procéder à une analyse ligne par ligne pour chaque problème identifié pour y remédier.

-
Mais si les commandes orphelines ne sont pas prises en compte par l’outil Remplacer, il est quand même possible d’opérer à des remplacements avec cette fonction Cette commande remplace l’ID qu’on retrouve ici dans la fenêtre de configuration de la commande :

-
## Finalisation
Si tout est correct, l’ancien équipement (T°Chambre_old dans l’exemple) peut alors être supprimé définitivement. Plus aucune référence ne doit apparaître dans le pop-up d’avertissement lors de la suppression, excepté les commandes intrinsèques à cet équipement.

-
-Ici, cet équipement n’est plus référencé que par son objet d’appartenance et ses propres commandes, ce qui est normal. On peut donc le supprimer sans regrets.
+Ici, cet équipement n’est plus référencé que par son objet d’appartenance et ses propres commandes, ce qui est normal. On peut donc le supprimer sans regrets.
## Conclusion
-Cet outil est pratique, mais il est tout aussi dangereux s’il est mal utilisé de part son implication multi-niveaux.
+Cet outil est pratique, mais il est tout aussi dangereux s’il est mal utilisé de part son implication multi-niveaux.
+
Aussi, gardez bien à l'esprit ces fondamentaux :
-- Effectuer systématiquement une sauvegarde de précaution, et ce avant même d'utiliser l'outil Remplacer,
+- Effectuez systématiquement une sauvegarde de précaution, et ce avant même d'utiliser l'outil Remplacer,
- Il n’y a pas d’annulation ou de retour en arrière possible après l'exécution de cette commande,
- Et enfin, il est fortement conseillé de se familliariser à minima avec l'utilisation de cet outil.
diff --git a/fr_FR/core/4.5/report.md b/fr_FR/core/4.5/report.md
index b0c83bcd83a..f04d6871c50 100644
--- a/fr_FR/core/4.5/report.md
+++ b/fr_FR/core/4.5/report.md
@@ -5,20 +5,20 @@ Cette page permet de voir tous les rapports qui ont été générés par l'actio
## Principe
-Un rapport est une capture d'écran de l'interface de Jeedom à un instant t.
+Un rapport est une capture d'écran de l'interface de Jeedom à un instant T.
> **Note**
>
> Cette capture est adaptée pour ne pas prendre la barre de menu et autres éléments inutiles sur ce type d'utilisation.
-Vous pouvez le faire sur des vues, designs, pages de panel....
+Vous pouvez le faire sur des vues, designs, pages de panel...
-La génération se déclenche à partir d'un scénario avec la commande report.
+La génération se déclenche à partir d'un scénario avec la commande report.
Vous pouvez choisir de vous faire envoyer ce rapport à l'aide d'une commande message (mail, télégram, etc).
## Utilisation
-Son utilisation est très simple. Sélectionnez sur la gauche si vous voulez voir :
+Son utilisation est très simple : sur la gauche, sélectionnez si vous voulez voir :
- Les rapports des vues.
- Les rapports des designs.
@@ -35,10 +35,10 @@ Une fois le rapport sélectionné, vous pouvez le voir apparaître, le télécha
Vous pouvez aussi supprimer toutes les sauvegardes d'un rapport donné
-## FAQ
+## Résolution d'erreur
> Si vous avez une erreur du type Détails :
-> *cutycapt: error while loading shared libraries: libEGL.so: cannot open shared object file: No such file or directory*
-> Il faut en ssh ou dans Réglages → Système → Configuration : OS/DB / Système administration faire :
-> ```sudo ln -s /usr/lib/aarch64-linux-gnu/libGLESv2.so.2 /usr/lib/aarch64-linux-gnu/libGLESv2.so```
+> *cutycapt: error while loading shared libraries: libEGL.so: cannot open shared object file: No such file or directory*
+> Il faut lancer les commandes suivantes en ssh ou dans Réglages → Système → Configuration : OS/DB / Système administration :
+> ```sudo ln -s /usr/lib/aarch64-linux-gnu/libGLESv2.so.2 /usr/lib/aarch64-linux-gnu/libGLESv2.so```
> ```sudo ln -s /usr/lib/aarch64-linux-gnu/libEGL.so.1 /usr/lib/aarch64-linux-gnu/libEGL.so```
diff --git a/fr_FR/core/4.5/scenario.md b/fr_FR/core/4.5/scenario.md
index e002eafb7c6..1e7e0de0df1 100644
--- a/fr_FR/core/4.5/scenario.md
+++ b/fr_FR/core/4.5/scenario.md
@@ -8,31 +8,30 @@ Véritable cerveau de la domotique, les scénarios permettent d’interagir avec
## Gestion
-Vous y trouverez la liste des scénarios de votre Jeedom, ainsi que des fonctionnalités pour les gérer au mieux :
+Vous y trouverez la liste des scénarios de votre Jeedom ainsi que des fonctionnalités pour les gérer :
- **Ajouter** : Permet de créer un scénario. La procédure est décrite dans le chapitre suivant.
-- **Désactiver scénarios** : Permet de désactiver tous les scénarios. Rarement utilisé et en connaissance de cause, puisqu'aucun scénario ne s’exécutera plus.
+- **Désactiver scénarios** : Permet de désactiver tous les scénarios. Rarement utilisé ou en connaissance de cause, puisqu'aucun scénario ne s’exécutera plus.
- **Vue d’ensemble** : Permet d’avoir une vue d’ensemble de tous les scénarios. Vous pouvez changer les valeurs **actif**, **visible**, **multi lancement**, **mode synchrone**, **Log** et **Timeline** (ces paramètres sont décrits dans le chapitre suivant). Vous pouvez également accéder aux logs de chaque scénario et les démarrer individuellement.
## Mes scénarios
-Vous trouverez dans cette partie-là **liste des scénarios** que vous avez créés. Ils sont classés suivant leur **groupe**, éventuellement définis pour chacun d’eux. Chaque scénario est affiché avec son **nom** et son **objet parent**. Les **scénarios grisés** sont ceux qui sont désactivés.
+Dans cette partie, vous trouverez la **liste des scénarios** que vous avez créés. Ils sont classés suivant leur **groupe**, éventuellement défini pour chacun d’eux. Chaque scénario est affiché avec son **nom** et son **objet parent**. Les **scénarios grisés** sont ceux qui sont désactivés.
> **Conseil**
>
> Vous pouvez ouvrir un scénario en faisant :
->
> - Clic sur l'un d'entre eux.
-> - Ctrl Clic ou Clic Centre pour l'ouvrir dans un nouvel onglet du navigateur.
+> - Ctrl+Clic ou Clic Centre pour l'ouvrir dans un nouvel onglet du navigateur.
-Vous disposez d'un moteur de recherche permettant de filtrer l'affichage des scénarios. La touche Echap annule la recherche.
+Vous disposez d'un moteur de recherche permettant de filtrer l'affichage des scénarios. La touche Echap annule la recherche.
A droite du champ de recherche, trois boutons que l'on retrouve à plusieurs endroits de Jeedom :
- La croix pour annuler la recherche.
- Le dossier ouvert pour déplier tous les panneaux et afficher tous les scénarios.
- Le dossier fermé pour replier tous les panneaux.
-Une fois sur la configuration d'un scénario, vous disposez d'un menu contextuel au Clic Droit sur les onglets du scénario. Vous pouvez également utiliser un Ctrl Clic ou Clic Centre pour ouvrir directement un autre scénario dans un nouvel onglet du navigateur.
+Une fois sur la configuration d'un scénario, vous disposez d'un menu contextuel au Clic Droit sur les onglets du scénario. Vous pouvez également utiliser un Ctrl+Clic ou Clic Centre pour ouvrir directement un autre scénario dans un nouvel onglet du navigateur.
## Création | Édition d’un scénario
@@ -54,13 +53,13 @@ Avant cela, en haut de page, on retrouve certaines fonctions utiles pour gérer
- **Supprimer** : Supprimer le scénario.
- **Sauvegarder** : Sauvegarder les changements effectués.
-> **Tips**
+> **Conseil**
>
> Deux outils vous seront également précieux dans la mise en place de scénarios :
- > - Les variables, visibles dans **Outils → Variables**
- > - Le testeur d'expressions, accessible par **Outils → Testeur expression**
+> - Les variables, visibles dans **Outils → Variables**
+> - Le testeur d'expressions, accessible par **Outils → Testeur expression**
>
-> Un **Ctrl Clic sur le bouton Exécuter** vous permet directement de sauvegarder, exécuter et afficher le log du scénario (si le niveau de log n'est pas sur Aucun).
+> Un Ctrl+Clic sur le bouton **Exécuter** vous permet directement de sauvegarder, exécuter et afficher le log du scénario (si le niveau de log n'est pas sur Aucun).
## Onglet Général
@@ -68,9 +67,9 @@ Dans l’onglet **Général**, on retrouve les paramètres principaux du scénar
- **Nom du scénario** : Le nom de votre scénario.
- **Nom à afficher** : Le nom utilisé pour son affichage. Facultatif, s'il n'est pas renseigné, c'est le nom du scénario qui est utilisé.
-- **Groupe** : Permet d’organiser les scénarios, en les classant dans des groupes (visibles sur la page des scénarios et dans leurs menus contextuels).
+- **Groupe** : Permet d’organiser les scénarios en les classant dans des groupes (visibles sur la page des scénarios et dans leur menu contextuel).
- **Actif** : Permet d’activer le scénario. Si non actif, il ne sera pas exécuté par Jeedom, quel que soit le mode de déclenchement.
-- **Visible** : Permet de rendre visible le scénario (Dashboard).
+- **Visible** : Permet de rendre le scénario visible (Dashboard).
- **Objet parent** : Affectation à un objet parent. Il sera alors visible ou non selon ce parent.
- **Timeout en secondes (0 = illimité)** : La durée d’exécution maximale autorisée pour ce scénario. Au-delà de ce temps, l'exécution du scénario est interrompue.
- **Multi lancement** : Cochez cette case si vous souhaitez que le scénario puisse être lancé plusieurs fois en même temps.
@@ -79,28 +78,28 @@ Dans l’onglet **Général**, on retrouve les paramètres principaux du scénar
>
>Le multi lancement marche à la seconde, c'est à dire que si vous avez 2 lancements dans la même seconde sans la case cochée il y aura quand même 2 lancements du scénario (alors qu'il ne devrait pas). De même lors de plusieurs lancements dans la même seconde il se peut que certains lancements perdent les tags. Conclusion il faut ABSOLUMENT éviter de multiples lancements dans la même seconde.
-- **Mode synchrone** : Lance le scénario dans le thread courant au lieu d'un thread dédié. Permet d'augmenter la vitesse de lancement du scénario, mais peut rendre le système instable. Attention a ne surtout pas mettre de scénario complexe ou avec des pauses (sleep) ou wait en synchrone, cela engendre un comportement instable de jeedom et ne pourra être couvert par le support.
+- **Mode synchrone** : Lance le scénario dans le thread courant au lieu d'un thread dédié. Permet d'augmenter la vitesse de lancement du scénario, mais peut rendre le système instable. Attention à ne surtout pas mettre de scénario complexe ou avec des pauses (sleep) ou wait en synchrone, cela engendre un comportement instable de jeedom et ne pourra être couvert par le support.
- **Log** : Le type de log souhaité pour le scénario. Vous pouvez couper les logs du scénario ou au contraire le faire apparaître dans Analyse → Temps réel.
-- **Timeline** : Permet de garder un suivi du scénario dans la timeline (voir doc Historique).
+- **Timeline** : Permet de garder un suivi du scénario dans la timeline (voir [documentation Historique](history.md).
- **Icône** : Permet de choisir une icône pour le scénario en lieu et place de l’icône standard.
-- **Description** : Permet d’écrire un petit texte pour décrire votre scénario.
+- **Description** : Permet de décrire votre scénario.
- **Mode du scénario** : Le scénario peut être programmé, déclenché ou les deux à la fois. Vous aurez ensuite le choix d’indiquer le(s) déclencheur(s) (15 déclencheurs maximum) et la/les programmation(s).
> **Conseil**
>
-> En mode déclenché, des conditions peuvent à présent être saisies. Par ex : ``#[Garage][Open Garage][Ouverture]# == 1``
+> En mode déclenché, des conditions peuvent à présent être saisies. Par ex : ``#[Garage][Open Garage][Ouverture]# == 1``
> Attention : vous pouvez avoir au maximum 28 déclencheurs/programmations pour un scénario.
-> **Tip Mode programmé**
+> **Conseil pour le Mode programmé**
>
-> Le mode programmé utilise la syntaxe **Cron**. Vous pourrez par exemple exécuter un scénario toutes les 20 minutes avec `*/20 * * * *`, ou à 5h du matin pour régler une multitude de choses pour la journée avec ``0 5 * * *``. Le ? à droite d'une programmation vous permet de régler celle-ci sans être un spécialiste de la syntaxe Cron. Il est aussi possible de mettre une heure de lancement sous la forme `Gi` (heure sans zero initial et minute, exemple pour `09h15` => `915` ou pour `23h40` => `2340`). Cette heure peut etre le résultat d'un calcul (utilisant une commande ou un tag), par exemple : `#sunset# + 10` pour un lancement 10 minutes après le couché du soleil. A noter que pour un lancement 1h30 après le couché du soleil il faut mettre `#sunset# + 130`. A noter que lors de l'utilisation d'une syntaxe autre qu'un cron jeedom ne sera pas en mesure de vous donner les dates des lancements précedent ou suivant.
+> Le mode programmé utilise la syntaxe **Cron**. Vous pourrez par exemple exécuter un scénario toutes les 20 minutes avec `*/20 * * * *` ou à 5h du matin pour régler une multitude de choses pour la journée avec ``0 5 * * *``. Le ? à droite d'une programmation vous permet de régler celle-ci sans être un spécialiste de la syntaxe Cron. Il est aussi possible de mettre une heure de lancement sous la forme `Gi` (heure sans zero initial et minute, exemple pour `09h15` => `915` ou pour `23h40` => `2340`). Cette heure peut etre le résultat d'un calcul (utilisant une commande ou un tag), par exemple : `#sunset# + 10` pour un lancement 10 minutes après le couché du soleil. A noter que pour un lancement 1h30 après le couché du soleil il faut mettre `#sunset# + 130`. A noter que lors de l'utilisation d'une syntaxe autre qu'un cron, jeedom ne sera pas en mesure de vous donner les dates des lancements précedent ou suivant.
## Onglet Scénario
C’est ici que vous allez construire votre scénario. Après la création du scénario, son contenu est vide, il ne fera donc ... rien. Il faut commencer par **ajouter un bloc**, avec le bouton situé à droite. Une fois un bloc créé, vous pourrez y ajouter un autre **bloc** ou une **action**.
-Pour plus de praticité et ne pas avoir à constamment réordonner les blocs dans le scénario, l'ajout d'un bloc se fait après le champ dans lequel se situe le curseur de la souris.
-*Par exemple, si vous avez une dizaine de blocs, et que vous cliquez dans la condition SI du premier bloc, le bloc ajouté le sera après ce bloc, au même niveau. Si aucun champ n'est actif, il sera ajouté à la fin du scénario.*
+Pour plus de praticité et ne pas avoir à constamment réordonner les blocs dans le scénario, l'ajout d'un bloc se fait après le champ dans lequel se situe le curseur de la souris.
+*Par exemple, si vous avez une dizaine de blocs et que vous cliquez dans la condition SI du premier bloc, le bloc ajouté le sera après ce bloc, au même niveau. Si aucun champ n'est actif, il sera ajouté à la fin du scénario.*
> **Conseil**
>
@@ -108,7 +107,7 @@ Pour plus de praticité et ne pas avoir à constamment réordonner les blocs dan
> **Conseil**
>
-> Un Ctrl Shift Z ou Ctrl Shift Y vous permet d'**annuler** ou de **refaire** une modification (ajout d'action, de bloc...).
+> Un Ctrl+Shift+Z ou Ctrl+Shift+Y vous permet d'**annuler** ou de **refaire** une modification (ajout d'action, de bloc...).
## Les blocs
@@ -116,7 +115,7 @@ Voici les différents types de blocs disponibles :
- **Si/Alors/Sinon** : Permet de réaliser des actions sous condition (si ceci, alors cela).
- **Action** : Permet de lancer des actions simples sans aucune condition.
-- **Boucle** : Permet de réaliser des actions de manière répétitive de 1 jusqu’à un nombre défini (ou même la valeur d’un capteur, ou un nombre aléatoire…).
+- **Boucle** : Permet de réaliser des actions de manière répétitive de 1 jusqu’à un nombre défini (ou même la valeur d’un capteur ou un nombre aléatoire…).
- **Dans** : Permet de lancer une action dans X minute(s) (0 est une valeur possible). La particularité est que les actions sont lancées en arrière-plan, elles ne bloquent donc pas la suite du scénario. C’est donc un bloc non bloquant.
- **A** : Permet de dire à Jeedom de lancer les actions du bloc à une heure donnée (sous la forme hhmm). Ce bloc est non bloquant. Ex : 0030 pour 00h30, ou 0146 pour 1h46 et 1050 pour 10h50.
- **Code** : Permet d’écrire directement en code PHP (demande certaines connaissances et peut être risqué mais permet de n’avoir aucune contrainte).
@@ -126,13 +125,13 @@ Chaque bloc a ses options pour mieux les manipuler :
- Sur la gauche :
- La flèche bidirectionnelle permet de déplacer un bloc ou une action pour les réordonner dans le scénario.
- - L’œil permet de réduire un bloc (*collapse*) pour réduire son impact visuel. Ctrl Clic sur l’œil les réduit ou les affiche tous.
+ - L’œil permet de réduire un bloc (*collapse*) pour réduire son impact visuel. Ctrl+Clic sur l’œil les réduit ou les affiche tous.
- La case à cocher permet de désactiver complètement le bloc sans pour autant le supprimer. Il ne sera donc pas exécuté.
- Sur la droite :
- - L’icône Copier permet de copier le bloc pour en faire une copie ailleurs. Ctrl Clic sur l’icône coupe le bloc (copie puis suppression).
- - L’icône Coller permet de coller une copie du bloc précédemment copié après le bloc sur lequel vous utilisez cette fonction. Ctrl Clic sur l’icône remplace le bloc par le bloc copié.
- - L'icône - permet de supprimer le bloc, avec une demande de confirmation. Ctrl Clic supprime le bloc sans confirmation.
+ - L’icône Copier permet de copier le bloc pour en faire une copie ailleurs. Ctrl+Clic sur l’icône coupe le bloc (copie puis suppression).
+ - L’icône Coller permet de coller une copie du bloc précédemment copié après le bloc sur lequel vous utilisez cette fonction. Ctrl+Clic sur l’icône remplace le bloc par le bloc copié.
+ - L'icône - permet de supprimer le bloc, avec une demande de confirmation. Ctrl+Clic supprime le bloc sans confirmation.
### Blocs Si/Alors/Sinon | Boucle | Dans | A
@@ -205,7 +204,7 @@ Le bloc Code permet d’exécuter du code PHP. Il est donc très puissant mais n
### Bloc Commentaire
-Le Bloc commentaire agît différemment quand il est masqué. Ses boutons sur la gauche disparaissent ainsi que le titre du bloc, et réapparaissent au survol. De même, la première ligne du commentaire est affichée en caractères gras.
+Le Bloc commentaire agit différemment quand il est masqué. Ses boutons sur la gauche ainsi que le titre du bloc disparaissent et réapparaissent au survol. De même, la première ligne du commentaire est affichée en caractères gras.
Ceci permet d'utiliser ce bloc comme séparation purement visuelle au sein du scénario.
### Les Actions
@@ -217,7 +216,7 @@ Les actions ajoutées dans les blocs ont plusieurs options :
- Une **double-flèche verticale** pour déplacer l’action. Il suffit de la glisser/déposer à partir de là.
- Un bouton pour **supprimer** l’action.
- Un bouton pour les actions spécifiques, avec à chaque fois la description (au survol) de cette action.
-- Un bouton pour rechercher une commande d’action.
+- Un bouton pour rechercher une commande action.
> **Conseil**
>
@@ -236,12 +235,12 @@ Il existe des déclencheurs spécifiques (autre que ceux fournis par les command
- ``#end_update#`` : Événement envoyé à la fin d’une mise à jour.
- ``#begin_restore#`` : Événement envoyé au début d’une restauration.
- ``#end_restore#`` : Événement envoyé à la fin d’une restauration.
-- ``#user_connect#`` : Connexion d'un utilisateur
+- ``#user_connect#`` : Connexion d'un utilisateur.
- ``#variable(nom_variable)#`` : Changement de valeur de la variable nom_variable.
- ``#genericType(GENERIC, #[Object]#)#`` : Changement d'une commande info de Type Generic GENERIC, dans l'objet Object.
-- ``#new_eqLogic#`` : Événement envoyé lors de la création d'un nouvelle équipement, vous avez dans les tags id (id de l'équipement crée), name (nom de l'équipement crée) et eqType (type/plugin de l'équipement crée)
+- ``#new_eqLogic#`` : Événement envoyé lors de la création d'un nouvelle équipement, vous avez dans les tags id (id de l'équipement crée), name (nom de l'équipement crée) et eqType (type/plugin de l'équipement créé).
-Vous pouvez aussi déclencher un scénario en utilisant l’API HTTP décrite [ici](https://doc.jeedom.com/fr_FR/core/4.4/api_http).
+Vous pouvez aussi déclencher un scénario en utilisant l’API HTTP décrite [ici](api_http.md).
### Opérateurs de comparaison et liens entre les conditions
@@ -267,7 +266,7 @@ Que vous combiniez des comparaisons sur des équipements différents ou sur le m
### Les tags
-Un tag est remplacé lors de l’exécution du scénario par sa valeur. Vous pouvez utiliser les tags suivants :
+Un tag est remplacé par sa valeur lors de l’exécution du scénario. Vous pouvez utiliser les tags suivants :
> **Conseil**
>
@@ -292,7 +291,7 @@ Un tag est remplacé lors de l’exécution du scénario par sa valeur. Vous pou
- ``#jeedomName#`` : Nom du Jeedom.
- ``#trigger#`` : Peut être :
- ``api`` si le lancement a été déclenché par l'API,
- - ``TYPEcmd`` si le lancement a été déclenché par une commande, avec TYPE remplacé l'id du plugin (ex virtualCmd),
+ - ``TYPEcmd`` si le lancement a été déclenché par une commande, avec TYPE remplacé par l'id du plugin (ex virtualCmd),
- ``schedule`` s'il a été lancé par une programmation,
- ``user`` s'il a été lancé manuellement,
- ``start`` pour un lancement au démarrage de Jeedom.
@@ -307,8 +306,8 @@ Un tag est remplacé lors de l’exécution du scénario par sa valeur. Vous pou
Vous avez aussi les tags suivants en plus si votre scénario a été déclenché par une interaction :
-- #query# : Interaction ayant déclenché le scénario.
-- #profil# : Profil de l’utilisateur ayant déclenché le scénario (peut être vide).
+- ``#query#`` : Interaction ayant déclenché le scénario.
+- ``#profil#`` : Profil de l’utilisateur ayant déclenché le scénario (peut être vide).
> **Important**
>
@@ -333,59 +332,58 @@ Plusieurs fonctions sont disponibles pour les équipements :
- ``tendance(commande,période,seuil)`` : Donne la tendance de la commande sur la période (period=[month,day,hour,min] ou [expression PHP](https://www.php.net/manual/fr/datetime.formats.php#datetime.formats.relative)).
- ``stateDuration(commande)`` : Donne la durée en secondes depuis le dernier changement de valeur.
- -1 : Aucun historique n’existe ou la valeur n’existe pas dans l'historique.
- -2 : La commande n’est pas historisée.
+ - -1 : Aucun historique n’existe ou la valeur n’existe pas dans l'historique.
+ - -2 : La commande n’est pas historisée.
- ``lastChangeStateDuration(commande,valeur)`` : Donne la durée en secondes depuis le dernier changement d’état à la valeur passée en paramètre.
- -1 : Aucun historique n’existe ou la valeur n’existe pas dans l'historique.
- -2 La commande n’est pas historisée
+ - -1 : Aucun historique n’existe ou la valeur n’existe pas dans l'historique.
+ - -2 : La commande n’est pas historisée
- ``lastStateDuration(commande,valeur)`` : Donne la durée en secondes pendant laquelle l’équipement a dernièrement eu la valeur choisie.
- -1 : Aucun historique n’existe ou la valeur n’existe pas dans l'historique.
- -2 : La commande n’est pas historisée.
+ - -1 : Aucun historique n’existe ou la valeur n’existe pas dans l'historique.
+ - -2 : La commande n’est pas historisée.
- ``age(commande)`` : Donne l'âge en secondes de la valeur de la commande (``collecDate``)
- -1 : La commande n’existe pas ou elle n'est pas de type info.
+ - -1 : La commande n’existe pas ou elle n'est pas de type info.
- ``stateChanges(commande,[valeur], période)`` & ``stateChangesBetween(commande, [valeur], start, end)`` : Donnent le nombre de changements d’état (vers une certaine valeur si indiquée, ou si non indiqué par rapport à sa valeur actuelle) sur la période (period=[month,day,hour,min] ou [expression PHP](https://www.php.net/manual/fr/datetime.formats.php#datetime.formats.relative)) ou entre les 2 bornes demandées (sous la forme ``Y-m-d H:i:s`` ou [expression PHP](https://www.php.net/manual/fr/datetime.formats.php#datetime.formats.relative)).
- ``lastBetween(commande,start,end)`` : Donne la dernière valeur enregistrée pour l’équipement entre les 2 bornes demandées (sous la forme ``Y-m-d H:i:s`` ou [expression PHP](https://www.php.net/manual/fr/datetime.formats.php#datetime.formats.relative)).
-- ``variable(mavariable,valeur par défaut)`` : Récupère la valeur d’une variable ou de la valeur souhaitée par défaut.
+- ``variable(mavariable,valeur par défaut)`` : Récupère la valeur d’une variable ou de la valeur par défaut si la variable n'existe pas.
- ``genericType(GENERIC, #[Object]#)`` : Récupère la somme des infos de Type Générique GENERIC dans l'objet Object.
-- ``scenario(scenario)`` : Renvoie le statut du scénario.
- 1 : En cours,
- 0 : Arrêté,
- -1 : Désactivé,
- -2 : Le scénario n’existe pas,
- -3 : L’état n’est pas cohérent.
- Pour avoir le nom "humain" du scénario, vous pouvez utiliser le bouton dédié à droite de la recherche de scénario.
+- ``scenario(scenario)`` : Renvoie le statut du scénario. Pour avoir le nom "humain" du scénario, vous pouvez utiliser le bouton dédié à droite de la recherche de scénario.
+ - 1 : En cours,
+ - 0 : Arrêté,
+ - -1 : Désactivé,
+ - -2 : Le scénario n’existe pas,
+ - -3 : L’état n’est pas cohérent.
- ``lastScenarioExecution(scenario)`` : Donne la durée en secondes depuis le dernier lancement du scénario.
- 0 : Le scénario n'existe pas
+ - 0 : Le scénario n'existe pas
- ``collectDate(cmd,[format])`` : Renvoie la date de la dernière collecte de données pour la commande placée en paramètre, le 2ème paramètre optionnel permet de spécifier le format de retour (détails [ici](https://www.php.net/manual/fr/datetime.format.php)).
- -1 : La commande est introuvable,
- -2 : La commande n’est pas de type info.
+ - -1 : La commande est introuvable,
+ - -2 : La commande n’est pas de type info.
- ``valueDate(cmd,[format])`` : Renvoie la date de la dernière valeur connue pour la commande placée en paramètre, le 2ème paramètre optionnel permet de spécifier le format de retour (détails [ici](https://www.php.net/manual/fr/datetime.format.php)).
- -1 : La commande est introuvable,
- -2 : La commande n’est pas de type info.
+ - -1 : La commande est introuvable,
+ - -2 : La commande n’est pas de type info.
- ``eqEnable(equipement)`` : Renvoie l’état de l’équipement.
- -2 : L’équipement est introuvable,
- 1 : L’équipement est actif,
- 0 : L’équipement est inactif.
+ - -2 : L’équipement est introuvable,
+ - 0 : L’équipement est inactif,
+ - 1 : L’équipement est actif.
- ``value(cmd)`` : Renvoie la valeur d'une commande si elle n'est pas donnée automatiquement par Jeedom (cas lors du stockage du nom de la commande dans une variable)
-- ``tag(montag,[defaut])`` : Permet de récupérer la valeur d’un tag ou la valeur par défaut si il n’existe pas.
+- ``tag(montag,[defaut])`` : Permet de récupérer la valeur d’un tag ou la valeur par défaut s'il n’existe pas.
- ``name(type,commande)`` : Permet de récupérer le nom de la commande, de l’équipement ou de l’objet. Type : cmd, eqLogic ou object.
-- ``lastCommunication(equipment,[format])`` : Renvoie la date de la dernière remontée d'information pour l'équipement donné en paramètre, le 2ème paramètre optionnel permet de spécifier le format de retour (détails [ici](https://www.php.net/manual/fr/datetime.format.php)). Un retour de -1 signifie que l’équipement est introuvable. La date de derniere information est calculé par rapport au commande de type information et de leur date de collecte.
+- ``lastCommunication(equipment,[format])`` : Renvoie la date de la dernière remontée d'information pour l'équipement donné en paramètre, le 2ème paramètre optionnel permet de spécifier le format de retour (détails [ici](https://www.php.net/manual/fr/datetime.format.php)). Un retour de -1 signifie que l’équipement est introuvable. La date de derniere information est calculée par rapport aux commandes de type information et de leur date de collecte.
- ``color_gradient(couleur_debut,couleur_fin,valuer_min,valeur_max,valeur)`` : Renvoie une couleur calculée par rapport à une valeur dans l'intervalle couleur_debut/couleur_fin. La valeur doit être comprise entre valeur_min et valeur_max.
@@ -402,8 +400,7 @@ Voici des exemples pratiques pour comprendre les valeurs retournées par ces dif
| Prise ayant pour valeurs : | 000 (pendant 10 minutes) 11 (pendant 1 heure) 000 (pendant 10 minutes) |
|--------------------------------------|--------------------------------------|
-| ``average(prise,période)`` | Renvoie la moyenne des 0 et 1 (peut |
-| | être influencée par le polling) |
+| ``average(prise,période)`` | Renvoie la moyenne des 0 et 1 (peut être influencée par le polling) |
| ``averageBetween(#[Salle de bain][Hydrometrie][Humidité]#,2015-01-01 00:00:00,2015-01-15 00:00:00)`` | Renvoie la moyenne de la commande entre le 1er janvier 2015 et le 15 janvier 2015 |
| ``min(prise,période)`` | Renvoie 0 : la prise a bien été éteinte dans la période |
| ``minBetween(#[Salle de bain][Hydrometrie][Humidité]#,2015-01-01 00:00:00,2015-01-15 00:00:00)`` | Renvoie le minimum de la commande entre le 1er janvier 2015 et le 15 janvier 2015 |
@@ -436,7 +433,7 @@ Voici des exemples pratiques pour comprendre les valeurs retournées par ces dif
Une boîte à outils de fonctions génériques peut également servir à effectuer des conversions ou des calculs :
- ``rand(1,10)`` : Donne un nombre aléatoire de 1 à 10.
-- ``randText(texte1;texte2;texte…..)`` : Permet de retourner un des textes aléatoirement (séparer les texte par un ; ). Il n’y a pas de limite dans le nombre de texte.
+- ``randText(texte1;texte2;texte…..)`` : Permet de retourner un des textes aléatoirement (séparer les texte par un ; ). Il n’y a pas de limite dans le nombre de textes.
- ``randomColor(min,max)`` : Donne une couleur aléatoire comprise entre 2 bornes ( 0 => rouge, 50 => vert, 100 => bleu).
- ``trigger(commande)`` : Permet de connaître le déclencheur du scénario ou de savoir si c’est bien la commande passée en paramètre qui a déclenché le scénario. **=> Deprecated il vaut mieux utiliser le tag #trigger#**
- ``triggerValue()`` : Permet de connaître la valeur du déclencheur du scénario. **=> Deprecated il vaut mieux utiliser le tag #triggerValue#**
@@ -446,7 +443,7 @@ Une boîte à outils de fonctions génériques peut également servir à effectu
- ``avg(commande1,commande2….commandeN)`` : Renvoie la moyenne des valeurs.
- ``time_op(time,value)`` : Permet de faire des opérations sur le temps, avec time=temps (ex : 1530) et value=valeur à ajouter ou à soustraire en minutes.
- ``time_between(time,start,end)`` : Permet de tester si un temps est entre deux valeurs avec ``time=temps`` (ex : 1530), ``start=temps``, ``end=temps``. Les valeurs start et end peuvent être à cheval sur minuit.
-- ``time_diff(date1,date2[,format, round])`` : Permet de connaître la différence entre deux dates (les dates doivent être au format AAAA/MM/JJ HH:MM:SS). Par défaut, la méthode retourne la différence en jour(s). Vous pouvez lui demander en secondes (s), minutes (m), heures (h). Exemple en secondes ``time_diff(2019-02-02 14:55:00,2019-02-25 14:55:00,s)``. La différence est retournée en absolu, sauf si vous spécifiez ``f`` (``sf``, ``mf``, ``hf``, ``df``). Vous pouvez aussi utiliser ``dhms`` qui ne retournera pas exemple ``7j 2h 5min 46s``. Le paramètre round, optionnel, arrondit à x chiffres après la virgule (2 par défaut). Ex: ``time_diff(2020-02-21 20:55:28,2020-02-28 23:01:14,df, 4)``.
+- ``time_diff(date1,date2[,format, round])`` : Permet de connaître la différence entre deux dates (les dates doivent être au format AAAA/MM/JJ HH:MM:SS). Par défaut, la méthode retourne la différence en jour(s). Vous pouvez lui demander en secondes (s), minutes (m), heures (h). Exemple en secondes ``time_diff(2019-02-02 14:55:00,2019-02-25 14:55:00,s)``. La différence est retournée en absolu, sauf si vous spécifiez ``f`` (``sf``, ``mf``, ``hf``, ``df``). Vous pouvez aussi utiliser ``dhms`` qui retournera par exemple ``7j 2h 5min 46s``. Le paramètre round, optionnel, arrondit à x chiffres après la virgule (2 par défaut). Ex: ``time_diff(2020-02-21 20:55:28,2020-02-28 23:01:14,df, 4)``.
- ``formatTime(time)`` : Permet de formater le retour d’une chaine ``#time#``.
- ``floor(time/60)`` : Permet de convertir des secondes en minutes, ou des minutes en heures (``floor(time/3600)`` pour des secondes en heures).
- ``convertDuration(secondes)`` : Permet de convertir des secondes en j/h/mn/s.
@@ -469,8 +466,8 @@ Et les exemples pratiques :
### Les fonctions diverses
-- ``sun(elevation)`` : Donne en ° l'élevation du soleil (attention il faut avoir renseigné vos coordonées géographique dans la configuration de jeedom)
-- ``sun(azimuth)`` : Donne en ° l'azimuth du soleil (attention il faut avoir renseigné vos coordonées géographique dans la configuration de jeedom)
+- ``sun(elevation)`` : Donne l'élevation du soleil en ° (attention il faut avoir renseigné vos coordonées géographiques dans la configuration de jeedom)
+- ``sun(azimuth)`` : Donne l'azimuth du soleil en ° (attention il faut avoir renseigné vos coordonées géographiques dans la configuration de jeedom)
### Les commandes spécifiques
@@ -486,7 +483,7 @@ En plus des commandes domotiques, vous avez accès aux actions suivantes :
- Arrêter : Arrête le scenario.
- Activer : Active un scénario désactivé.
- Désactiver : Désactive le scénario. Il ne se lance plus quelque soit les déclencheurs.
- - Remise à zéro des SI : Permet de remettre à zéro le statut des **SI**. Ce statut est utilisé pour la non répétition des actions d’un **SI**, si l’évaluation de la condition donne le même résultat que la précédente évaluation.
+ - Remise à zéro des SI : Permet de remettre le statut des **SI** à zéro. Ce statut est utilisé pour la non répétition des actions d’un **SI**, si l’évaluation de la condition donne le même résultat que la précédente évaluation.
- **Stop** (stop) : Arrête le scénario.
- **Attendre** (wait) : Attend jusqu’à ce que la condition soit valide (maximum 2h), le timeout est en seconde(s).
- **Aller au design** (gotodesign) : Change le design affiché sur tous les navigateurs par le design demandé.
@@ -494,20 +491,20 @@ En plus des commandes domotiques, vous avez accès aux actions suivantes :
- **Créer un message** (message) : Permet d’ajouter un message dans le centre de messages.
- **Activer/Désactiver Masquer/afficher un équipement** (equipement) : Permet de modifier les propriétés d’un équipement visible/invisible, actif/inactif.
- **Faire une demande** (ask) : Permet d’indiquer à Jeedom qu’il faut poser une question à l’utilisateur. La réponse est stockée dans une variable, il suffit ensuite de tester sa valeur.
- Pour le moment, seuls les plugins sms, slack, telegram et snips sont compatibles, ainsi que l'application mobile.
+ Pour le moment, seuls les plugins sms, slack, telegram et snips sont compatibles ainsi que l'application mobile.
Attention, cette fonction est bloquante. Tant qu’il n’y a pas de réponse ou que le timeout n’est pas atteint, le scénario attend. Note pour une réponse libre mettre * dans la liste des réponses possible.
- **Arrêter Jeedom** (jeedom_poweroff) : Demande à Jeedom de s’éteindre.
- **Retourner un texte/une donnée** (scenario_return) : Retourne un texte ou une valeur pour une interaction par exemple.
- **Icône** (icon) : Permet de changer l’icône de représentation du scénario.
- **Alerte** (alert) : Permet d’afficher un petit message d’alerte sur tous les navigateurs qui ont une page Jeedom ouverte. Vous pouvez, en plus, choisir 4 niveaux d’alerte.
- **Pop-up** (popup) : Permet d’afficher un pop-up qui doit absolument être validé sur tous les navigateurs qui ont une page jeedom ouverte.
-- **Rapport** (report) : Permet d’exporter une vue au format (PDF,PNG, JPEG ou SVG) et de l’envoyer par le biais d’une commande de type message. Attention, si votre accès Internet est en HTTPS non-signé, cette fonctionnalité ne fonctionnera pas. Il faut du HTTP ou HTTPS signé. Le "delai" est en milli-seconde (ms).
+- **Rapport** (report) : Permet d’exporter une vue au format (PDF, PNG, JPEG ou SVG) et de l’envoyer par le biais d’une commande de type message. Attention, si votre accès Internet est en HTTPS non-signé, cette fonctionnalité ne fonctionnera pas. Il faut du HTTP ou HTTPS signé. Le "delai" est en milli-seconde (ms).
- **Supprimer bloc DANS/A programmé** (remove_inat) : Permet de supprimer la programmation de tous les blocs DANS et A d'un scénario.
- **Evènement** (event) : Permet de pousser une valeur dans une commande de type information de manière arbitraire.
- **Tag** (tag) : Permet d'ajouter/modifier un tag (le tag n'existe que pendant l'exécution en cours du scénario à la différence des variables qui survivent à la fin du scénario).
- **Coloration des icônes du dashboard** (setColoredIcon) : Permet d'activer ou non la coloration des icônes sur le Dashboard.
- **Changement de thème** (changetheme) : Permet de changer le thème en cours de l'interface en Dark ou Light.
-- **Export historique** (exportHistory) : permet d'exporter l'historique en csv d'une commande sous forme d'un fichier (envoi par mail par exemple). Vous pouvez mettre plusieurs commandes (séparées par des &&). La selection de la période se fait sous la forme :
+- **Export historique** (exportHistory) : permet d'exporter l'historique d'une commande en csv sous forme d'un fichier (envoi par mail par exemple). Vous pouvez mettre plusieurs commandes (séparées par des &&). La selection de la période se fait sous la forme :
- "-1 month" => -1 mois
- "-1 day midnight" => -1 jour à minuit
- "now" => maintenant
@@ -519,7 +516,7 @@ En plus des commandes domotiques, vous avez accès aux actions suivantes :
### Template de scénario
-Cette fonctionnalité permet de transformer un scénario en template pour par exemple l’appliquer sur un autre Jeedom.
+Cette fonctionnalité permet de transformer un scénario en template pour l’appliquer sur un autre Jeedom, par exemple.
En cliquant sur le bouton **template** en haut de page, vous ouvrez la fenêtre de gestion des templates.
@@ -534,17 +531,17 @@ En cliquant sur un template, vous pourrez :
- **Partager** : Partager le template sur le Market.
- **Supprimer** : Supprimer le template.
-- **Télécharger** : Récupérer le template sous forme de fichier JSON pour le renvoyer sur un autre Jeedom par exemple.
+- **Télécharger** : Récupérer le template sous forme de fichier JSON pour le renvoyer sur un autre Jeedom, par exemple.
En-dessous, vous avez la partie pour appliquer votre template au scénario courant.
Etant donné que d’un Jeedom à l’autre ou d’une installation à une autre, les commandes peuvent être différentes, Jeedom vous demande la correspondance des commandes entre celles présentes lors de la création du template et celles présentes chez vous. Il vous suffit de remplir la correspondance des commandes puis de faire appliquer.
-## Ajout de fonction PHP
+## Ajout de fonctions PHP
> **IMPORTANT**
>
-> L'ajout de fonction PHP est réservé aux utilisateurs avancés. La moindre erreur peut être fatale pour votre Jeedom.
+> L'ajout de fonctions PHP est réservé aux utilisateurs avancés. La moindre erreur peut être fatale pour votre Jeedom.
### Mise en place
From 6b8f51ec95501a59c66ff9bbc92cdd936e32d259 Mon Sep 17 00:00:00 2001
From: Michel_F <80367602+MrWaloo@users.noreply.github.com>
Date: Thu, 28 Nov 2024 23:43:32 +0100
Subject: [PATCH 02/19] Correction de la documentation (typo)
---
fr_FR/core/4.5/modaldisplay.md | 4 +-
fr_FR/core/4.5/search.md | 15 ++--
fr_FR/core/4.5/shortcuts.md | 80 +++++++++----------
fr_FR/core/4.5/system.md | 6 +-
fr_FR/core/4.5/timeline.md | 10 +--
fr_FR/core/4.5/types.md | 30 +++----
fr_FR/core/4.5/update.md | 51 ++++++------
fr_FR/core/4.5/user.md | 15 +---
fr_FR/core/4.5/view.md | 31 ++++---
fr_FR/core/4.5/widgets.md | 74 ++++++++---------
.../gsm.huawei_mode_carte_reseau.md | 2 +-
fr_FR/howtoadvance/index.md | 44 +++++-----
12 files changed, 174 insertions(+), 188 deletions(-)
diff --git a/fr_FR/core/4.5/modaldisplay.md b/fr_FR/core/4.5/modaldisplay.md
index 69f15483343..35242e72065 100644
--- a/fr_FR/core/4.5/modaldisplay.md
+++ b/fr_FR/core/4.5/modaldisplay.md
@@ -3,7 +3,7 @@
La page **ModalDisplay** est un simple container permettant de charger le contenu d'une fenêtre (*modal* ou *dialog*) en pleine page.
Elle est notamment utilisée dans les cas suivants:
-- Menu Analyse : Ctrl Clic / Clic Centre sur *Temps réel*
-- Menu Outils : Ctrl Clic / Clic Centre sur *Notes*, *Testeur expression*, *Variables*
+- Menu Analyse : Ctrl+Clic / Clic Centre sur *Temps réel*
+- Menu Outils : Ctrl+Clic / Clic Centre sur *Notes*, *Testeur expression*, *Variables*
> Avec un clic normal (clic gauche), ces menus ouvrent une fenêtre affichant le contenu par dessus le reste de l'interface. Ici, le contenu de la fenêtre s'affiche dans cette page, chargée dans un nouvel onglet du navigateur, pour faciliter son utilisation quand l'utilisateur le souhaite.
diff --git a/fr_FR/core/4.5/search.md b/fr_FR/core/4.5/search.md
index 2881e56dc90..a1af0b41e0d 100644
--- a/fr_FR/core/4.5/search.md
+++ b/fr_FR/core/4.5/search.md
@@ -17,7 +17,7 @@ Le moteur affichera dans les tableaux en dessous :
- Les **designs** affichant cet équipement.
- Les **vues** affichant cet équipement.
- Les **interactions** utilisant cet équipement.
-- Les autres **équipement** utilisant cet équipement.
+- Les autres **équipements** utilisant cet équipement.
- Les **commandes** utilisant cet équipement.
## Par Commande
@@ -30,7 +30,7 @@ Le moteur affichera dans les tableaux en dessous :
- Les **designs** affichant cette commande.
- Les **vues** affichant cette commande.
- Les **interactions** utilisant cette commande.
-- Les **équipement** utilisant cette commande.
+- Les **équipements** utilisant cette commande.
- Les autres **commandes** utilisant cette commande.
## Par Variable
@@ -41,7 +41,7 @@ Le moteur affichera dans les tableaux en dessous :
- Les **scénarios** utilisant cette variable.
- Les **interactions** utilisant cette variable.
-- Les **équipement** utilisant cette variable.
+- Les **équipements** utilisant cette variable.
- Les **commandes** utilisant cette variable.
## Par Plugin
@@ -54,7 +54,7 @@ Le moteur affichera dans les tableaux en dessous :
- Les **designs** affichant ce plugin.
- Les **vues** affichant ce plugin.
- Les **interactions** utilisant ce plugin.
-- Les **équipement** utilisant ce plugin.
+- Les **équipements** utilisant ce plugin.
- Les **commandes** utilisant ce plugin.
## Par Mot
@@ -67,7 +67,7 @@ Le moteur affichera dans les tableaux en dessous :
Recherche dans les expressions, les commentaires, les blocs code.
- Les **interactions** utilisant cette chaîne.
Recherche dans les champs *Demande*.
-- Les **équipement** utilisant cette chaîne.
+- Les **équipements** utilisant cette chaîne.
Recherche dans les champs *name*, *logicalId*, *eqType*, *comment*, *tags*.
- Les **commandes** utilisant cette chaîne.
Recherche dans les champs *name*, *logicalId*, *eqType*, *generic_type*, .
@@ -90,8 +90,8 @@ Le moteur affichera dans les tableaux en dessous :
## Résultats
-Pour chacun des types de résultat, il permet des actions:
-- **scénarios** : Ouvrir le log du scénario, ou se rendre sur la page du scénario, avec la recherche active sur le terme recherché.
+Pour chacun des types de résultat, les actions suivantes sont possibles :
+- **scénarios** : Ouvrir le log du scénario ou se rendre sur la page du scénario, avec la recherche active sur le terme recherché.
- **designs** : Afficher le design.
- **vues** : Afficher la vue.
- **interactions** : Ouvrir la page de configuration de l'interaction.
@@ -100,4 +100,3 @@ Pour chacun des types de résultat, il permet des actions:
- **notes** : Ouvrir la Note.
Chacune de ces options ouvre un autre onglet de votre navigateur afin de ne pas perdre la recherche en cours.
-
diff --git a/fr_FR/core/4.5/shortcuts.md b/fr_FR/core/4.5/shortcuts.md
index 1444d994539..783a9e85427 100644
--- a/fr_FR/core/4.5/shortcuts.md
+++ b/fr_FR/core/4.5/shortcuts.md
@@ -14,92 +14,92 @@ En mode édition:
- Drag n Drop sur les tuiles pour les réarranger.
- Resize sur les bordures de tuile pour les redimensionner.
- Menu contextuel (Clic droit) sur les tuiles.
- - Ctrl Clic sur une icône *expand* : Ajuste la hauteur des tuiles de l'objet non pas par rapport à la plus haute, mais par rapport à la moins haute.
+ - Ctrl+Clic sur une icône *expand* : Ajuste la hauteur des tuiles de l'objet non pas par rapport à la plus haute, mais par rapport à la moins haute.
-- Ctrl Clic sur une commande info : Ouvre toutes les infos historisées de la tuile dans la fenêtre d'historique.
+- Ctrl+Clic sur une commande info : Ouvre toutes les infos historisées de la tuile dans la fenêtre d'historique.
### Réglages / Système / Configuration
-- Ctrl S : Sauvegarder.
+- Ctrl+S : Sauvegarder.
### Réglages / Système / Sauvegardes
-- Ctrl S : Sauvegarder.
+- Ctrl+S : Sauvegarder.
### Réglages / Système / Moteur de tâches
-- Ctrl S : Sauvegarder.
+- Ctrl+S : Sauvegarder.
### Réglages / Système / Utilisateurs
-- Ctrl S : Sauvegarder.
+- Ctrl+S : Sauvegarder.
### Réglages / Préférences
-- Ctrl S : Sauvegarder.
+- Ctrl+S : Sauvegarder.
### Outils / Interactions
-- Sur une interaction, Ctrl S : Sauvegarder.
+- Sur une interaction, Ctrl+S : Sauvegarder.
- Sur une interaction, Clic droit sur un onglet : Menu contextuel pour aller directement sur une autre interaction.
-- Ctrl Clic ou Clic Centre sur une interaction ou dans le menu contextuel : Ouvre l'interaction dans un nouvel onglet du navigateur.
+- Ctrl+Clic ou Clic Centre sur une interaction ou dans le menu contextuel : Ouvre l'interaction dans un nouvel onglet du navigateur.
### Outils / Objets
-- Sur un objet, Ctrl S : Sauvegarder.
+- Sur un objet, Ctrl+S : Sauvegarder.
- Sur un objet, Clic droit sur un onglet : Menu contextuel pour aller directement sur un autre objet.
-- Ctrl Clic ou Clic Centre sur un objet ou dans le menu contextuel : Ouvre l'objet dans un nouvel onglet du navigateur.
+- Ctrl+Clic ou Clic Centre sur un objet ou dans le menu contextuel : Ouvre l'objet dans un nouvel onglet du navigateur.
### Outils / Widgets
-- Sur un widget, Ctrl S : Sauvegarder.
+- Sur un widget, Ctrl+S : Sauvegarder.
- Sur un widget, Clic droit sur un onglet : Menu contextuel pour aller directement sur un autre widget.
-- Ctrl Clic ou Clic Centre sur un widget ou dans le menu contextuel : Ouvre le widget dans un nouvel onglet du navigateur.
+- Ctrl+Clic ou Clic Centre sur un widget ou dans le menu contextuel : Ouvre le widget dans un nouvel onglet du navigateur.
### Outils / Scénarios
-- Ctrl Clic ou Clic Centre sur un scénario ou dans le menu contextuel : Ouvre le scénario dans un nouvel onglet du navigateur.
+- Ctrl+Clic ou Clic Centre sur un scénario ou dans le menu contextuel : Ouvre le scénario dans un nouvel onglet du navigateur.
Sur un scénario :
-- Ctrl S : Sauvegarder.
+- Ctrl+S : Sauvegarder.
- Clic droit sur un onglet : Menu contextuel pour aller directement sur un autre scénario.
-- Ctrl L : Affichage du log.
-- Ctrl Shift Z : Annuler.
-- Ctrl Shift Y : Refaire.
+- Ctrl+L : Affichage du log.
+- Ctrl+Shift+Z : Annuler.
+- Ctrl+Shift+Y : Refaire.
-- Ctrl Clic sur Exécuter : Sauvegarde et exécute le scénario, puis ouvre le log.
-- Ctrl Clic sur icône *Copier ce bloc* : Couper ce bloc.
-- Ctrl Clic sur icône *Coller un bloc* : Remplacer ce bloc.
-- Ctrl Clic sur icône *Supprimer ce bloc* : Supprimer le bloc sans confirmation.
-- Ctrl Clic sur icône *Masquer ce bloc* : Masque ou affiche tous les blocs.
+- Ctrl+Clic sur Exécuter : Sauvegarde et exécute le scénario, puis ouvre le log.
+- Ctrl+Clic sur icône *Copier ce bloc* : Couper ce bloc.
+- Ctrl+Clic sur icône *Coller un bloc* : Remplacer ce bloc.
+- Ctrl+Clic sur icône *Supprimer ce bloc* : Supprimer le bloc sans confirmation.
+- Ctrl+Clic sur icône *Masquer ce bloc* : Masque ou affiche tous les blocs.
Dans un bloc Code :
-- Ctrl F : Rechercher dans le code.
-- Ctrl G : Occurrence suivante de la recherche.
+- Ctrl+F : Rechercher dans le code.
+- Ctrl+G : Occurrence suivante de la recherche.
### Plugins / Gestion des plugins
-- Ctrl S sur une configuration de plugin : Sauvegarder.
-- Ctrl Clic ou Clic Centre sur un plugin : Ouvre la gestion du plugin dans un nouvel onglet du navigateur.
+- Ctrl+S sur une configuration de plugin : Sauvegarder.
+- Ctrl+Clic ou Clic Centre sur un plugin : Ouvre la gestion du plugin dans un nouvel onglet du navigateur.
### Plugins / *plugin*
-- Sur un équipement, Ctrl S : Sauvegarder.
+- Sur un équipement, Ctrl+S : Sauvegarder.
- Sur un équipement, Clic droit sur un onglet : Menu contextuel pour aller directement sur un autre équipement.
-- Ctrl Clic ou Clic Centre sur un équipement: Ouvre l'équipement du plugin dans un nouvel onglet du navigateur.
+- Ctrl+Clic ou Clic Centre sur un équipement: Ouvre l'équipement du plugin dans un nouvel onglet du navigateur.
### Accueil / Vue
-- Ctrl S sur l'édition d'une vue : Sauvegarder.
+- Ctrl+S sur l'édition d'une vue : Sauvegarder.
### Accueil / Design
-- Ctrl S sur un design : Sauvegarder.
-- Ctrl Shift E sur un design : Passage ou sortie du mode édition.
+- Ctrl+S sur un design : Sauvegarder.
+- Ctrl+Shift+E sur un design : Passage ou sortie du mode édition.
### Analyse / Résumé domotique
-- Ctrl Clic sur icône *Ouvrir* (recherche) : Ouvre tous les objets et tous les équipements.
-- Ctrl Clic sur icône *Fermer* (recherche) : Ferme tous les objets et tous les équipements.
+- Ctrl+Clic sur icône *Ouvrir* (recherche) : Ouvre tous les objets et tous les équipements.
+- Ctrl+Clic sur icône *Fermer* (recherche) : Ferme tous les objets et tous les équipements.
### Analyse / Historique
Si plusieurs courbes sont affichées :
-- Ctrl Clic sur une légende : Afficher seulement cet historique.
-- Alt Clic sur une légende : Afficher tous les historiques.
+- Ctrl+Clic sur une légende : Afficher seulement cet historique.
+- Alt+Clic sur une légende : Afficher tous les historiques.
### Fenêtre Historique
Si plusieurs courbes sont affichées :
-- Ctrl Clic sur une légende : Afficher seulement cet historique.
-- Alt Clic sur une légende : Afficher tous les historiques.
+- Ctrl+Clic sur une légende : Afficher seulement cet historique.
+- Alt+Clic sur une légende : Afficher tous les historiques.
### Fenêtre Configuration de l’équipement
-- Ctrl Clic sur Sauvegarder : Sauvegarde et ferme la fenêtre.
+- Ctrl+Clic sur Sauvegarder : Sauvegarde et ferme la fenêtre.
### Fenêtre Configuration de commande
-- Ctrl Clic sur Sauvegarder : Sauvegarde et ferme la fenêtre.
+- Ctrl+Clic sur Sauvegarder : Sauvegarde et ferme la fenêtre.
diff --git a/fr_FR/core/4.5/system.md b/fr_FR/core/4.5/system.md
index 6334c3a9f0e..89d07602091 100644
--- a/fr_FR/core/4.5/system.md
+++ b/fr_FR/core/4.5/system.md
@@ -1,10 +1,10 @@
# Systeme
-Page réservé aux utilisateurs avancés, permet de lancer des commandes SSH directement depuis Jeedom
+Page réservée aux utilisateurs avancés. Elle permet de lancer des commandes SSH directement depuis Jeedom.
-## Ajout de commande
+## Ajout de commandes
-Il est possible d'ajouter des commandes personnalisée pour cela depuis l'éditeur Jeedom (Configuration -> OS/DB -> Editeur de fichier) il faut creer un fichier `systemCustomCmd.json` dans `data`. Le fichier doit avoir la forme suivante :
+Il est possible d'ajouter des commandes personnalisées. Pour cela il faut créer un fichier `systemCustomCmd.json` dans `data` depuis l'éditeur Jeedom (Configuration -> OS/DB -> Editeur de fichier). Le fichier doit avoir la forme suivante :
```
[
{
diff --git a/fr_FR/core/4.5/timeline.md b/fr_FR/core/4.5/timeline.md
index 6956631d3c1..da4d55e438e 100644
--- a/fr_FR/core/4.5/timeline.md
+++ b/fr_FR/core/4.5/timeline.md
@@ -3,12 +3,12 @@
## Timeline
-La page Timeline permet d'afficher chronologiquement des évènements, comme des changements de commandes *info*, des déclenchements de commandes *action*, et des éxécutions de scénarios.
+La page Timeline permet d'afficher chronologiquement des évènements, comme des changements de commandes *info*, des déclenchements de commandes *action* et des éxécutions de scénarios.
-Pour les voir, il vous faut d’abord activer le suivi sur la timeline des commandes ou scénarios voulus, puis que ces évènements se produisent.
+Pour les voir, il vous faut d’abord activer le suivi des commandes ou scénarios voulus sur la timeline, puis que ces évènements se produisent.
- **Scenario** : Soit directement sur la page d'un scénario, soit sur *Vue d'ensemble* des scénarios.
-- **Commande** : Soit dans la configuration avancée de la commande, soit dans la configuration de l’historique pour le faire en "masse".
+- **Commande** : Soit dans la configuration avancée de la commande, soit dans la configuration de l’historique pour le faire "en masse".

@@ -32,10 +32,10 @@ La timeline affiche les évènements enregistrés, échelonnés jour par jour ve
Pour chaque évènement, vous avez:
- La date et l'heure de l'évènement,
-- Le type d'évènement: Une commande info ou action, ou un scénario, avec pour les commandes le plugin de la commande.
+- Le type d'évènement : une commande info ou action, ou un scénario, avec pour les commandes le plugin de la commande.
- Le nom de l'objet parent, le nom, et suivant le type, l'état ou le déclencheur.
- Un évènement de type commande affiche une icône sur la droite pour ouvrir la configuration de la commande.
-- Un évènement de type scénario affiche deux icônes sur la droite pour se rendre sur le scénario, ou ouvrir le log du scénario.
+- Un évènement de type scénario affiche deux icônes sur la droite pour se rendre sur le scénario ou ouvrir le log du scénario.
En haut à droite, vous pouvez sélectionner un dossier de timeline. Celui-ci doit être créé avant et doit contenir des évènements.
diff --git a/fr_FR/core/4.5/types.md b/fr_FR/core/4.5/types.md
index c23464f1e68..3d79d0cc5c3 100644
--- a/fr_FR/core/4.5/types.md
+++ b/fr_FR/core/4.5/types.md
@@ -1,13 +1,13 @@
# Types d'équipement
**Outils → Types d'équipement**
-Les capteurs et actionneurs dans Jeedom sont gérés par des plugins, qui créent des équipements avec des commandes *Info* (capteur) ou *Action* (actionneur). Ce qui permet ensuite de déclencher des actions en fonctions du changement de certains capteurs, comme allumer une lumière sur une détection de mouvement. Mais le Core de Jeedom, et des plugins comme *Mobile*, *Homebridge*, *Google Smarthome*, *Alexa Smarthome* etc., ne savent pas ce que sont ces équipements : Une prise, une lumière, un volet, etc.
+Les capteurs et actionneurs dans Jeedom sont gérés par des plugins qui créent des équipements avec des commandes *Info* (capteur) ou *Action* (actionneur). Ce qui permet ensuite de déclencher des actions en fonctions du changement de certains capteurs, comme allumer une lumière sur une détection de mouvement. Mais le Core de Jeedom, et des plugins comme *Mobile*, *Homebridge*, *Google Smarthome*, *Alexa Smarthome* etc., ne savent pas ce que sont ces équipements : Une prise, une lumière, un volet, etc.
-Pour palier à ce problème, notamment avec les assistants vocaux (*Allume la lumière de la salle*), le Core a introduit il y a quelques années les **Types Génériques**, utilisés par ces plugins.
+Pour palier à ce problème, notamment avec les assistants vocaux (*Allume la lumière de la salle*), le Core a introduit il y a quelques années les **Types Génériques** utilisés par ces plugins.
Cela permet ainsi d'identifier un équipement par *La lumière de la salle* par exemple.
-La pluspart du temps les types génériques sont mis automatiquement lors la configuration de votre module (inclusion sous Z-wave par exemple). Mais il peut arriver que vous deviez les reconfigurer. Le paramétrage des ces Types Génériques peut se faire directement dans certains plugins, ou par commande dans *Configuration avancée* de celle-ci.
+La plupart du temps les types génériques sont mis automatiquement lors la configuration de votre module (inclusion sous Z-wave par exemple). Mais il peut arriver que vous deviez les reconfigurer. Le paramétrage des ces Types Génériques peut se faire directement dans certains plugins ou par commande dans la *Configuration avancée* de celle-ci.
Cette page permet de paramétrer ces Types Génériques, de manière plus directe et plus simple, et propose même une assignation automatique une fois les équipements assignés correctement.
@@ -15,7 +15,7 @@ Cette page permet de paramétrer ces Types Génériques, de manière plus direct
## Type d'équipement
-Cette page propose un rangement par type d'équipement : Prise, Lumière, Volet, Thermostat, Camera, etc. Au départ, la plupart de vos équipements seront classés dans **Equipements sans type**. Pour leur assigner un type, vous pouvez soit les déplacer dans un autre type, soit faire un clic droit sur l'équipement pour le déplacer directement. Le Type d'équipement n'est pas vraiment utile en soit, le plus important étant le Types des commandes. Vous pouvez ainsi avoir un Equipement sans Type, ou d'un Type ne correspondant pas forcément à ses commandes. Vous pouvez bien sûr mixer des types de commandes au sein d'un même équipement. Pour l'instant, il s'agit plus d'un rangement, d'une organisation logique, qui servira peu-être dans de futures versions.
+Cette page propose un rangement par type d'équipement : Prise, Lumière, Volet, Thermostat, Camera, etc. Au départ, la plupart de vos équipements seront classés dans **Equipements sans type**. Pour leur assigner un type, vous pouvez soit les déplacer dans un autre type, soit faire un clic droit sur l'équipement pour le déplacer directement. Le Type d'équipement n'est pas vraiment utile en soit, le plus important étant le Types des commandes. Vous pouvez ainsi avoir un Equipement sans Type ou d'un Type ne correspondant pas forcément à ses commandes. Vous pouvez bien sûr mixer des types de commandes au sein d'un même équipement. Pour l'instant, il s'agit plus d'un rangement, d'une organisation logique, qui servira peu-être dans de futures versions.
> **Conseil**
>
@@ -26,15 +26,15 @@ Cette page propose un rangement par type d'équipement : Prise, Lumière, Volet,
Une fois un équipement positionné dans le bon *Type*, en cliquant dessus vous accédez à la liste de ses commandes, colorées différemments si c'est une *Info* (Bleue) ou une *Action* (Orange).
-Au clic droit sur une commande, vous pouvez alors lui attribuer un Type Générique correspond aux spécifiées de cette commande (type Info/Action, sous-type Numérique, Binaire, etc).
+Au clic droit sur une commande, vous pouvez alors lui attribuer un Type Générique qui correspond aux spécificités de cette commande (type Info/Action, sous-type Numérique, Binaire, etc).
> **Conseil**
>
-> - Le menu contextuel des commandes affiche le type de l'équipement en caractères gras, mais permet tout de même d'attribuer n'importe quel Type Générique de n'importe quel type d'équipement.
+> Le menu contextuel des commandes affiche le type de l'équipement en caractères gras, mais permet tout de même d'attribuer n'importe quel Type Générique de n'importe quel type d'équipement.
Sur chaque équipement, vous avez deux boutons :
-- **Types Auto** : Cette fonction ouvre une fenêtre vous proposant les Types Génériques appropriés en fonction du type de l'équipement, des spécificités de la commande, et de son nom. Vous pouvez alors ajuster les propositions et décocher l'application à certaines commandes avant d'accepter ou pas. Cette fonction est compatible avec la sélection par les cases à cocher.
+- **Types Auto** : Cette fonction ouvre une fenêtre vous proposant les Types Génériques appropriés en fonction du type de l'équipement, des spécificités de la commande et de son nom. Vous pouvez alors ajuster les propositions et décocher l'application à certaines commandes avant d'accepter ou pas. Cette fonction est compatible avec la sélection par les cases à cocher.
- **Reset types** : Cette fonction supprime les Types Génériques de toutes les commandes de l'équipement.
@@ -44,30 +44,30 @@ Sur chaque équipement, vous avez deux boutons :
## Types Génériques et scénarios
-En v4.2, le Core a intégré les types génériques dans les scénarios. Vous pouvez ainsi déclencher un scénario si une lampe s'allume dans une pièce, si un mouvement est détecté dans la maison, éteindre toutes les lumières ou fermer tous les volets avec une seule action, etc. De plus, si vous ajoutez un équipement, vous n'avez qu'à indiquer les bons types sur ses commandes, il ne sera pas nécessaire de retoucher de tels scénarios.
+Depuis la v4.2, le Core a intégré les types génériques dans les scénarios. Vous pouvez ainsi déclencher un scénario si une lampe s'allume dans une pièce, si un mouvement est détecté dans la maison, éteindre toutes les lumières ou fermer tous les volets avec une seule action, etc. De plus, si vous ajoutez un équipement, vous n'avez qu'à indiquer les bons types sur ses commandes, il ne sera pas nécessaire de retoucher de tels scénarios.
-#### Déclencheur
+### Déclencheur
-Vous pouvez déclencher un scénario à partir de capteurs. Par exemple, si vous avez des détecteurs de mouvements dans la maison, vous pouvez créer un scénario d'alarme avec chaque détecteur en déclencheur : `#[Salon][Move Salon][Presence]# == 1`, `#[Cuisine][Move Cuisine][Presence]# == 1`, etc. Dans un tel scénario, il vous faudra donc tous vos détecteurs de mouvement, et si vous en ajoutez un il faudra le rajouter dans les déclencheurs. Logique.
+Vous pouvez déclencher un scénario à partir de capteurs. Par exemple, si vous avez des détecteurs de mouvements dans la maison, vous pouvez créer un scénario d'alarme avec chaque détecteur en déclencheur : `#[Salon][Move Salon][Presence]# == 1`, `#[Cuisine][Move Cuisine][Presence]# == 1`, etc. Dans un tel scénario, il vous faudra donc tous vos détecteurs de mouvement et si vous en ajoutez un il faudra le rajouter dans les déclencheurs. Logique.
Grâce aux types génériques, vous pourrez utiliser un seul déclencheur : `#genericType(PRESENCE)# == 1`. Ici, aucun objet n'est indiqué, donc le moindre mouvement dans toute la maison déclenchera le scénario. Si vous ajoutez un nouveau détecteur dans la maison, inutile de retoucher au(x) scénario(s).
Ici, un déclencheur sur l'allumage d'une lumière dans le Salon : `#genericType(LIGHT_STATE,#[Salon]#)# > 0`
-#### Expression
+### Expression
-Si vous souhaitez, dans un scénario, savoir si une lumière est allumée dans le Salon, vous pouvez faire :
+Si, dans un scénario, vous souhaitez savoir si une lumière est allumée dans le Salon, vous pouvez écrire :
SI `#[Salon][Lumiere Canapé][Etat]# == 1 OU #[Salon][Lumiere Salon][Etat]# == 1 OU #[Salon][Lumiere Angle][Etat]# == 1`
-Ou plus simplement : SI `genericType(LIGHT_STATE,#[Salon]#) > 0` soit si une ou plusieurs lumiere(s) sont allumée dans le Salon.
+Ou plus simplement : SI `genericType(LIGHT_STATE,#[Salon]#) > 0` soit si une ou plusieurs lumière(s) est allumée dans le Salon.
Si demain vous ajoutez une lumière dans votre Salon, inutile de retoucher vos scénarios !
-#### Action
+### Action
-Si vous souhaitez allumez toutes les lumières dans le Salon, vous pouvez créer une action par lumière:
+Si vous souhaitez allumer toutes les lumières dans le Salon, vous pouvez créer une action par lumière:
```
#[Salon][Lumiere Canapé][On]#
diff --git a/fr_FR/core/4.5/update.md b/fr_FR/core/4.5/update.md
index 5b9dba6524f..e113241bfd7 100644
--- a/fr_FR/core/4.5/update.md
+++ b/fr_FR/core/4.5/update.md
@@ -1,34 +1,36 @@
# Centre de Mise à jour
**Réglages → Système → Centre de Mise à jour**
-
-Le **centre de mise à jour** permet de mettre à jour toutes les fonctionnalités de Jeedom, incluant le logiciel de base (core) et ses plugins.
+Le **Centre de mise à jour** permet de mettre à jour toutes les fonctionnalités de Jeedom, incluant le logiciel de base (core) et ses plugins.
D’autres fonctions de gestion des extensions sont disponibles (supprimer, réinstaller, vérifier, etc.).
## Fonctions de la page
-En haut de la page, indépendant de l'onglet, se trouvent les boutons de commande.
+En haut de la page se trouvent les boutons de commande, indépendants de l'onglet.
-Jeedom se connecte périodiquement au Market pour voir si des mises à jour sont disponibles. La date de dernière vérification est indiquée en haut à gauche de la page.
+Jeedom se connecte périodiquement au Market pour vérifier si des mises à jour sont disponibles. La date de dernière vérification est indiquée en haut à gauche de la page.
A l'ouverture de la page, si cette vérification date de plus de deux heures, Jeedom refait automatiquement une vérification.
-Vous pouvez également utiliser le bouton **Vérifier les mises à jour** Pour le faire manuellement.
-Si vous voulez réaliser une vérification manuelle, vous pouvez appuyer sur le bouton "Vérifier les mises à jour".
+Vous pouvez également forcer une vérification manuelle des mises à jour avec le bouton **Vérifier les mises à jour**.
Le bouton **Sauvegarder** est à utiliser quand vous changez les options dans le tableau plus bas, pour spécifier de ne pas mettre à jour certains plugins si nécessaire.
## Mettre à jour le Core
Le bouton **Mettre à jour** permet de mettre à jour le Core, les plugins, ou les deux.
-Une fois que vous avez cliqué dessus, on obtient ces différentes options :
-- **Pré-update** : Permet de mettre à jour le script de mise à jour avant l'application des nouvelles mises à jour. Généralement utilisé sur demande du support.
-- **Sauvegarder avant** : Effectue une sauvegarde de Jeedom avant d’effectuer la mise à jour. La sauvegarde est effectuée localement uniquement (ni Market ni Samba).
-- **Mettre à jour les plugins** : Permet d’inclure les plugins dans la mise à jour.
-- **Mettre à jour le core** : Permet d’inclure le noyau de Jeedom (le Core) dans la mise à jour.
+Pour cette mise à jour, vous avez ces différentes options :
+- **Core** :
+ - **Pré-update** : Permet de mettre à jour le script de mise à jour avant l'application des nouvelles mises à jour. Généralement utilisé sur demande du support.
+ - **Sauvegarder avant** : Effectue une sauvegarde de Jeedom avant d’effectuer la mise à jour. La sauvegarde est effectuée localement uniquement (ni Market ni Samba).
+ - **Mettre à jour le core** : Permet d’inclure le noyau de Jeedom (le Core) dans la mise à jour.
+ - **Mode forcé** : Effectue la mise à jour en mode forcé, c’est-à-dire que, même s’il y a une erreur, Jeedom continuera et ne restaurera pas la sauvegarde. (Ce mode désactive la sauvegarde !).
+
+- **PLugins** :
+ - **Mettre à jour les plugins** : Permet d’inclure les plugins dans la mise à jour.
-- **Mode forcé** : Effectue la mise à jour en mode forcé, c’est-à-dire que, même s’il y a une erreur, Jeedom continuera et ne restaurera pas la sauvegarde. (Ce mode désactive la sauvegarde !).
-- **Mise à jour à réappliquer** : Permet de ré-appliquer une mise à jour. (NB : Toutes les mises à jour ne peuvent pas être ré-appliquées.)
+- **Support** (à n'utiliser que sur demande du support) :
+ - **Script d'update à réappliquer** : Permet de ré-appliquer une mise à jour. (NB : Toutes les mises à jour ne peuvent pas être ré-appliquées.)
> **Important**
>
@@ -38,29 +40,28 @@ Une fois que vous avez cliqué dessus, on obtient ces différentes options :
>
> Vous pouvez forcer une mise à jour de Jeedom, même si celui-ci ne vous en propose pas.
-## Onglets Core et Plugins
+## Onglet Core et Plugins
Le tableau contient les versions du Core et des plugins installés.
-Les plugins disposent d'un badge à coté de leur nom, spécifiant leur version, de couleur verte en *stable*, ou orange en *beta* ou autre.
+Les plugins disposent d'un badge spécifiant leur version à coté de leur nom. Ce badge est de couleur verte en *stable* ou orange en *beta* ou autre.
-- **Statut** : OK ou NOK.
-- **Nom** : Nom et provenance du plugin
+- **Statut** : OK ou UPDATE.
+- **Nom** : Nom et provenance du plugin.
- **Version** : Indique la version précise du Core ou du plugin.
- **Options** : Cochez cette case si vous ne souhaitez pas que ce plugin soit mis à jour lors de la mise à jour globale (Bouton **Mettre à jour**).
-Sur chaque ligne, vous pouvez utiliser les fonctions suivantes:
+Sur chaque ligne, vous pouvez utiliser les fonctions suivantes :
-- **Réinstaller** : Force la réinstallation.
+- **Changelog** : Permet d’accéder à la liste des changements de la mise à jour.
+- **Mettre à jour** : Permet de mettre à jour l’élément (si celui-ci a une mise à jour).
- **Supprimer** : Permet de le désinstaller.
- **Vérifier** : Interroge la source des mises à jour pour savoir si une nouvelle mise à jour est disponible.
-- **Mettre à jour** : Permet de mettre à jour l’élément (si celui-ci a une mise à jour).
-- **Changelog** : Permet d’accéder à la liste des changements de la mise à jour.
> **Important**
>
-> Si le changelog est vide mais que vous avez tout de même une mise à jour, cela signifie que c’est la documentation qui a été mise à jour. Il n’est donc pas nécessaire de demander au développeur les changements, vu qu’il n’y en a pas forcément. (c’est souvent une mise à jour de la traduction, de la documentation).
-> Le développeur du plugin peut aussi dans certains cas faire des bugfix simples, ne nécessitant pas forcément de mettre à jour le changelog.
+> Si le changelog est vide mais que vous avez tout de même une mise à jour, cela signifie que c’est la documentation qui a été mise à jour. Il n’est donc pas nécessaire de demander les changements au développeur, vu qu’il n’y en a pas forcément. (c’est souvent une mise à jour de la traduction, de la documentation)
+> Le développeur du plugin peut aussi, dans certains cas, faire des bugfix simples, ne nécessitant pas forcément de mettre à jour le changelog.
> **Conseil**
>
@@ -70,9 +71,9 @@ Sur chaque ligne, vous pouvez utiliser les fonctions suivantes:
> **IMPORTANT**
>
-> Cet onglet est reservé aux utilisateurs avancés et uniquement aux utilisateurs avancé, la moindre mauvaise action ici peut CASSER votre Jeedom (sans possibilité de recourir au support)
+> Cet onglet est reservé aux utilisateurs avancés et uniquement aux utilisateurs avancés, la moindre mauvaise action ici peut CASSER votre Jeedom (sans possibilité de recourir au support).
-Cet onglet permet de voir les mises à jour disponible pour l'os (apt), package python (pip2 et pip3) ainsi que mettre à jour les packages qui le nécessite.
+Cet onglet permet de voir les mises à jour disponibles pour l'OS (apt), package python (pip2 et pip3) ainsi que de mettre à jour les packages qui le nécessitent.
## Onglet Informations
diff --git a/fr_FR/core/4.5/user.md b/fr_FR/core/4.5/user.md
index f2355ba8024..8a30b785c48 100644
--- a/fr_FR/core/4.5/user.md
+++ b/fr_FR/core/4.5/user.md
@@ -25,24 +25,24 @@ Sur la page vous avez trois boutons :
- **Mot de passe** : Permet de changer le mot de passe de l’utilisateur.
- **Supprimer** : Permet de supprimer l’utilisateur.
- **Régénérer clef API** : Régénère la clef API de l’utilisateur.
-- **Gérer les droits** : Permet de gérer finement les droits de l’utilisateur (attention le profil doit être en "utilisateur limité").
+- **Gérer les droits** : Permet de gérer les droits de l’utilisateur finement (attention le profil doit être en "utilisateur limité").
## Gestion des droits
-Lors du clic sur "Droits" une fenêtre apparaît et vous permet de gérer finement les droits de l’utilisateur. Le premier onglet affiche les différents équipements. Le deuxième présente les scénarios.
+Lors du clic sur "Droits" une fenêtre apparaît et vous permet de gérer les droits de l’utilisateur finement. Le premier onglet affiche les différents équipements. Le second présente les scénarios.
> **Important**
>
> Le profil doit être en limité sinon aucune restriction mise ici ne sera prise en compte.
-Vous obtenez un tableau qui permet, pour chaque équipement et chaque scénario, de définir les droits de l’utilisateur :
+Vous obtenez un tableau qui permet de définir les droits de l’utilisateur pour chaque équipement et chaque scénario :
- **Aucun** : l’utilisateur ne voit pas l’équipement/scénario.
- **Visualisation** : l’utilisateur voit l’équipement/scénario mais ne peut pas agir dessus.
- **Visualisation et exécution** : l’utilisateur voit l’équipement/scénario et peut agir dessus (allumer une lampe, lancer le scénario, etc).
## Session(s) active(s)
-Affiche les sessions de navigateur active sur votre Jeedom, avec les informations utilisateur, son IP et depuis quand. Vous pouvez déconnecter l'utilisateur à l'aide du bouton **Déconnecter**.
+Affiche les sessions de navigateur actives sur votre Jeedom, avec les informations utilisateur : son IP et depuis quand il est connecté. Vous pouvez déconnecter l'utilisateur à l'aide du bouton **Déconnecter**.
## Périphérique(s) enregistré(s)
@@ -52,10 +52,3 @@ Vous pouvez voir quel utilisateur, son IP, à quelle date, et supprimer l'enregi
> **Note**
>
> Un même utilisateur peut avoir enregistré différents périphériques. Par exemple, son ordinateur de bureau, son ordinateur portable, son mobile, etc.
-
-
-
-
-
-
-
diff --git a/fr_FR/core/4.5/view.md b/fr_FR/core/4.5/view.md
index 1218906c5c6..84cc2ca2098 100644
--- a/fr_FR/core/4.5/view.md
+++ b/fr_FR/core/4.5/view.md
@@ -2,13 +2,13 @@
**Accueil → Vue**
Les Vues permettent de créer des affichages personnalisés.
-Ce n’est pas aussi puissant que les designs mais cela permet en quelques minutes d’avoir un affichage plus personnalisé que le Dashboard, avec des équipements d'objets différents, des graphiques, ou des commandes.
+Ce n’est pas aussi puissant que les designs mais cela permet d’avoir un affichage plus personnalisé que le Dashboard en quelques minutes, avec des équipements d'objets différents, des graphiques ou des commandes.
{% include lightbox.html src="images/doc-view_01.jpg" data="View" title="View" imgstyle="width:450px;display: block;margin: 0 auto;" %}
> **Conseil**
>
-> Vous pouvez dans votre profil choisir la Vue par défaut lors du clic sur le menu des Vues.
+> Dans votre profil, vous pouvez choisir la Vue par défaut lors du clic sur le menu des Vues.
## Principe
@@ -16,17 +16,17 @@ On peut mettre aussi bien des tuiles d'équipements, des graphiques (qui peuvent
Sur une Vue, on retrouve :
-- Un bouton en haut à gauche pour montrer ou masquer la liste des Vues, ainsi que le bouton pour en ajouter une.
+- Un bouton en haut à gauche pour montrer ou masquer la liste des Vues ainsi que le bouton pour en ajouter une.
- Le crayon sur la droite pour éditer l'ordre et la taille des équipements, de la même manière que le Dashboard.
- Un bouton *Edition complète* permettant d'éditer les zones et éléments de la Vue.
> **Conseil**
>
-> Vous pouvez, dans votre profil, modifier cette option pour que la liste des Vues soit visible par défaut.
+> Dans votre profil, vous pouvez modifier cette option pour que la liste des Vues soit visible par défaut.
## Ajout/Edition d’une Vue
-Le principe est assez simple : une Vue est composée de zones. Chaque zone est de type *graphique*, *widget* ou *tableau*. En fonction de ce type, vous pourrez ajouter des graphiques, des équipements, ou des commandes celle-ci.
+Le principe est assez simple : une Vue est composée de zones. Chaque zone est de type *graphique*, *widget* ou *tableau*. En fonction de ce type, vous pourrez ajouter des graphiques, des équipements ou des commandes.
- Sur la gauche de la page on retrouve la liste des Vues ainsi qu’un bouton de création.
- Un bouton en haut à droite vous permet d’éditer la Vue courante (Configuration).
@@ -35,13 +35,13 @@ Le principe est assez simple : une Vue est composée de zones. Chaque zone est d
- Un bouton permettant de sauvegarder cette Vue.
- Un bouton permettant de supprimer cette Vue.
-> **Conseil**
+> **Note**
>
> Il est possible de déplacer l’ordre des zones par glisser/déposer.
Sur chaque zone vous avez les options générales suivantes :
-- **Largeur** : Définit la largeur de la zone (en mode desktop seulement). 1 pour une l'argeur d'1/12 du navigateur, 12 pour la largeur totale.
+- **Largeur** : Définit la largeur de la zone (en mode desktop seulement). 1 pour une largeur d'1/12 du navigateur, 12 pour la largeur totale.
- Un bouton permettant d'ajouter un élément à cette zone, dépendant du type de zone (voir plus bas).
- **Editer** : Permet de changer le nom de la zone.
- **Supprimer** : Permet de supprimer la zone.
@@ -52,20 +52,17 @@ Une zone de type equipement permet d’ajouter des équipements :
- **Ajouter equipement** : Permet d’ajouter/modifier des équipements à afficher dans la zone.
-> **Conseil**
->
-> Vous pouvez supprimer un equipement directement en cliquant sur la poubelle à gauche de celui-ci.
-
-> **Conseil**
+> **Note**
>
-> Il est possible de modifier l’ordre des tuiles dans la zone par glisser/déposer.
+> - Vous pouvez supprimer un equipement directement en cliquant sur la poubelle à gauche de celui-ci.
+> - Il est possible de modifier l’ordre des tuiles dans la zone par glisser/déposer.
### Zone de type graphique
-Une zone de type graphique permet d’ajouter des graphiques à votre Vue, elle possède les options suivantes :
+Une zone de type graphique permet d’ajouter des graphiques à votre Vue. Elle possède les options suivantes :
-- **Période** : Permet de choisir la période d’affichage des graphiques (30 min, 1 jour, 1 semaine, 1 mois, 1 année ou tout).
+- **Période** : Permet de choisir la période d’affichage des graphiques (30 minutes, 1 jour, 1 semaine, 1 mois, 1 année ou tout).
- **Ajouter courbe** : Permet d’ajouter/modifier des graphiques.
Quand vous pressez le bouton **Ajouter courbe**, Jeedom affiche la liste des commandes historisées et vous pouvez choisir celle à ajouter. Une fois cela fait vous avez accès aux options suivantes :
@@ -82,13 +79,13 @@ Quand vous pressez le bouton **Ajouter courbe**, Jeedom affiche la liste des com
{% include lightbox.html src="images/doc-view_02.jpg" data="View" title="Pie Graph" imgstyle="width:450px;display: block;margin: 0 auto;" %}
-> **Conseil**
+> **Note**
>
> Il est possible de modifier l’ordre des graphiques dans la zone par glisser/déposer.
### Zone de type tableau
-Vous avez ici les boutons :
+Ici, vous avez les boutons :
- **Ajouter colonne** : Permet d’ajouter une colonne au tableau.
- **Ajouter ligne** : Permet d’ajouter une ligne au tableau.
diff --git a/fr_FR/core/4.5/widgets.md b/fr_FR/core/4.5/widgets.md
index 5d3b779172f..fc486f92006 100644
--- a/fr_FR/core/4.5/widgets.md
+++ b/fr_FR/core/4.5/widgets.md
@@ -24,10 +24,10 @@ Ce widget est un peu particulier car c'est un widget multi-commandes, c'est à d
- **scale** *(échelle)* : Permet de changer la taille du widget, en renseignant le paramètre **scale** à `0.5`, le widget sera 2 fois plus petit.
->**IMPORTANT**
->Il faut ABSOLUMENT que les types génériques soient renseignés; `Température` sur la commande de température et `Humidité` sur la commande humidité (cela se configure dans la configuration avancée de la commande, onglet configuration).
+> **IMPORTANT**
+> Il faut ABSOLUMENT que les types génériques soient renseignés; `Température` sur la commande de température et `Humidité` sur la commande humidité (cela se configure dans la configuration avancée de la commande, onglet configuration).
->**NOTE**
+> **NOTE**
> Attention sur un design il ne faut surtout pas mettre une commande seule avec ce widget cela ne marchera pas vu que c'est un widget utilisant la valeur de plusieurs commandes, il faut absolument mettre le widget complet
### Multiline
@@ -64,15 +64,15 @@ Concernant les widgets pour interrupteurs *(on/off, allumer/éteindre, ouvrir/fe
Cette possibilité est utilisable aussi bien avec les widgets par défaut qu'avec les widgets personnalisés.
-Pour se faire, il est nécessaire de prendre en compte 2 pré-requis :
+Pour ce faire, il est nécessaire de prendre en compte 2 pré-requis :
- Les **2 commandes action/défaut** doivent être liées à une commande **info/binaire** qui se chargera de mémoriser l'état actuel de l'appareil.
->**Exemple**
->
+> **Exemple**
+> 
->**Conseil**
->Décocher la case *"Afficher"* de la commande info/binaire qui n'aura pas besoin d'être affichée.
+> **Conseil**
+> Décocher la case *"Afficher"* de la commande info/binaire qui n'aura pas besoin d'être affichée.
- Afin que le Core Jeedom soit en mesure d'identifier quelle commande correspond à quelle action, il est indispensable de respecter le nommage suivant pour les **2 commandes action/défaut** :
```
@@ -96,8 +96,8 @@ Pour se faire, il est nécessaire de prendre en compte 2 pré-requis :
'go':'on'
```
->**Astuce**
->Tant que le nom normalisé reste lisible il est possible d'adapter le nommage, par exemple *ouvrir_volet* ou *volet_fermer*, *marche_2* et *arret_2*, etc.
+> **Astuce**
+> Tant que le nom normalisé reste lisible il est possible d'adapter le nommage, par exemple *ouvrir_volet* ou *volet_fermer*, *marche_2* et *arret_2*, etc.
## Widgets personnalisés
@@ -146,7 +146,7 @@ Une fois sur la page de configuration d'un widget, un menu contextuel est access
Une fois sur la page **Outils → Widgets** il vous faut cliquer sur le bouton "**Ajouter**" et donner un nom à votre nouveau widget.
Ensuite :
-- Vous choisissez s’il s'applique sur une commande de type **Action** ou **Info**.
+- Vous choisissez s’il s'applique à une commande de type **Action** ou **Info**.
- En fonction du choix précédent, vous allez devoir **choisir le sous-type** de la commande.
- Enfin **le template** parmis ceux qui seront disponibles selon les choix précédents.
- Une fois le template choisi, Jeedom affiche les possibilités de configuration de celui-ci en-dessous.
@@ -162,7 +162,7 @@ Suivant le type de widget, vous pouvez généralement personnaliser les icônes,
Il existe deux types de template :
- Les "**simples**" : comme une icône/image pour le "**ON**" et une icône/image pour le "**OFF**".
-- Les "**multistates**" : Cela permet de définir, par exemple, une image si la commande a pour valeur "**XX**" et une autre si supérieure à "**YY**" ou encore si inférieure à "**ZZ**". Fonctionne également pour les valeurs textuelles, une image si la valeur vaut "**toto**", une autre si "**plop**" et ainsi de suite...
+- Les "**multistates**" : Cela permet de définir, par exemple, une image si la commande a pour valeur "**XX**" et une autre si supérieure à "**YY**" ou encore si inférieure à "**ZZ**". Fonctionne également pour les valeurs textuelles : une image si la valeur vaut "**toto**", une autre si "**plop**" et ainsi de suite...
#### Remplacement
@@ -172,9 +172,9 @@ La case **Time widget**, si disponible, permet d'afficher la durée depuis le de
Pour les template utilisant des images, il vous est proposé de paramétrer la largeur du widget en pixel en fonction du support (**Largeur desktop** & **Largeur mobile**). Des images différentes peuvent également être sélectionnées selon le thème actif de Jeedom *(light ou dark)*.
->**Astuce**
->Pour les utilisateurs avancés il est possible de mettre des tags dans les valeurs de remplacement et de spécifier leur valeur dans la configuration avancée de la commande.
->Si, par exemple, dans **Largeur desktop** vous mettez comme valeur `#largeur_desktop#` (**attention à bien mettre les** `#` **autour**) puis dans la configuration avancée d'une commande, onglet affichage → "**Paramètres optionnels widget**" vous ajoutez le paramètre `largeur_desktop` (**sans les** `#`) et lui donnez la valeur "**90**", ce widget personnalisé sur cette commande aura une largeur de 90 pixels. Cela permet d'adapter la taille du widget à chaque commande sans avoir à faire un widget spécifique à chaque fois.
+> **Astuce**
+> Pour les utilisateurs avancés il est possible de mettre des tags dans les valeurs de remplacement et de spécifier leur valeur dans la configuration avancée de la commande.
+> Par exemple, si dans **Largeur desktop** vous mettez comme valeur `#largeur_desktop#` (**attention à bien mettre les** `#` **autour**) puis dans la configuration avancée d'une commande, onglet affichage → "**Paramètres optionnels widget**" vous ajoutez le paramètre `largeur_desktop` (**sans les** `#`) et lui donnez la valeur "**90**", ce widget personnalisé sur cette commande aura une largeur de 90 pixels. Cela permet d'adapter la taille du widget à chaque commande sans avoir à faire un widget spécifique à chaque fois.
#### Test
@@ -188,14 +188,10 @@ Les tests sont sous la forme : `#value# == 1`, `#value#` sera automatiquement re
- `#value# >= 1 && #value# <= 5`
- `#value# == 'toto'`
->**Note**
->Il est indispensable de faire apparaitre les apostrophes (**'**) autour du texte à comparer si la valeur est un texte *(info/autre)*.
-
->**Note**
->Pour les utilisateurs avancés, il est possible d'utiliser aussi des fonctions javascript telle que `#value#.match("^plop")`, ici on teste si le texte commence par `plop`.
-
->**Note**
->Il est possible d'afficher la valeur de la commande dans le widget en précisant `#value#` dans le code HTML du test. Pour afficher l'unité ajoutez `#unite#`.
+> **Note**
+> - Il est indispensable de faire apparaitre les apostrophes (**'**) autour du texte à comparer si la valeur est un texte *(info/autre)*.
+> - Pour les utilisateurs avancés, il est possible d'utiliser aussi des fonctions javascript telles que `#value#.match("^plop")`, ici on teste si le texte commence par `plop`.
+> - Il est possible d'afficher la valeur de la commande dans le widget en précisant `#value#` dans le code HTML du test. Pour afficher l'unité ajoutez `#unite#`.
## Widget code
@@ -204,17 +200,17 @@ Les tests sont sous la forme : `#value# == 1`, `#value#` sera automatiquement re
En mode code vous avez accès à différents tags pour les commandes, en voici une liste (pas forcément exhaustive) :
- **#name#** : nom de la commande
-- **#valueName#** : nom de la valeur de la commande, et = #name# quand c'est une commande de type info
+- **#valueName#** : nom de la valeur de la commande. Vaut #name# quand c'est une commande de type info
- **#minValue#** : valeur minimum que peut prendre la commande (si la commande est de type slider)
- **#maxValue#** : valeur maximum que peut prendre la commande (si la commande est de type slider)
- **#hide_name#** : vide ou hidden si l'utilisateur a demandé à masquer le nom du widget, à mettre directement dans une balise class
- **#id#** : id de la commande
- **#state#** : valeur de la commande, vide pour une commande de type action si elle n'est pas a liée à une commande d'état
-- **#uid#** : identifiant unique pour cette génération du widget (si il y a plusieurs fois la même commande, cas des designs: seul cet identifiant est réellement unique)
+- **#uid#** : identifiant unique pour cette génération du widget (si il y a plusieurs fois la même commande, cas des designs: seul cet identifiant est réellement unique)
- **#valueDate#** : date de la valeur de la commande
- **#collectDate#** : date de collecte de la commande
-- **#alertLevel#** : niveau d'alerte (voir [ici](https://github.com/Jeedom/core/blob/alpha/core/config/Jeedom.config.php#L67) pour la liste)
-- **#hide_history#** : si l'historique (valeur max, min, moyenne, tendance) doit être masqué ou non. Comme pour le #hide_name# il vaut vide ou hidden, et peut donc être utilisé directement dans une class. IMPORTANT si ce tag n'est pas trouvé sur votre widget alors les tags #minHistoryValue#, #averageHistoryValue#, #maxHistoryValue# et #tendance# ne seront pas remplacés par Jeedom.
+- **#alertLevel#** : niveau d'alerte (voir [ici](https://github.com/Jeedom/core/blob/alpha/core/config/jeedom.config.php#L69) pour la liste)
+- **#hide_history#** : si l'historique (valeur max, min, moyenne, tendance) doit être masqué ou non. Comme pour le #hide_name# il vaut vide ou hidden et peut donc être utilisé directement dans une class. IMPORTANT si ce tag n'est pas trouvé sur votre widget alors les tags #minHistoryValue#, #averageHistoryValue#, #maxHistoryValue# et #tendance# ne seront pas remplacés par Jeedom.
- **#minHistoryValue#** : valeur minimale sur la période (période définie dans la configuration de Jeedom par l'utilisateur)
- **#averageHistoryValue#** : valeur moyenne sur la période (période définie dans la configuration de Jeedom par l'utilisateur)
- **#maxHistoryValue#** : valeur maximale sur la période (période définie dans la configuration de Jeedom par l'utilisateur)
@@ -234,12 +230,12 @@ Voila un exemple simple de code javascript à mettre dans votre widget :
```
@@ -248,19 +244,19 @@ Ici deux choses importantes :
```
jeedom.cmd.addUpdateFunction('#id#', function(_options) {
if (is_object(cmd = document.querySelector('.cmd[data-cmd_id="#id#"]'))) {
- cmd.setAttribute('title', '{{Date de valeur}}: ' + _options.valueDate + '
{{Date de collecte}}: ' + _options.collectDate)
- cmd.querySelector('.value').innerHTML = _options.display_value
- cmd.querySelector('.unit').innerHTML = _options.unit
+ cmd.setAttribute('title', '{{Date de valeur}}: ' + _options.valueDate + '
{{Date de collecte}}: ' + _options.collectDate);
+ cmd.querySelector('.value').innerHTML = _options.display_value;
+ cmd.querySelector('.unit').innerHTML = _options.unit;
}
-}
+});
```
La fonction est appelée lors d'une mise à jour du widget. Elle met alors à jour le code html du widget_template.
```
-jeedom.cmd.refreshValue([{ cmd_id: '#id#', value: '#value#', display_value: '#state#', valueDate: '#valueDate#', collectDate: '#collectDate#', alertLevel: '#alertLevel#', unit: '#unite#' }])
+jeedom.cmd.refreshValue([{ cmd_id: '#id#', value: '#value#', display_value: '#state#', valueDate: '#valueDate#', collectDate: '#collectDate#', alertLevel: '#alertLevel#', unit: '#unite#' }]);
```
- L'appel à cette fonction pour l'initialisation du widget.
+L'appel à cette fonction pour l'initialisation du widget.
### Exemples
- Vous trouverez [ici](https://github.com/Jeedom/core/tree/master/core/template) des exemples de widgets (dans les dossiers dashboard et mobile)
+Vous trouverez [ici](https://github.com/Jeedom/core/tree/master/core/template) des exemples de widgets (dans les dossiers dashboard et mobile)
diff --git a/fr_FR/howtoadvance/gsm.huawei_mode_carte_reseau.md b/fr_FR/howtoadvance/gsm.huawei_mode_carte_reseau.md
index 5f394fdc5d2..ef0bdc4bdda 100644
--- a/fr_FR/howtoadvance/gsm.huawei_mode_carte_reseau.md
+++ b/fr_FR/howtoadvance/gsm.huawei_mode_carte_reseau.md
@@ -1,4 +1,4 @@
-# GSM Huawei mode carte réseaux
+# GSM Huawei mode carte réseau
Afin d'utiliser la clé Huawei E3372 en mode carte réseau, il est nécessaire de modifier le mode de fonctionnement de la clé. Par défaut, celle-ci est configurée en mode Modem afin d'être compatible avec le plugin SMS.
diff --git a/fr_FR/howtoadvance/index.md b/fr_FR/howtoadvance/index.md
index d001d3be8a9..a7537e52487 100644
--- a/fr_FR/howtoadvance/index.md
+++ b/fr_FR/howtoadvance/index.md
@@ -1,33 +1,33 @@
# Sommaire
-- [Huawei GSM mode réseaux](/fr_FR/howtoadvance/gsm.huawei_mode_carte_reseau)
-- [Huawei GSM mode modem](/fr_FR/howtoadvance/gsm.huawei_mode_modem)
-- [Mariadb/Mysql truc et astuce](/fr_FR/howtoadvance/mysql.trucs_et_astuces)
-- [Github](/fr_FR/howtoadvance/tuto.github)
+- [Huawei GSM mode réseaux](gsm.huawei_mode_carte_reseau.md)
+- [Huawei GSM mode modem](gsm.huawei_mode_modem.md)
+- [Trucs et astuces pour MariaDB/MySQL](mysql.trucs_et_astuces.md)
+- [Github](tuto.github.md)
## Debian
-- [Installation](/fr_FR/howtoadvance/debian.installation)
-- [Truc et astuces](/fr_FR/howtoadvance/debian.trucs_et_astuces)
+- [Installation](debian.installation.md)
+- [Trucs et astuces](debian.trucs_et_astuces.md)
## Vmware
-- [Créer une vm](/fr_FR/howtoadvance/vmware.creer_une_vm)
-- [Insallation sur NUC](/fr_FR/howtoadvance/vmware.installation_sur_nuc)
-- [Sauvegarde/restauration](/fr_FR/howtoadvance/vmware.mise_en_place_des_backups)
-- [Truc et astuce](/fr_FR/howtoadvance/vmware.trucs_et_astuces)
+- [Créer une VM](vmware.creer_une_vm.md)
+- [Installation sur NUC](vmware.installation_sur_nuc.md)
+- [Sauvegarde/restauration](vmware.mise_en_place_des_backups.md)
+- [Trucs et astuces](vmware.trucs_et_astuces.md)
## Archive
-- [Android autovoice](/fr_FR/howtoadvance/android.autovoice)
-- [Installer monit](/fr_FR/howtoadvance/installation.monit)
-- [Installer nodered](/fr_FR/howtoadvance/installation.nodered)
-- [Installer openjabnab](/fr_FR/howtoadvance/installation.openjabnab)
-- [Installer shellinbox](/fr_FR/howtoadvance/installation.shellinabox)
-- [Migration jeelink](/fr_FR/howtoadvance/jeelink.migration)
-- [Karotz changer la voix](/fr_FR/howtoadvance/karotz.utiliser_un_autre_moteur_de_voix)
-- [Let's encrypt mise en place](/fr_FR/howtoadvance/letsencrypt.mise_en_place)
-- [Migration Apache](/fr_FR/howtoadvance/migration.apache)
-- [Synology utilisation du VPN](/fr_FR/howtoadvance/synology.utilisation_vpn)
-- [Utilisation emoncms](/fr_FR/howtoadvance/utilisation.emoncms)
-- [Utilisation opengarage](/fr_FR/howtoadvance/utilisation.opengarage)
+- [Android autovoice](android.autovoice.md)
+- [Installer monit](installation.monit.md)
+- [Installer nodered](installation.nodered.md)
+- [Installer openjabnab](installation.openjabnab.md)
+- [Installer shellinbox](installation.shellinabox.md)
+- [Migration jeelink](jeelink.migration.md)
+- [Karotz changer la voix](karotz.utiliser_un_autre_moteur_de_voix.md)
+- [Mise en place d'un certificat Let's encrypt pour une connexion https](letsencrypt.mise_en_place.md)
+- [Migration Apache](migration.apache.md)
+- [Utilisation du VPN Synology](synology.utilisation_vpn.md)
+- [Utilisation de emoncms](utilisation.emoncms.md)
+- [Utilisation de opengarage](utilisation.opengarage.md)
From 954bb6ba3b6542dd77e7942c009215999d22e85f Mon Sep 17 00:00:00 2001
From: Michel_F <80367602+MrWaloo@users.noreply.github.com>
Date: Thu, 28 Nov 2024 23:52:31 +0100
Subject: [PATCH 03/19] Corrections
---
fr_FR/dev/corejs/ajax.md | 14 ++++++-------
fr_FR/dev/corejs/dialogs.md | 40 ++++++++++++++++++-------------------
2 files changed, 27 insertions(+), 27 deletions(-)
diff --git a/fr_FR/dev/corejs/ajax.md b/fr_FR/dev/corejs/ajax.md
index 8248fd0d687..e1fe21638d0 100644
--- a/fr_FR/dev/corejs/ajax.md
+++ b/fr_FR/dev/corejs/ajax.md
@@ -1,9 +1,9 @@
-[<< Core js](/fr_FR/dev/corejs/index)
+[<< Core js](index.md)
## Ajax js
### Fetch ...
-A haut niveau, la récupération d'une ressource est une opération assez simple. Une requête arrive, et sort une réponse. Exemple avec la méthode native js fetch() :
+A haut niveau, la récupération d'une ressource est une opération assez simple. Une requête arrive et sort une réponse. Exemple avec la méthode native js fetch() :
````js
{% raw %}
@@ -16,26 +16,26 @@ fetch("folder/data.json")
{% endraw %}
````
-La méthode Fetch, qui définit l'API JavaScript fetch(), fournit une architecture unifiée concernant divers aspects de la récupération, tels que les redirections et le protocole CORS. Plusieurs API l'utilise, comme img, le curseur CSS, le style de liste, etc.
+La méthode Fetch, qui définit l'API JavaScript fetch(), fournit une architecture unifiée concernant divers aspects de la récupération, tels que les redirections et le protocole CORS. Plusieurs API l'utilisent, comme img, le curseur CSS, le style de liste, etc.
L'exemple ci-dessus est toutefois un exemple extrêmement simple et ... simplifié !
En effet, il faut aussi gérer différentes possibilités comme :
- Utiliser la méthode GET ou POST.
-- Récupérer une String ou un json.
+- Récupérer une chaîne de caractères (string) ou un json.
- Traiter les headers et paramètres à envoyer.
- Gérer l'insertion dynamique de scripts js si besoin, de manière successive et synchrone !
-Et tout cela, en gérant au maximum les erreurs possibles ...
+Et tout cela, en gérant au maximum les erreurs possibles...
-Il a donc fallut développer plusieurs fonctions internes au Core pour gérer tout ces cas de figure, qui sont appelées sans cesse (chargement dynamique des pages, save, les events d'update de cmd, eqLogic, etc etc).
+Il a donc fallut développer plusieurs fonctions internes au Core pour gérer tous ces cas de figure, qui sont appelées sans cesse (chargement dynamique des pages, save, les events d'update de cmd, eqLogic, etc etc).
Les fonctions internes du Core permettent également de traiter tous les appels Ajax de manière globale, par exemple pour gerer l'envoi de l'event pageLoad.
De plus, ces méthodes ont permis d'isoler certains scripts chargés dynamiquement, comme les librairies dans core/3rdparty ou dans plugin/3rdparty, qui sont maintenant chargés et conservés dans le head pour gagner en performance.
-### Utiliser les méthode de class js du Core :
+### Utiliser les méthodes de class js du Core :
````js
{% raw %}
diff --git a/fr_FR/dev/corejs/dialogs.md b/fr_FR/dev/corejs/dialogs.md
index ea47177545b..a50fcef5624 100644
--- a/fr_FR/dev/corejs/dialogs.md
+++ b/fr_FR/dev/corejs/dialogs.md
@@ -5,7 +5,7 @@ La gestion des Boites de dialogue de Jeedom repose entièrement sur la lib inter
### jeeDialog.alert()
-Affiche une simple alerter, sans option.
+Affiche une simple alerte, sans option.
````js
{% raw %}
@@ -106,16 +106,16 @@ jeeDialog.prompt({
pattern: String, //Validation pattern. Default pattern if inputType 'time' : '[0-9]{4}-[0-9]{2}-[0-9]{2}'
backdrop: Boolan, //Default: true
buttons: {},
- onShown: function(dialog //dialog HTMLelement) {
- console.log(dialog, 'shown')
- }),
+ onShown: function(dialog) { //dialog HTMLelement
+ console.log(dialog, 'shown');
+ },
callback: function(result) { //@required
- console.log('result:', result)
+ console.log('result:', result);
},
beforeClose: function() {
- console.log('About to close!')
+ console.log('About to close!');
},
-})
+});
{% endraw %}
````
@@ -143,7 +143,7 @@ jeedomUtils.showAlert({
emptyBefore: false, //Remove all other notifications
timeOut: Number //ms, setting in Configuration / Interface, forced to 0 if level 'danger',
attachTo: String / HTMLelement, //If String, a valid querySelector
-})
+});
{% endraw %}
````
@@ -160,7 +160,7 @@ jeeDialog.dialog({
id: 'md_cmdHistory',
title: '{{Historique}}',
contentUrl: 'index.php?v=d&modal=cmd.history&id=' + cmdIds
-})
+});
{% endraw %}
````
- Options
@@ -183,7 +183,7 @@ jeeDialog.dialog({
className: String,
callback: {
click: function(event) {
- console.log('Clicked!', event)
+ console.log('Clicked!', event);
}
}
},
@@ -192,15 +192,15 @@ jeeDialog.dialog({
setContent: true,
setFooter: false,
callback: function() {
- console.log('My dialog now exist!')
+ console.log('My dialog now exist!');
},
onMove: function(event) {
- console.log(event.target, 'is moving')
+ console.log(event.target, 'is moving');
},
onResize: function(event) {
- console.log('Resizing', event)
+ console.log('Resizing', event);
},
-})
+});
{% endraw %}
````
@@ -208,12 +208,12 @@ jeeDialog.dialog({
````js
{% raw %}
-var dialogOptions = jjeeDialog.get('queryselectorstring', 'options')
-var dialogElement = jeeDialog.get('queryselectorstring', 'dialog')
-var dialogTitleElement = jeeDialog.get('queryselectorstring', 'title')
-var dialogContentElement = jeeDialog.get('queryselectorstring', 'content')
-var dialogFooterElement = jeeDialog.get('queryselectorstring', 'footer')
+var dialogOptions = jjeeDialog.get('queryselectorstring', 'options');
+var dialogElement = jeeDialog.get('queryselectorstring', 'dialog');
+var dialogTitleElement = jeeDialog.get('queryselectorstring', 'title');
+var dialogContentElement = jeeDialog.get('queryselectorstring', 'content');
+var dialogFooterElement = jeeDialog.get('queryselectorstring', 'footer');
-jeeDialog.get(dialogElement).destroy()
+jeeDialog.get(dialogElement).destroy();
{% endraw %}
````
\ No newline at end of file
From 1e3ade1c463fb4d7610e356af9767f327b4eea9d Mon Sep 17 00:00:00 2001
From: Michel_F <80367602+MrWaloo@users.noreply.github.com>
Date: Fri, 29 Nov 2024 00:02:11 +0100
Subject: [PATCH 04/19] Correction events.md
---
fr_FR/dev/corejs/events.md | 66 +++++++++++++++++++-------------------
1 file changed, 33 insertions(+), 33 deletions(-)
diff --git a/fr_FR/dev/corejs/events.md b/fr_FR/dev/corejs/events.md
index 3ba87054cfc..7dd0870fb65 100644
--- a/fr_FR/dev/corejs/events.md
+++ b/fr_FR/dev/corejs/events.md
@@ -3,22 +3,22 @@
### Persistance des événements
-La gestion des événements en js est relativement simple, toutefois il faut absolument veiller à ne leur (non) persistance.
+La gestion des événements en js est relativement simple, toutefois il faut absolument veiller à leur (non) persistance.
Un exemple simple :
````js
window.addEventListener('resize', function(event) {
- console.log('resize!(, event))
- computeMyHeavyFunction()
-})
+ console.log('resize!(, event));
+ computeMyHeavyFunction();
+});
````
Ici, on crée un listener sur l’événement *resize* de *window*. Ce listener se déclenchera donc à chaque redimensionnement du navigateur par l'utilisateur.
Sur un site web normal, ce n'est pas très grave, car en changeant d'url le *listener* disparaît. Un *listener* est automatiquement supprimé lorsque son élément disparaît du DOM.
-Mais Jeedom change réellement de page/url très rarement. Pour des questions de performances et de confort, il charge dynamiquement le contenu dans une div. Donc sans notre exemple, *window* n'est pas supprimée, et si on change de page, le *listener* existe toujours !
+Mais Jeedom change réellement de page/url très rarement. Pour des questions de performances et de confort, il charge dynamiquement le contenu dans une div. Donc sans notre exemple, *window* n'est pas supprimée et si on change de page, le *listener* existe toujours !
Structure du DOM de Jeedom :
@@ -40,7 +40,7 @@ Les pages, que ce soit un plugin ou les pages du Core, sont chargées dynamiquem
Pour simplifier, `jeedomUtils.loadPage()` vide la div *div_pageContainer* puis insère la nouvelle page dedans.
-Donc tous les *listeners* enregistrés sur des éléments de la page elle-même dans la *div_pageContainer* (click sur des boutons, etc.) seront automatiquement supprimés par le navigateur, puisque la les éléments DOM qui y existaient sont supprimés.
+Donc tous les *listeners* enregistrés sur des éléments de la page elle-même dans la *div_pageContainer* (clic sur des boutons, etc.) seront automatiquement supprimés par le navigateur, puisque les éléments DOM qui y existaient sont supprimés.
Par contre, tous les *listeners* enregistrés sur un parent de *div_pageContainer*, donc *window*, *body* etc, persistent !
@@ -48,35 +48,35 @@ Il existe une méthode native pour supprimer un *listener* :
````js
{% raw %}
-element.removeEventListener(event, listener, useCapture)
+element.removeEventListener(event, listener, useCapture);
{% endraw %}
````
-Mais, vous devez passer à removeEventListener() l'event (click, ...), le *listener* (il faut donc déclarer la fonction avant pour la passer à *addEventListerner()*), et cet event doit avoir le même paramètre *useCapture* true/false.
+Mais, vous devez passer à removeEventListener() l'event (clic, ...), le *listener* (il faut donc déclarer la fonction avant pour la passer à *addEventListerner()*), et cet event doit avoir le même paramètre *useCapture* true/false.
Et enfin, vous ne pouvez de toute façon pas le faire, puisque vous ne savez pas à quel moment l'utilisateur va changer de page, donc quand faire ce *removeEventListener()* !
-C'est pourquoi le Core propose une méthode pour enregistrer ce *listener*, et le Core le supprimera alors lors du loadPage() suivant.
+C'est pourquoi le Core propose une méthode pour enregistrer ce *listener* et le Core le supprimera alors lors du loadPage() suivant.
-> Attention : Cette méthode n'est à utiliser que dans des cas très particulier, où un listener doit être enregistré sur un élément parent de *div_pageContainer*. Tous les *listeners* sur des éléments dans la div *div_pageContainer* doivent utiliser la méthode js native addEventListener().
+> Attention : Cette méthode n'est à utiliser que dans des cas très particuliers, où un listener doit être enregistré sur un élément parent de *div_pageContainer*. Tous les *listeners* sur des éléments dans la div *div_pageContainer* doivent utiliser la méthode js native addEventListener().
````js
{% raw %}
window.registerEvent('resize', function(event) {
//Do stuff
-}, {capture: false})
+}, {capture: false});
{% endraw %}
````
-Cette méthode garde une référence de l'élément, du listener, et de useCapture. Au prochain loadPage(), le Core pourra donc supprimer ce listener !
+Cette méthode garde une référence de l'élément, du listener et de useCapture. Au prochain loadPage(), le Core pourra donc supprimer ce listener !
````js
{% raw %}
jeedomUtils.loadPage = function(_url, _noPushHistory) {
- domUtils.unRegisterEvents() //Remove all registered event listeners
+ domUtils.unRegisterEvents(); //Remove all registered event listeners
document.getElementById('div_pageContainer').load(url, function() {
//Do stuff
- }
+ });
}
{% endraw %}
````
@@ -87,13 +87,13 @@ Pour déclencher dynamiquement un événement, vous pouvez créer un nouvel év
````js
{% raw %}
-const event = new Event('build')
+const event = new Event('build');
//Listen event:
-elem.addEventListener('build', function(e) { /* … */ }, false)
+elem.addEventListener('build', function(e) { /* … */ }, false);
//Dispatch the event:
-elem.dispatchEvent(event)
+elem.dispatchEvent(event);
{% endraw %}
````
@@ -101,14 +101,14 @@ Le Core propose la méthode `triggerEvent(_eventName, _params)` sur les élémen
````js
{% raw %}
-var myEl = document.document.getElementById('myid')
-//Native js click():
-myEl.click()
+var myEl = document.document.getElementById('myid');
+// Native js click():
+myEl.click();
-//Core triggerEvent()
-myEl.triggerEvent('update')
+// Core triggerEvent()
+myEl.triggerEvent('update');
-document.querySelectorAll('div.myclass').triggerEvent('update', {capture: false, bubbles: false, detail: 'myclass'})
+document.querySelectorAll('div.myclass').triggerEvent('update', {capture: false, bubbles: false, detail: 'myclass'});
{% endraw %}
````
@@ -120,13 +120,13 @@ Vous pouvez enregistrer une fonction qui sera déclenchée une fois la page char
{% raw %}
domUtils(function() {
//Do stuff
-})
+});
{% endraw %}
````
### Délégation d'événements
-Dans 99% des cas, vous ne serez pas concerné par la persistance des événements, et déclarerez vos déclencheurs normalement.
+Dans 99% des cas, vous ne serez pas concerné par la persistance des événements et déclarerez vos déclencheurs normalement.
Pour cela, en js natif, il existe deux méthodes :
@@ -136,11 +136,11 @@ Pour cela, en js natif, il existe deux méthodes :
{% raw %}
document.getElementById('bt_dostuff').addEventListener('click', function(event) {
//Do stuff
-})
+});
document.getElementById('bt_dootherstuff').addEventListener('click', function(event) {
//Do other stuff
-})
+});
{% endraw %}
````
@@ -151,19 +151,19 @@ La délégation d'événements permet d'optimiser la gestion d’événements en
````js
{% raw %}
document.getElementById('div_pageContainer').addEventListener('click', function(event) {
- var _target = null
+ var _target = null;
if (_target = event.target.closest('#bt_dostuff')) {
- let data = _target.getAttribute('data-stuff')
+ let data = _target.getAttribute('data-stuff');
//Do stuff
- return
+ return;
}
if (_target = event.target.closest('#bt_dootherstuff')) {
- let data = _target.getAttribute('data-otherstuff')
+ let data = _target.getAttribute('data-otherstuff');
//Do other stuff
- return
+ return;
}
-})
+});
{% endraw %}
````
From 7ab3ea3b134a83111709e0b985957e30ae47ca45 Mon Sep 17 00:00:00 2001
From: Michel_F <80367602+MrWaloo@users.noreply.github.com>
Date: Sat, 30 Nov 2024 00:49:44 +0100
Subject: [PATCH 05/19] =?UTF-8?q?Correction=20de=20fran=C3=A7ais?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
fr_FR/dev/corejs/events.md | 2 +-
fr_FR/dev/corejs/helpers.md | 27 ++++++-------
fr_FR/dev/corejs/index.md | 26 +++++-------
fr_FR/dev/corejs/jeeComplete.md | 46 ++++++++++-----------
fr_FR/dev/corejs/jeevalue.md | 28 ++++++-------
fr_FR/dev/corejs/shortcuts.md | 72 ++++++++++++++++-----------------
6 files changed, 98 insertions(+), 103 deletions(-)
diff --git a/fr_FR/dev/corejs/events.md b/fr_FR/dev/corejs/events.md
index 7dd0870fb65..5b4c1c66fd2 100644
--- a/fr_FR/dev/corejs/events.md
+++ b/fr_FR/dev/corejs/events.md
@@ -1,4 +1,4 @@
-[<< Core js](/fr_FR/dev/corejs/index)
+[<< Core js](index.md)
## Gestion des événements (*listeners*) js
### Persistance des événements
diff --git a/fr_FR/dev/corejs/helpers.md b/fr_FR/dev/corejs/helpers.md
index 2f0b92db2ea..02f0115f021 100644
--- a/fr_FR/dev/corejs/helpers.md
+++ b/fr_FR/dev/corejs/helpers.md
@@ -1,7 +1,7 @@
-[<< Core js](/fr_FR/dev/corejs/index)
+[<< Core js](index.md)
## Helpers
-Les *helpers* Sont des fonctions du Core prête à l'emploi qui peuvent être appellées par les plugins et se chargent de différentes tâches.
+Les *helpers* sont des fonctions du Core prêtes à l'emploi qui peuvent être appellées par les plugins et se chargent de différentes tâches.
### initTooltips()
@@ -10,15 +10,14 @@ Les *helpers* Sont des fonctions du Core prête à l'emploi qui peuvent être ap
_el : HTMLelement default document : un HTMLelement sur lequel initialiser les tooltips.
-Initialise les tooltips en recherchant les éléments html avec un attribut *title*, avec la lib [tippy](https://atomiks.github.io/tippyjs/)
-
+Initialise les tooltips en recherchant les éléments html avec un attribut *title*, avec la lib [tippy](https://atomiks.github.io/tippyjs/).
### initSpinners()
*jeedomUtils.initSpinners()*
-Initialise des spinners en recherchant sur la page les *input[type="number"].ispin*, avec la lib [ISpin](https://unmanner.github.io/ispinjs/)
+Initialise des spinners en recherchant sur la page les *input[type="number"].ispin*, avec la lib [ISpin](https://unmanner.github.io/ispinjs/).
### datePickerInit()
@@ -28,7 +27,7 @@ Initialise des spinners en recherchant sur la page les *input[type="number"].isp
- _format : String default 'Y-m-d'.
- _selector : String default 'input.in_datepicker'.
-Initialise les inputs *input.in_datepicker* avec la lib [flatpick](https://flatpickr.js.org/)
+Initialise les inputs *input.in_datepicker* avec la lib [flatpick](https://flatpickr.js.org/).
````js
{% raw %}
@@ -36,17 +35,17 @@ flatpickr(_input, {
enableTime: _enableTime, //Depends on passed _format
dateFormat: _format, //Default: 'Y-m-d'
time_24hr: true,
-})
+});
{% endraw %}
````
### dateTimePickerInit()
-*jeedomUtils.dateTimePickerInit(_step) *
+*jeedomUtils.dateTimePickerInit(_step)*
- _step : Number default 5: Pas de la sélection des minutes.
-Initialise les inputs *input.in_timepicker* ou *input.isdatepicker* avec la lib [flatpick](https://flatpickr.js.org/)
+Initialise les inputs *input.in_timepicker* ou *input.isdatepicker* avec la lib [flatpick](https://flatpickr.js.org/).
````js
{% raw %}
@@ -59,7 +58,7 @@ flatpickr(_input, {
})
{% endraw %}
````
-> Sur ces deux fonctions, la langues est soit us, fr, es en fonction de la langue du Core.
+> Sur ces deux fonctions, la langues est soit us, fr ou es en fonction de la langue du Core.
### setCheckContextMenu()
@@ -68,7 +67,7 @@ flatpickr(_input, {
- Gestion de checkboxs multiples : Proposer un menu contextuel sur les checkbox : Sélectionner toutes, aucune, Sélection inversée.
-Pour l'utiliser, il faut ajouter la class css *checkContext* sur les checkboxs concernées, et appeller la fonction ``jeedomUtils.setCheckContextMenu()``
+Pour l'utiliser, il faut ajouter la class css *checkContext* sur les checkboxs concernées et appeler la fonction ``jeedomUtils.setCheckContextMenu()``.
Les checkboxs seront alors groupées par même *data-l1key* et *data-l2key* si ils existent.
@@ -80,9 +79,9 @@ Enfin, vous pouvez définir une fonction callback de la sorte :
{% raw %}
var checkContextMenuCallback = function(_el) {
//_el is an html element.
- _el.triggerEvent('change')
+ _el.triggerEvent('change');
}
-jeedomUtils.setCheckContextMenu(checkContextMenuCallback)
+jeedomUtils.setCheckContextMenu(checkContextMenuCallback);
{% endraw %}
````
@@ -96,4 +95,4 @@ jeedomUtils.setCheckContextMenu(checkContextMenuCallback)
Initialise les tables *table.dataTable* avec la lib *DataTable* (lib basée sur DataTable et améliorée par Jeedom).
-Si la table possède déjà une instance *dataTable*, elle appelle destroy() et la réinitialise.
\ No newline at end of file
+Si la table possède déjà une instance *dataTable*, elle appelle destroy() et la réinitialise.
diff --git a/fr_FR/dev/corejs/index.md b/fr_FR/dev/corejs/index.md
index 9167fffadba..ed24dd9b9e3 100644
--- a/fr_FR/dev/corejs/index.md
+++ b/fr_FR/dev/corejs/index.md
@@ -1,15 +1,14 @@
## Développement js et Core 4.4 +
+Le Core de Jeedom a subit une profonde restructuration du front-end en v4.4. Historiquement basé sur jQuery et bootstrap v3, le Core est dorénavant écrit en Vanilla js, sans framework. Les plugins jQuery ont été remplacés par des librairies internes ou d'autres librairies également en js.
-Le Core de Jeedom a subit une profonde restructuration du front-end en v4.4. Historiquement basé sur jQuery et bootstrap v3, le Core est dorénavant écrit en Vanilla js, sans framework. Les plugins jQuery ont été remplacées par des librairies internes ou d'autres librairies également en js.
+Les plugins seront forcément impactés dans de futures versions, puisque ces libs et même jQuery sont voués à ne plus être chargés par le Core.
-Les plugins seront forcément impactés dans de futurs versions, puisque ces libs et même jQuery est voué à ne plus être chargé par le Core.
-
-> Attention, les plugins suivant ces recommandations ne fonctionnerons pas sur un Core pré 4.4 !
+> Attention, les plugins qui suivent ces recommandations ne fonctionneront pas sur un Core pré 4.4 !
>
> Il faudra donc appliquer `"require" : "4.4",` dans l'info.json du plugin.
-Le but ici n'est pas d'expliquer toutes les méthodes js, il y a assez de doc officielles là dessus :
+Le but ici n'est pas d'expliquer toutes les méthodes js, il y a assez de doc officielles là-dessus :
- [MSDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
- [javaScript](https://devdocs.io/javascript/)
@@ -19,13 +18,10 @@ Nous verrons donc ici les principales fonctions apportées par le Core, utilisab
- [Dov dev Jeedom Core 4.4](/fr_FR/dev/core4.4)
-- [Raccourcis sur les éléments html](/fr_FR/dev/corejs/shortcuts)
-- [Boites de dialogue](/fr_FR/dev/corejs/dialogs)
-- [Helpers](/fr_FR/dev/corejs/helpers)
-- [Gestion des événements (*listeners*) js](/fr_FR/dev/corejs/events)
-- [Gestion des appels Ajax](/fr_FR/dev/corejs/ajax)
-- [Setter / Getter des valeurs](/fr_FR/dev/corejs/jeevalue)
-- [Autocompletion](/fr_FR/dev/corejs/jeeComplete)
-
-
-
+- [Raccourcis sur les éléments html](shortcuts.md)
+- [Boites de dialogue](dialogs.md)
+- [Helpers](helpers.md)
+- [Gestion des événements (*listeners*) js](events.md)
+- [Gestion des appels Ajax](ajax.md)
+- [Setter / Getter des valeurs](jeevalue.md)
+- [Autocompletion](jeeComplete-md)
diff --git a/fr_FR/dev/corejs/jeeComplete.md b/fr_FR/dev/corejs/jeeComplete.md
index c49aee6e1ca..91656437247 100644
--- a/fr_FR/dev/corejs/jeeComplete.md
+++ b/fr_FR/dev/corejs/jeeComplete.md
@@ -1,11 +1,11 @@
-[<< Core js](/fr_FR/dev/corejs/index)
+[<< Core js](index.md)
## jeeComplete()
*HTMLInputElement.prototype.jeeComplete(_options)*
jeeComplete est une lib interne au Core, permettant de définir un autocomplete sur un élément html input.
-Elle permet d'attribuer à un input une source d'autocomplete statique ou dynamique (ajax). De plus, elle permet d'avoir une multitude d'input avec le même autocomplete, en créant un seul élément dans le DOM au lieu d'un élément par input.
+Elle permet d'attribuer une source d'autocomplete statique ou dynamique (ajax) à un input. De plus, elle permet d'avoir une multitude d'input avec le même autocomplete, en créant un seul élément dans le DOM au lieu d'un élément par input.
> L'utilisateur peut utiliser les touches du clavier *ArrowDown*, *ArrowUp* pour naviguer entre les propositions, *Enter* pour valider la proposition.
@@ -18,11 +18,11 @@ HTMLInputElement.jeeComplete({
minLength: Number, //Default 1, minimal user entry length to fire autocomplete
forceSingle: Boolean, //Default false, reset input value before insert, or insert at cursor.
ignoreKeyCodes: Array, //Default [8, 13, 16, 17, 18, 27, 46]
- source: Array / function(request, response, url) {} //Define source for proposals. Static array or function.
+ source: Array / function(request, response, url) {}, //Define source for proposals. Static array or function.
response: function(event, ui) {}, //Triggered when matches are found, before displaying them.
focus: function(event) {}, //Triggered when the input is focused.
select: function(event, ui) {}, //Triggered when user select a proposal. Returning false cancel internal setter.
- })
+});
{% endraw %}
````
@@ -48,34 +48,34 @@ _expr.querySelector('.expressionAttr[data-l1key="' + _params.type + '"]').jeeCom
minLength: 1,
source: function(request, response) {
//return last term after last space:
- var values = request.term.split(' ')
- var term = values[values.length - 1]
- if (term == '') return false //only space entered
+ var values = request.term.split(' ');
+ var term = values[values.length - 1];
+ if (term == '') return false; //only space entered
response(
jeedom.scenario.autoCompleteCondition.filter(item => item.includes(term))
- )
+ );
},
response: function(event, data) {
//remove leading # from all values:
data.content.forEach(_content => {
- _content.text = _content.text.substr(1)
- _content.value = _content.value.substr(1)
+ _content.text = _content.text.substr(1);
+ _content.value = _content.value.substr(1);
})
},
focus: function(event) {
- event.preventDefault()
- return false
+ event.preventDefault();
+ return false;
},
select: function(event, data) {
if (data.value.substr(-1) == '#') {
- data.value = data.value.slice(0, -1) + data.value
+ data.value = data.value.slice(0, -1) + data.value;
} else {
- var values = data.value.split(' ')
- var term = values[values.length - 1]
- data.value = data.value.slice(0, -term.length) + data.value
+ var values = data.value.split(' ');
+ var term = values[values.length - 1];
+ data.value = data.value.slice(0, -term.length) + data.value;
}
}
-})
+});
{% endraw %}
````
@@ -98,7 +98,7 @@ document.querySelector('.scenarioAttr[data-l1key="group"]')?.jeeComplete({
dataType: 'json',
global: false,
error: function(request, status, error) {
- handleAjaxError(request, status, error)
+ handleAjaxError(request, status, error);
},
success: function(data) {
if (data.state != 'ok') {
@@ -106,12 +106,12 @@ document.querySelector('.scenarioAttr[data-l1key="group"]')?.jeeComplete({
message: data.result,
level: 'danger'
})
- return
+ return;
}
- response(data.result)
+ response(data.result);
}
- })
+ });
},
-})
+});
{% endraw %}
-````
\ No newline at end of file
+````
diff --git a/fr_FR/dev/corejs/jeevalue.md b/fr_FR/dev/corejs/jeevalue.md
index 7122df6e152..32726ebdb44 100644
--- a/fr_FR/dev/corejs/jeevalue.md
+++ b/fr_FR/dev/corejs/jeevalue.md
@@ -1,4 +1,4 @@
-[<< Core js](/fr_FR/dev/corejs/index)
+[<< Core js](index.md)
## Setter / Getter des valeurs
### getJeeValues() / setJeeValues()
@@ -7,7 +7,7 @@
*NodeList.prototype.getJeeValues*
*Element.prototype.setJeeValues*
*NodeList.prototype.setJeeValues*
-
+
Ces fonctions permettent d'assigner les paramètres enregistrés en DB à des éléments d'une page pour l'affichage, puis de les récupérer pour les sauvegarder en DB.
@@ -22,9 +22,9 @@ jeedom.eqLogic.byId({
error: function(error) {
},
success: function(data) {
- document.getElementById('div_displayEqLogicConfigure').setJeeValues(data, '.eqLogicAttr')
+ document.getElementById('div_displayEqLogicConfigure').setJeeValues(data, '.eqLogicAttr');
}
-})
+});
{% endraw %}
````
@@ -33,7 +33,7 @@ jeedom.eqLogic.byId({
````js
{% raw %}
-var eqLogic = document.getElementById('div_displayEqLogicConfigure').getJeeValues('.eqLogicAttr')[0]
+var eqLogic = document.getElementById('div_displayEqLogicConfigure').getJeeValues('.eqLogicAttr')[0];
{% endraw %}
````
@@ -43,7 +43,7 @@ var eqLogic = document.getElementById('div_displayEqLogicConfigure').getJeeValue
### jeeValue()
*Element.prototype.jeeValue*
-*NodeList.prototype.jeeValue*
+*NodeList.prototype.jeeValue*
La fonction `jeeValue()` est à la fois un setter et un getter.
@@ -57,14 +57,14 @@ Quelques exemples :
````js
{% raw %}
-var value = document.getElementById('myInput').value
-var value = document.getElementById('myInputCheckbox').checked
-var value = document.getElementById('myDiv').innerHTML
+var value = document.getElementById('myInput').value;
+var value = document.getElementById('myInputCheckbox').checked;
+var value = document.getElementById('myDiv').innerHTML;
//...
-document.getElementById('myInput').value = 4.4
-document.getElementById('myInputCheckbox').checked = true
-document.getElementById('myDiv').innerHTML = 'RTFM'
+document.getElementById('myInput').value = 4.4;
+document.getElementById('myInputCheckbox').checked = true;
+document.getElementById('myDiv').innerHTML = 'RTFM';
//...
{% endraw %}
@@ -74,9 +74,9 @@ Ou plus simplement :
````js
{% raw %}
-var value = document.getElementById('myElement').jeeValue()
+var value = document.getElementById('myElement').jeeValue();
-document.getElementById('myElement').jeeValue(4.4)
+document.getElementById('myElement').jeeValue(4.4);
//...
{% endraw %}
````
diff --git a/fr_FR/dev/corejs/shortcuts.md b/fr_FR/dev/corejs/shortcuts.md
index 942b43c9397..9635358faa0 100644
--- a/fr_FR/dev/corejs/shortcuts.md
+++ b/fr_FR/dev/corejs/shortcuts.md
@@ -1,22 +1,22 @@
-[<< Core js](/fr_FR/dev/corejs/index)
+[<< Core js](index.md)
## Raccourcis sur les éléments html
Le Core v4.4+ propose plusieurs raccourcis permettant d'écrire plus facilement et rapidement certaines fonctions.
-Ces raccourcis sont définit dans le fichier `core/dom/dom.ui.js`.
+Ces raccourcis sont définis dans le fichier `core/dom/dom.ui.js`.
-> La plupart de ces méthodes retourne l'élément ou la liste d'éléments appelé(e). Ce qui permet de chaîner les méthodes, par exemple myEl.empty().addClass('newClass').
+> La plupart de ces méthodes retourne l'élément ou la liste d'éléments appelés. Ce qui permet de chaîner les méthodes, par exemple `myEl.empty().addClass('newClass')`.
### isVisible() / isHidden()
*Element.prototype.isVisible*
*Element.prototype.isHidden*
-Retourne un boolean si un élément est visible, ou invisible.
+Retourne un boolean si un élément est visible ou invisible.
````js
{% raw %}
-var myEl = document.document.getElementById('myid')
+var myEl = document.document.getElementById('myid');
if (myEl.isVisible()) {
//Do stuff...
} else {
@@ -29,7 +29,7 @@ document.querySelectorAll('div.myclass').forEach(_el => {
} else {
//Do stuff...
}
-})
+});
{% endraw %}
````
@@ -44,10 +44,10 @@ Rend un élément ou une liste d'éléments visible ou invisible.
````js
{% raw %}
-var myEl = document.document.getElementById('myid')
-myEl.unseen()
+var myEl = document.document.getElementById('myid');
+myEl.unseen();
-document.querySelectorAll('div.myclass').seen()
+document.querySelectorAll('div.myclass').seen();
{% endraw %}
````
@@ -60,10 +60,10 @@ Supprime les éléments enfant d'un élément ou d'une liste d'éléments.
````js
{% raw %}
-var myEl = document.document.getElementById('myid')
-myEl.empty()
+var myEl = document.document.getElementById('myid');
+myEl.empty();
-document.querySelectorAll('div.myclass').empty()
+document.querySelectorAll('div.myclass').empty();
{% endraw %}
````
@@ -79,19 +79,19 @@ document.querySelectorAll('div.myclass').empty()
Contrôle les classes css d'un élément ou d'une liste d'éléments.
-> addClass() et removeClass() permettent de passer plusieurs sous les formes :
+> addClass() et removeClass() permettent de passer plusieurs css à un élément html :
>
-> myEl.addClass('newClass', 'newClass2', 'newClass3', ...)
-> myEl.addClass('newClass newClass2 newClass3 ...')
+> myEl.addClass('newClass', 'newClass2', 'newClass3', ...);
+> myEl.addClass('newClass newClass2 newClass3 ...');
````js
{% raw %}
-var myEl = document.document.getElementById('myid')
-myEl.addClass('newClass')
-myEl.removeClass('oldClass')
-myEl.toggleClass('refClass')
+var myEl = document.document.getElementById('myid');
+myEl.addClass('newClass');
+myEl.removeClass('oldClass');
+myEl.toggleClass('refClass');
//ou:
-document.querySelectorAll('div.myclass').removeClass('oldClass').toggleClass('refClass').addClass('newClass')
+document.querySelectorAll('div.myclass').removeClass('oldClass').toggleClass('refClass').addClass('newClass');
document.querySelectorAll('div.myclass').forEach(_el => {
if (_el.hasClass('myclass')) {
@@ -99,7 +99,7 @@ document.querySelectorAll('div.myclass').forEach(_el => {
} else {
//Do stuff...
}
-})
+});
{% endraw %}
````
@@ -111,7 +111,7 @@ La méthode `remove()` existe nativement sur les *Element*.
````js
{% raw %}
-document.querySelectorAll('div.myclass').remove()
+document.querySelectorAll('div.myclass').remove();
{% endraw %}
````
@@ -122,15 +122,15 @@ document.querySelectorAll('div.myclass').remove()
`querySelector()` permet de sélectionner le premier élément. Cette méthode permet de sélectionner le dernier élément d'une liste.
-`closestAll()` permet de sélectionner tous les parents, et renvoit une liste d'éléments.
+`closestAll()` permet de sélectionner tous les parents et renvoit une liste d'éléments.
````js
{% raw %}
// Return last element or null
-var myEl = document.querySelectorAll('div.myclass').last()
+var myEl = document.querySelectorAll('div.myclass').last();
myEl.closestAll('.element').forEach( _parent => {
- _parent.removeClass('group')
+ _parent.removeClass('group');
})
{% endraw %}
````
@@ -143,7 +143,7 @@ Insère une string dans un input ou textarea.
````js
{% raw %}
-document.querySelector('input.useroption').insertAtCursor(resultString)
+document.querySelector('input.useroption').insertAtCursor(resultString);
{% endraw %}
````
@@ -151,14 +151,14 @@ document.querySelector('input.useroption').insertAtCursor(resultString)
*HTMLSelectElement.prototype.sortOptions*
-Tri les options d'un select
+Tri les options d'un select.
````js
{% raw %}
//Sort by text (default):
-document.querySelector('select.class').sortOptions()
+document.querySelector('select.class').sortOptions();
//Sort by value:
-document.querySelector('select.class').sortOptions(false)
+document.querySelector('select.class').sortOptions(false);
{% endraw %}
````
@@ -167,15 +167,15 @@ document.querySelector('select.class').sortOptions(false)
*Element.prototype.html*
-Permet d'injecter une string html dans un élément.
+Permet d'injecter une chaine de caractères html dans un élément.
-- _htmlString : La string html à injecter.
-- _append (boolean : default(false)): Par défaut, html() remplace contenu de l'élément. Permet de conserver le contenu existant en faisant un *append*.
+- _htmlString : La chaine de caractères html à injecter.
+- _append (boolean : default(false)): Par défaut, html() remplace le contenu de l'élément. Permet de conserver le contenu existant en faisant un *append*.
- _callback : La méthode étant asynchrone, _callback est une fonction exécutée en sortie.
````js
{% raw %}
-document.getElementById('#myID').html(_htmlString, _append, _callback)
+document.getElementById('#myID').html(_htmlString, _append, _callback);
{% endraw %}
````
> Cette méthode permet l'injection de contenu html avec des scripts js. Pour du html simple ('



t$ch5Rde6IY2LkiSBxp%_~Pui&-LED zd$peXObEjtpM#VNRMAdp;YlV-`BNd@7?em3cRabDni^eMcg$Gt{%YU%$rB*XFqiLy zpeiN5=W4=BaE4;Ee2mAsV!wFmCqByx?U!CGl<+d2MQv^Ea6QgqXQGJptA=xX6Cj zBh4B+3NCK$D+mt{4@)~cbJ=Nnxg@`o6jF7}`Cx3an7BBT=M)H_=l=LsVbbU0wlx(5 z-+UPy%;iy3Sm;-Z|7gY)p`@eJdsgDbip*nLFE;EaEFBgOMR!lvY|eZH$ryYt1CN{M z15mUrpK54C_vV^e+S)GK&6+@DUP^EFE2nOCU)`@t;=7lT8iZ>ckd7e!(Zk<>!P;~Z zX>Dg0tUOuCWL%&c1_y##M1-QJr$=sxAzt>!#zrqz`(6!al>!SPbW=AS9UUJlDq0YV zii+0O*4|-YKsPfp3k?tF{u!jJsfhuf(4WfxkUp;B;0c&IF@;YZHNtX3GOp_}*Mm9O zpB`(d6k_c59+8Q{p3cMJe6YO|CCr<`J8{_z3S6DRu{KUP;QhDtdE1W1$% z-aI=6rl1>F(c7oPc?@G)%4*)&`GYGQxi1n}@-Mm{d1&a6N`x-+^hZwTP!3BDT#N1s ztVexsIYO!@xJP+-^>{8I|Jm@IR840z6^^vDbef<`Siz&^yhtihN+40+cbG>Y49APL zEbZ;PQh2Qqh>VO3Vi8ZCQvJp-Dxae(@T?r1oJ@XisH&+Y>#qL%8Hz{yC<~^B(oy6_ zC5wXaei(Rd*Ke@FeD7UOj??Zst#nk@hY$GK($T>sC9Kb#oa$2XAzrq<`;swNIXLgz zOu04u+v|X2+YW=eCbVvVVq?+v*SL4J!^i3uHVVmd!N{l2mguCBOo#s}X?+Y>x3zV3 zoMVM>h)nm-L>w2ce){xDv#i3n1M6|Fa@+>uj*t+Uk&%%c1Kv#i%a>QXO}UEoyc$=; zSqNcx{dsT@$9kgFY&Nx~h9An%xW9*(P!003UHa_%^)1XNg`Rb4h0|7g#0BePRF9-I z8Vif;uK5K7pt!rcmlry?jI{=ou2Jt78T6Nos!gmXk$!-%a80M$MjTGaMkCC+How>4 zG`MaVA3)x9qXGA?HH#CId04rn0mG+if60;~m#rMoGD4ZM<5O;f5VK2_7({SAHu za4jQ)(>8y9&KN5mnVX>*!-Zz7?!Lh1u?~`s#3ygZQszu0a|leNqXWbYJ93@@mF8mW z{`231mA|#EpaUTm5==S1JPV?+IXO~Mr+mVa#C;vl=;7|M#-)`1yU>P|7*UG9AN@D& z|9CAX8H_ES@s3#Fnv{89^ZthZBZn+eeiCf#$op}r=#h`?rw|BId7-Eb;h<3q`N6nj ziIH1J`$sa!stHQ1mHxD-Vs3$N2mAcf#pW}GE%wm=&2KJ+PRvbp>q&)b@sk~4el~7# zI+&;D7M#)^$~Yw(8uxOtf`+V4Wbb`pV%H+I1pd`$mK^TFqk+xZ*CQ2gFaP}M*U%Nw zDdHAw#(FqQ+ZOOLq;^tkR^gnO;lqb3Pzio`TU;a!b*LSm1e$PB){psylO)|c2mbUg z$PG;fXWk$)bE!0)Pg~nV1OnKIbwN_y_jvS;U71%7^cr7~tgn-muPrL#F=2LQ`+8si zL#ExB=>F9AMX^r2O;Lv!HL2;Tsj$!Q!U1Y+dvnC j=M~%yFcM*a{BTr|0}7{@vwv`(yT`8&jGi@oJ9D;ugr*bLr5z2u=5JnWs|nC zVd1X*U1DzcV170R5^s5VxjxBV?L+-5}S&di-M57k9p`B#{a0ga|RZ zJ$i(;adc=Jvz75efdWpIG^NK?(aSS#YqC1ssM^~5E56%j12dfa-V2m*8GSe Njm5=yf(LxgJUIj6;k>Q)!bqcPV+JyjR-+ZKOu@Z2SS?I%91R?`lxu0wfE7nBN` zYZrlM4x6Tg(7H!qo U3|uk_`CzRrM}Cy~JB3L#PS*zIx^Lr3u`c zoSb|tCudrnD(d^-4=Gpj4V8QaDLDD~w{BH<9on^bc5 slTusj10MZ=gKLeUg}R<998T zCJ@yseYfj=u5rfpm>%u6;b@IAzP?xtMiE6=+9<;_3r?N3K(5P5{n$5XUPCD;B3Zw? z5?_^5 v+`4sTUc!+xt7cG1h6B#Y(-#HkCZ%{IsM!IZIE4hS!oWp8lbf<^kOW7O z0dH336ArVvoL^NV?aL^(c}!?z^&nP9kPG0)$Hz~rJ?c;5MBU%tN82jgUqd&X787TR zr(t5k>WZQ;kzGI7oD5u9F_)B-EdTvHHz%iDHsU7LgB$*0EjIi{pRa!X`jx}O^&eG7 zdwV+qF)}iuNhjNUevsNTQMKf>K6*{r;Ki?NDXEjTdfeRH70;JtS2Rt{&0(?c+|8-% z>?PNWIqM)Y5Gybp433M5K`=0YbhUx#ClhCHceh_$T->msI_#X*xj8Bl5|TbIK}bZ? z)6+>UU%r1&y~o>#2fRgOl~j58>60)IKR+!G4?%5@iNr}JI6ab*raBz8Q&}$Pa(J%+ zY@x4vDu_G@CJdFkdyCOX@J!PKf>TnnUK)jwg-IZQ7V4BHe?bH{@9$IfXwdS0_+6~u zbc1Zp{WkJzHe)mR&tFhsCD72Wq5UasFe*YJ{Xtug%;Oy;)p43WP*Rsh-S^7H63FGP zWw7C>rsxj}j0AFG$9S1R^xmFxPJTYw8};tx=jM8zo`SFA; {jALadX>;grW5iEO-wY-PE}ba54L)X z%vi+tF30pP7w=CmwunUK^})i@(b2sxEL TcRWqW;Gs*h4xo7`d%k2 z#~F@rSntx&wF1K*Z12pQ4wVZCQu%DTJiXUTLvAyx8~$18N1J$k(X?M