llDetectedTouchUV ou llDetectedTouchST ?

Répondre
Partager Rechercher
Bonjour,

A la sortie officielle de la nouvelle version du client SL, je me suis (enfin) intéressé aux nouvelles commandes.

J'avoue avoir pas mal buté sur la différence entre llDetectedTouchUV et llDetectedTouchST.

Pour mettre cette différence en lumière, j'ai (avec Christy) créé ce script. Il faut le mettre ainsi qu'une texture dans une prim.
n'utilisez n'importe quelle texture, sinon, vous ne verrez pas grand chose (utilisez un paysage par exemple.


Code:
integer FACE;
default
{
    touch_start(integer total_number)
    {
        integer FACE = llDetectedTouchFace(0);
 
        string name = llGetInventoryName(INVENTORY_TEXTURE,0);
        if (name != "") {
            llSetTexture(name, FACE);
            vector offset1 = llGetTextureOffset(FACE);
            llSay(0,"avec l'offset actuel,");
            llSay(0,"llDetectedTouchUV renvoit " + (string)llDetectedTouchUV(0));
            llSay(0,"llDetectedTouchST renvoit " + (string)llDetectedTouchST(0));
            llSleep(1.0);
            llOffsetTexture(offset1.x + 0.3, offset1.y, FACE);
            llSay(0, "L'offset de la texture a ete modifiée, merci de retoucher l'objet");
        }
        else llSay(0, "merci de mettre un texture dans le contenu de cette prim");
    }
}
C'est fait ? ok. Maintenant cliquez une première fois sur la prim les résultats (identiques) de llDetectedTouchUV et llDetectedTouchST s'affichent.

Ensuite le script va appliquer un offset a la texture. Recliquer sur la même face de la prim et regarder les nouveaux résultats de llDetectedTouchUV et llDetectedTouchST. Cette fois, il y a bien une différence.

llDetectedTouchUV donne les coordonnées relatif du clic sur la face.
llDetectedTouchST donne la même chose mais en prenant l'offset en considération.


Voila, j'espère que ça sera utile à quelqu'un.

Vous pouvez me contacter IG si vous voulez mon objet tout fait.



Francky Habercom
Merci Francky pour ces tests!

Je ne m'étais pas encore penché sur le sujet et du coup j'ai jeté un oeil sur ces nouvelles fonctions. Il n'est peut-être pas inutile d faire un peu le point. Déjà la première fonction qui me paraît intéressante est celle qui renvoie le numéro de la face touchée :

llDetectedTouchFace

Smple, efficace et pratique. Deux autres fonctions donnent des renseignements sur l'orientation de la face dans l'espace :

llDetectedTouchNormal

qui nous donne un vecteur perpendiculaire à la face et

llDetectedTouchBinormal

qui nous donne un vecteur représentant la tangente à la face.

Et puis il y a les trois fonctions qui nous renseignent sur le positionnement du toucher. La première

llDetectedTouchPos

donne cette position en coordonnées globales.

La seconde

llDetectedTouchST

donne la position en coordonnées locales à la face avec deux valeurs x et y allant de 0 à 1. Bien pratique ça !

Enfin la troisième est un peu plus subtile à comprendre

llDetectedTouchUV

elle renvoie la position par rapport à la texture avec deux valeurs u et v. Si la texture occupe exactement la face le résultat est évidemment identique à la fonction llDetectedTouchST mais si on crée un offset ou une répétition le résultat est plus délicat à interpréter. J'ai constaté que pour cette fonction les valeurs ne s'étendent pas forcément de 0 à 1 mais suivent la logique de répétition de la texture. Avec une répétition de 2 la valeur va de 0 à 2. Quand on règle avec une valeur inférieure à 1 les coordonnées s'adaptent correctement en suivant la proportion.

Mais il faut aussi compter avec l'offset. Si vous réglez une répétition à 1 pour vertical et horizontal mais avec un offset de 0.5 vous allez de 0.5 et 0.5 dans un coin jusqu'à 1.5 et 1.5 dans l'autre coin. Ce qui paraît tout à fait logique.

En résumé la fonction llDetectedTouchUV renseigne sur le point de la texture touché indépendamment de la position de la texture sur la face. Ca ouvre des possibilités intéressantes.

On est donc passé de l'ère des cavernes avec un Touch balourd à des outils beaucoup plus fins qui vont nous permettre d'obtenir des fonctionnalités qu'on osait pas trop imaginer avec une économie notable de prims.
Citation :
Publié par bestmomo
Merci Francky pour ces tests!

On est donc passé de l'ère des cavernes avec un Touch balourd à des outils beaucoup plus fins qui vont nous permettre d'obtenir des fonctionnalités qu'on osait pas trop imaginer avec une économie notable de prims.
C'est super, l'image map du HTML en LSL, on va pouvoir faire un tas d'objets interactifs sans gaspiller nos précieuses prims.
Les autres fonctions sont un peu trop mathématiques pour mon petit cerveau.

Te reste plus qu'à rajouter un appendice à ton guide du LSL

D'avance merci !
Citation :
Publié par Solo Davies
C'est super, l'image map du HTML en LSL, on va pouvoir faire un tas d'objets interactifs sans gaspiller nos précieuses prims.
Oui, un exemple m'a tout de suite traversé l'esprit : le jeu d'échec.
Avant : 64 prim
Apres : 1 prim
(+ 32 pour les pions bien sur)

Citation :
Publié par Solo Davies
Les autres fonctions sont un peu trop mathématiques pour mon petit cerveau.
llDetectedTouchNormal permettra de savoir "d'ou" vient le clic.cela peut servir pour donner une acceleration a un objet phisics sans trop de calcul. Pour le binormal, je vois pas du tout l'intérêt.


Citation :
Publié par Solo Davies
Te reste plus qu'à rajouter un appendice à ton guide du LSL
ben oui, çà devrait être fait déjà. loooooooool
Petite question car je ne me suis pas encore penché sur les fonctions touch : Existe t-il un moyen de savoir quelle primitive a été touchée ?
Citation :
Publié par Phli Foxchase
Petite question car je ne me suis pas encore penché sur les fonctions touch : Existe t-il un moyen de savoir quelle primitive a été touchée ?
Les nouvelles fonctions n'apportent rien de nouveau dans ce domaine, elles se contentent (si on peut dire) de préciser l'emplacement du click mais pas de nouvel événement qui viendrait compléter ceux que nous avons déjà (la série des touch...) et pas de nouveaux paramètres pour ceux-là.
...
Merci pour ces réponses.

Mon but était de réduire le nombre de scripts utilisés dans un canapé multi-prims. Actuellement j'utilise un script par coussin pour animer l'avatar selon l'endroit où il clique. Mais apparemment il n'existe aucun moyen de faire autrement.
Si, c'est possible, c'est ce que dit Christy. Il suffit que les prims child ne comportent pas de script. Les touch sur ces prims sont alors transmises au script qui est dans le root et qui peut dès lors savoir laquelle a été touchée en utilisant la commande
Citation :
prim_touched = llDetectedLinkNumber( 0 );
De cette façon il est facile après de déterminer l'action à effectuer.
Appli utilisant llDetectedTouchST
Une amie m'a sollicité une petite application pour paramétrer ces fenêtres de magasins j'ai utilisé

llDetectedTouchST pour la réaliser en toute modestie.

Ci joint une photo qui explique mieux je l'espère comment cela fonctionne.

Le premier boitier gère la transparence (1 prim)
Le second la couleur utilisant le système (RGB) RVB .... ( 1 prim)
Et les fenètres ( simple prims )

Il me reste à différencier les canaux d'écoute (elle a plusieurs boutiques etc ...)
et finir le package.

3 scripts sont utilisés:

Script dans le boitier Transparence
Set_Transparency
Code PHP:

vector position;
float OffSet;
float Transparency;
float FlipFlop ;

integer Channel_S_1 = -12345001;


default
{
    
state_entry()
    {
        
FlipFlop 0.02;
        
Transparency 0;
    }

    
touch(integer num_detected)
    {
        
position llDetectedTouchST;

        if (
position.0.5)
            
FlipFlop 0.02;
        else
            
FlipFlop = -0.02;

        
Transparency Transparency FlipFlop;
        if (
Transparency>= Transparency 1;
        if (
Transparency <= Transparency 0;

        
llSleep(.05);
        
llRegionSay(Channel_S_1, (string) Transparency);
    }

    
touch_end (integer num_detected)
    {
        
llWhisper(0,"Transparency is :" + (string) ((integer ) (100 -Transparency 100)) +"%");
    }

Script dans le boitier couleurs
Set_Colors

Code PHP:

vector Position_Pointer;
float Position_Pointer_X;
float Position_Pointer_Y;

float Zone_Red 0.666;
float Zone_Green 0.333;


float OffSet;
float Red;
float Green;
float Blue;

float FlipFlop ;
vector Vector_color;

integer Channel_S_2 = -12345002;


default
{
    
state_entry()
    {
    
FlipFlop 0.02;
    
Red 1;
    
Green 0;
    
Blue 0;
    }
    
    
touch(integer num_detected)
    {
        
Position_Pointer llDetectedTouchST;
        
Position_Pointer_X Position_Pointer.;
        
Position_Pointer_Y Position_Pointer.;
        
        if (
Position_Pointer_X 0.5)
            
FlipFlop 0.02;
        else
            
FlipFlop = -0.02;
        
        
        if (
Position_Pointer_Y >= Zone_Red)
        {
            
Red Red FlipFlop;
            if (
Red>= Red 1;
            else if (
Red <= Red 0;
                else 
llWhisper(0,"Red =" + (string) (Red) );
        }
        
        
        if ( (
Position_Pointer_Y >= Zone_Green) & (Position_Pointer_Y Zone_Red) )
        {
            
Green Green FlipFlop;
            if (
Green>= Green 1;
            else if (
Green <= Green 0;
                else 
llWhisper(0,"Green =" + (string) (Green) );
        }
        
        if (
Position_Pointer_Y Zone_Green)
        {
            
Blue Blue FlipFlop;
            if (
Blue>= Blue 1;
            else if (
Blue <= Blue 0;
                else 
llWhisper(0,"Blue =" + (string) (Blue) );
        }
        
        
        
llSleep(.01);
        
Vector_color = < Red Green Blue >;
        
llRegionSay(Channel_S_2, (string) Vector_color);
    }
    
    
touch_end (integer num_detected)
    {
        
llWhisper(0"\n\n********************\nRed = " + (string) (Red) +
        
"\nGreen = " + (string) ( Green) +
        
"\nBlue = " + (string) ( Blue) +"\n\n********************");
    }

Script dans les fenêtres ( linked entre elles)
Windows Transpary & Colors
Code PHP:

integer Handle_Listen_1;
integer Handle_Listen_2;
vector touchedLoc;



integer Channel_R_1 = -12345001;
integer Channel_R_2 = -12345002;


default
{
    
state_entry()
    {
        
Handle_Listen_1 llListen(Channel_R_1"""" ""); //
        
Handle_Listen_2 llListen(Channel_R_2"""" ""); //
    
}
    
    
listen(integer channelstring namekey idstring message// demarre les écoutes
    
{
    if (
channel == Channel_R_1 )
        
llSetLinkAlpha(LINK_SET, (float)messageALL_SIDES);
    
    if (
channel == Channel_R_2 )
        
llSetLinkColor(LINK_SET,(vectormessage,ALL_SIDES);
    }

Les scripts ne sont pas encore commentés, désolé.

Le principe est simple.

Le script transparence ( Set_Transparency ) incrémente ou décrémente un compteur ( 0,00 to 1.00 ) qui est utilisé dans le script distant ( Windows Transpary & Colors) . On detecte simplement la position du pointeur
moitié gauche (-) / moitié droite (+).

Le script Set_Colors est basé sur le mème principe ...

3 zones ( Rouge Vert Bleue ) 1/3 1/3 1/3 de la prim.

et bien sur moité gauche moitié droite..

exemple: si le curseur est cliqué en .7 x et .5 y le compteur Blue est incrémenté ( zone blue + a été cliquée)

Les infos sont envoyée sur le chat...

exemple:

*********************************
[6:24] Object whispers: Green =0.160000
[6:24] Object whispers: Green =0.140000
[6:24] Object whispers: Green =0.120000
[6:24] Object whispers: Green =0.100000
[6:24] Object whispers: Green =0.080000
[6:24] Object whispers: Green =0.060000
[6:24] Object whispers: Green =0.040000
[6:24] Object whispers: Green =0.020000
[6:24] Object whispers:

********************
Red = 0.640000
Green = 0.020000
Blue = 0.960000

********************
[6:24] Object whispers: Blue =0.940000
[6:24] Object whispers: Blue =0.920000
[6:24] Object whispers: Blue =0.900000
[6:24] Object whispers: Blue =0.880000
[6:24] Object whispers: Blue =0.860000
[6:24] Object whispers: Blue =0.840000
[6:24] Object whispers:

********************
Red = 0.640000
Green = 0.020000
Blue = 0.840000

********************
[6:24] Object whispers: Transparency is :40%

********************************************
Notez la vitesse d'exécution.

Le timer donne un effet plus lisse et ralentit le script (sic!) ..

Les deux boitiers ne sont pas linked.

Voilà si cela peut aider.

La colorimétrie me semblait intéressante au vu de ce que j'ai lu à travers ce forum ( Cf Bestmomo)

Bonne lecture.
Miniatures attachées
Cliquez sur l'image pour la voir en taille réelle

Nom : demo.png
Taille : 1280x998
Poids : 1,01 Mo
ID : 58695  
Puisqu'on est dans le domaine colorimétrique qui me passionne depuis de très nombreuses années je pense que le réglage en RVB n'est pas vraiment intuitif et réclame une grande maîtrise pour anticiper le résultat au niveau de la couleur obtenue. Le système HSL est beaucoup plus adapté parce qu'on peut choisir la teinte (hue), la luminosité (L) et la saturation (S), ce qui parle beaucoup plus aux utilisateurs que le système RVB. Il existe des routines de conversions, par exemple ici :

http://lslwiki.net/lslwiki/wakka.php...ryColorScripts

En regardant tes scripts je constate que tu fais exclusivement usage d'écoute du Chat avec des appels à llRegionSay, elle est grande la boutique !!! Je suis un peu un obsédé du lag et je traque les listen dès que je le peux. Ne peux-tu vraiment pas lier tout ça ? Il me semble aussi qu'il serait facile de n'utiliser qu'un seul canal de Chat pour passer tes informations. Il est facile de faire le tri à l'arrivée.

En ce qui concerne le code lui-même juste quelques petites remarques de perfectionniste :
  • lorsque tu initialise une variable de type float il vaut mieux mettre une valeur qui correspond, au lieu de f = 2 il vaut mieux écrire f = 2.0, ton script tournera plus vite, idem lorsque tu testes la valeur d'un float,
  • tu pourrais utiliser des else if dans tes tests pour simplifier ton code, au lieu de :
if(Position_Pointer_Y>=Zone_Red)
...
if((Position_Pointer_Y>=Zone_Green)&(Position_Pointer_Y<Zone_Red))
...
if(Position_Pointer_Y<Zone_Green)

plutôt :

if(Position_Pointer_Y>=Zone_Red)
...
else if(Position_Pointer_Y>=Zone_Green)
...
else
  • tu affectes la couleur et l'alpha à toutes les faces de tes vitres, je pense qu'il faudrait affiner pour les bordures, ça fait pas toujours très élégant une affectation globale
Pour en revenir à la couleur il devient maintenant possible de poser une palette complète sur un prim et de définir précisément la couleur par les coordonnées du click. C'est sans doute l'approche qui sera adoptée systématiquement dans quelques temps parce qu'elle apporte le plus de convivialité à l'utilisateur. Elle donne aussi sa totale justification a cette nouvelle fonction qui est un peu sous exploitée avec quelques boutons.

que la couleur soit avec toi Seb !!!

Merci de tes judicieuses remarques...comme souvent.

En regardant tes scripts je constate que tu fais exclusivement usage d'écoute du Chat avec des appels à llRegionSay En regardant tes scripts je constate que tu fais exclusivement usage d'écoute du Chat avec des appels à llRegionSay, elle est grande la boutique !!! Je suis un peu un obsédé du lag et je traque les listen dès que je le peux. Ne peux-tu vraiment pas lier tout ça ? Il me semble aussi qu'il serait facile de n'utiliser qu'un seul canal de Chat pour passer tes informations. Il est facile de faire le tri à l'arrivée., elle est grande la boutique !!! Je suis un peu un obsédé du lag et je traque les listen dès que je le peux. Ne peux-tu vraiment pas lier tout ça ? Il me semble aussi qu'il serait facile de n'utiliser qu'un seul canal de Chat pour passer tes informations. Il est facile de faire le tri à l'arrivée.

Oui bien sûr tu as raison...mais les besoins des utilisateurs évoluent chaque fois que tu leur présente le produit... comme toujours.. style: tu peux ajouter cela? et cà c'est possible? etc...
Autrement les raisons sont:
1 je copie des morceaux de mes scripts histoire d'être en mode fainéant ( d'où la coquille de llRegionSay ) ( Je corrige...)
2. Je segmente mes application en multiscripts en séparant bien les fonctions de chacun. Cela me permet d'avoir une lecture plus aisée, les maintenir et faire évoluer l'application aisément( les ajouts de fonctionnalité sont plus simple etc...)

Ceci dit pour cette simple application rien n'est justifiable... je te l'accorde.

Question: avoir des canaux ouverts provoque du lag réellement ?

Il me semble aussi qu'il serait facile de n'utiliser qu'un seul canal de Chat pour passer tes informations. Il est facile de faire le tri à l'arrivée.
Là je suis pas si sûr que toi...du moins pour les "listen" et "say"
Je m'explique:
Faire un tri suppose qu'au départ je groupe l'info par une liste style ( ordre + message) et à l'arrivée je dégroupe et teste l'ordre soit au total peut être une dizaine de lignes de codes sollicitées à chaque communication ...donc des ressources utilisées...
Pour les message "linked" entre prims là il y 3 champs qui permettent de faire le tri donc un vrai bonheur..
sur un "say" et un listen il y a que "message" donc le tri doit être "fabriqué"..
Ceci dit quand une liste doit être passée je met l'ordre dans le premier item de la liste et je tri à l'arrivée...sur un seul canal.

concernant :

Pour en revenir à la couleur il devient maintenant possible de poser une palette complète sur un prim et de définir précisément la couleur par les coordonnées du click. C'est sans doute l'approche qui sera adoptée systématiquement dans quelques temps parce qu'elle apporte le plus de convivialité à l'utilisateur. Elle donne aussi sa totale justification a cette nouvelle fonction qui est un peu sous exploitée avec quelques boutons.

J'ai testé un de ces principe. ratio 1:1 dans la prim où tu mets l'image spectrale (comme celle des couleurs de SL) et 0:0 dans la prim ou tu veux la couleur (il faut renverser l'image ) cela n'est pas très concluant ou du moins pas très précis... En fait c'est le principe d'une loupe (changement d'echelle sur la deuxième image) . Mais bon il faut pousser plus loin pour essayer d'obtenir quelque chose de correct peut être
L'image de reference doit être parfaite et précise....autrement on a quelques surprises....
La taille de la l'image (donc la prim) doit etre assez grande
Etc..
Citation :
Publié par Seb_01
Faire un tri suppose qu'au départ je groupe l'info par une liste style ( ordre + message) et à l'arrivée je dégroupe et teste l'ordre soit au total peut être une dizaine de lignes de codes sollicitées à chaque communication ...donc des ressources utilisées...
Pour faire le tri il faut pas trop se fouler, je suis pour les solutions simples, tu consacres le premier caractère de ta chaîne de message comme élément de tri, ça te donne déjà des possibilités nombreuses et tu décodes ça rapidement, dans le genre :

string s = llGetSubString(message,0,0);
if(s=="A")
...
else if(s=="B")
...

Tu récupères ton message effectif avec llGetSubString(message, 1, -1);

Citation :
Publié par bestmomo
Pour faire le tri il faut pas trop se fouler, je suis pour les solutions simples, tu consacres le premier caractère de ta chaîne de message comme élément de tri, ça te donne déjà des possibilités nombreuses et tu décodes ça rapidement, dans le genre :

string s = llGetSubString(message,0,0);
if(s=="A")
...
else if(s=="B")
...

Tu récupères ton message effectif avec llGetSubString(message, 1, -1);

on fait un benchmark pour tester la plus rapide?

Je plaisante bien sûr ..

par contre tu m'as fais penser à une astuce qui vaut de l'or sur le traitement des "listen" + 2 conseils ...en cela notre échange fut plus que fructueux...
Citation :
Publié par Seb_01
Pour en revenir à la couleur il devient maintenant possible de poser une palette complète sur un prim et de définir précisément la couleur par les coordonnées du click. C'est sans doute l'approche qui sera adoptée systématiquement dans quelques temps parce qu'elle apporte le plus de convivialité à l'utilisateur. Elle donne aussi sa totale justification a cette nouvelle fonction qui est un peu sous exploitée avec quelques boutons.

J'ai testé un de ces principe. ratio 1:1 dans la prim où tu mets l'image spectrale (comme celle des couleurs de SL) et 0:0 dans la prim ou tu veux la couleur (il faut renverser l'image ) cela n'est pas très concluant ou du moins pas très précis... En fait c'est le principe d'une loupe (changement d'echelle sur la deuxième image) . Mais bon il faut pousser plus loin pour essayer d'obtenir quelque chose de correct peut être
L'image de reference doit être parfaite et précise....autrement on a quelques surprises....
La taille de la l'image (donc la prim) doit etre assez grande
Etc..
Moi je trouve ça plutôt concluant la palette sur un prim, à tel point que je le propose en nouveau produit :

Hop auto-censure Christy, je pensais pas dépasser la ligne jaune, j'ai déjà vu sur ce forum des pubs pour des produits très couteux sans que ça traumatise personne... Je voulais juste rendre service avec mon produit super accessible...
...
Je trouve dommage qu'il n'y ait pas plus d'échanges d'infos, de scripts , d'astuces en tous genre comme dans les forums étrangers il y a pourtant un bon niveau technique ici...
Juste mon avis.
Citation :
Publié par Seb_01
Je trouve dommage qu'il n'y ait pas plus d'échanges d'infos, de scripts , d'astuces en tous genre comme dans les forums étrangers il y a pourtant un bon niveau technique ici...
Juste mon avis.
Dois-je le prendre pour moi ?
...
Citation :
Publié par Christy Mansbridge
Et puisque nous parlons de partage ... es-tu prête à publier ton script ici ?
Pour un scripteur confirmé, il n'est pas difficile de le faire, mais peut-être permettra-t-il de donner des astuces et des informations à ceux qui passent ici pour apprendre.

Donc ne le prends pas trop mal, je pense tout simplement que tu t'es trompée de forum. J'ai tenté de te le faire remarquer de manière ... élégante ?
Puisqu'il est question d'élégance je me vois mal mettre ici un script que d'autres m'achètent par ailleurs, j'y perdrais de ma crédibilité. Par contre j'offre la palette et son script à tout jolien qui me le demande IG avec l'image en haute définition et un bisou pour les plus attentionnés.
Citation :
Publié par Sandrine repine
Puisqu'il est question d'élégance je me vois mal mettre ici un script que d'autres m'achètent par ailleurs, j'y perdrais de ma crédibilité. Par contre j'offre la palette et son script à tout jolien qui me le demande IG avec l'image en haute définition et un bisou pour les plus attentionnés.
Ton précédent post m'avait fait sourire celui là moins...

Si chacun agit de la sorte avec de bonnes ou discutables réponses ce forum est condamné à court terme parce qu'il va perdre de sa substance et de son intérêt, ce pour quoi il a été créé à l'origine...du moins je le pense.

Sûr que tout se vend et que tout s'achète sur SL et je suis content pour toi si tu as du succès mais sur ce coup là je trouve ta position peu "élégante"...

Pour te donner une image c'est comme si tu étais dans un forum de gastronomie (gâteaux), que tu viennes prendre des idées, truc, astuces, recettes et que tu les utilises pour les vendre ... sans jamais vouloir partager toute ton expérience.

Nous progressons chaque semaine, parce que certains ont passé quelques paires d'heures, nuit blanches face à un stupide écran, et qui viennent ensuite dans les forums pour simplement partager leur réussite ou leurs problèmes...

Vu tes réponses, je te sais susceptible et me doute que ce post ne va pas te ravir plus que cela.... mais dans le fond c'est plus à titre philosophique ... que personnel, prend le comme cela stp

sujet clos.
Citation :
Publié par Francky Habercom
Bonjour,

Vraiment super ces nouvelles fonctions.


Grâce à llDetectedTouchFace et llDetectedTouchUV, j'ai pu faire un cahier de poésie en une seule prim !


Francky

Et moi un calendrier de l'Avent en 1 prim au lieu de 26 !
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés