Ignorer la casse d'un texte dans une liste entre crochets (fonction in)

Bonjour tout le monde,
Besoin d’un petit coup de main svp, je ne trouve nulle part la réponse (pour peu qu’elle existe :sweat_smile: )

Pour ignorer la casse dans une condition sur texte avec matches, il suffit d’ajouter un i exemple :

"Abcd" matches "/abc/i"

→ true (tout comme "abcd" matches "/Abc/i" d’ailleurs)

Je cherche cette fonction pour le cas d’un test de texte dans une liste in, par exemple :

"Aaa" in ["aaa","bbb","ccc"]

J’ai testé naïvement ["aaa","bbb","ccc"]i, ["/aaa/i","bbb","ccc"], sans succès bien sûr…

La finalité est de pouvoir utiliser ce type de condition avec, dans mon cas, le tag choix_activation donné par une interaction, et qui peut valoir "éteins" par exemple

Capture d’écran 2024-12-11 233919

Existe t il une fonction native qui conviendrait?

A moins que je ne doive tout simplement traiter auparavant le tag? J’ai bien trouvé strtolower(#choix_activation#) mais ça ne règle pas le problème des accents.

merci de m’avoir lu

Bonjour,

Pas de solution directe à ma connaissance, il va falloir effectivement traiter la chaine contenue dans #choix_activation#

Tu peux tenter avec strtolower(iconv('UTF-8', 'ASCII//TRANSLIT', #choix_activation#));

Bonjour,

Pour les accents, il existe une fonction dans le core: sanitizeAccent()

1 « J'aime »

Alors ca, c’est une belle découverte !!!
Merci @Mips pour l’info

Norbert

1 « J'aime »

merci à tous! je vais essayer tout ça

Merci pour cette info interessante !

Dommage qu’elle ne figure pas dans la doc des scénarios

J’aurais du me taire si c’est pour lire des trucs pareils après :face_vomiting:

Vous savez que c’est vraiment chiant de lire que des plaintes à chaque intervention ?

2 « J'aime »

C’est pas une plainte, c’est un constat. Je suis désolé si tu l’a pris comme ça, ce n’était absolument pas l’objectif …

La doc serait sur un format type wiki je l’aurais ajouté moi même avec plaisir pour en faire profiter tout le monde. Hélas, à part en parler ici, je ne sais pas comment faire pour capitaliser sur cette info en la faisant apparaitre sur la doc …

Bonjour,

Je vous propose, de manière constructive (mon but n’est pas de vexer qui que ce soit, juste de donner une information), la lecture de cette page de documentation :
https://doc.jeedom.com/fr_FR/contribute/doc

A+
Michel

1 « J'aime »

Je ne savais pas que la doc était sur github, merci pour cette info ! :slight_smile:

1 « J'aime »

Un post que j’ai fait un jour, si jamais, pour les lecteurs qui ne connaissent pas github :

C’est un mini-tuto ultra simplifié

1 « J'aime »

ok c’est surement moi.

j’ai l’impression que à chaque fois qu’il y a un apport de qlqch, derrière c’est « oui mais c’est pas dans la doc » ou « c’est pas bien nommé », « ca devrait être proposé automatiquement », « c’est pas normal que ca soit pas plus pro », « personne m’a rien dit »
y a toujours un truc négatif qui vient plomber

et concrètement, c’est un bonus ici, c’est une fonction du core qui existe comme des dizaines d’autres, je ne sais pas si c’est relevant de lister toutes les fonctions du core

1 « J'aime »

je pense que c’est général. Il n’est pas évident de s’exprimer à l’écrit parce qu’on ne peut pas y mettre le ton. Il faudrait migrer community en une version où on poste des vidéos de nous.
Perso, je fais de plus en plus attention à ce que j’écris et à comment je l’écris. Je me suis même fait plus discret ici pour éviter d’écrire quelque chose qui pourrait être interprété différemment de ce que je voulais dire.

Si je peux me permettre de donner mon avis qui n’engage que moi : je sais que la doc est immense (je suis en train de corriger les fautes que je trouve, step by step, donc je m’en rends compte) mais ces fonctions sont bien là pour quelque chose et certains utilisateurs pourraient en avoir besoin. On en a l’exemple parfait ici. Je serais pour que ces fonctions soient documentées.

A+
Michel

1 « J'aime »

Hello,

C’est pas spécialement pour aller dans le sens de Mips mais il y a 67 fonctions rien que dans le fichier où se trouve la fonction dont on parle.

Une énorme majorité (toutes …) sert au fonctionnement de Jeedom et n’a donc pas vocation à être utilisée par les utilisateurs quand bien même il pourrait être pratique un de ces jours de savoir qu’il y a des fonctions date_fr, convertDayFromEn ou bien getIpFromString qui pourrait servir dans un bloc code pour faire gagner du temps.

On a ici des développeurs de talent qui ont appris au fur et à mesure en se cognant pendants des heures le code de Jeedom et arrivent donc à utiliser des fonctions dans leurs plugins et les partage ici quand l’occasion de présente mais de là à intégrer tout ça dans une doc … franchement bon courage.
Je trouve qu’il y a quand même mieux à faire en améliorant et corrigeant le core que de passer des centaines d’heure à documenter des fonctions internes que 3 personnes vont peut-être utiliser un jour.

Sous Windows il y a des milliers de dll qui servent à faire tourner l’OS et peut-être bien qu’un jour quelqu’un aurait besoin de savoir qu’il y a une fonction intéressante dedans mais bon c’est franchement en dehors d’un cadre « utilisateurs » :slight_smile:

Il y a un semblant de « doc » qui sert à ça (mais qui ne sert à rien en fait à part recenser les fonctions/classes) : API Documentation
Ce ne serait utile que si le code étaient systématiquement commenté et que l’outil phpdoc réutilise ces blocs de commentaires pour recréer de la doc « développeurs »

3 « J'aime »

Je me permets de retourner ma veste (ce ne sera pas la dernière fois, il parait que seuls les imbéciles ne changent pas d’avis) et plussois ton propos.
La doc sur ces fonctions est plus un « nice to have ».

2 « J'aime »

Comme je l’ai dit, je m’excuse si le ton employé n’était pas le bon mais l’objectif n’était clairement pas d’être désagréable. C’était un regret de ma part pas un reproche.

Je plussoie il faut effectivement faire attention à ce qu’on écrit et comment. Je tacherai de faire plus attention à l’avenir.

[quote=« Bison, post:18, topic:135061 »]