Éléments sur StereopixROOMS et les fonctions du site du SCF pour réaliser une “projection viurtuelle” Rédaction, première version à mettre au point
Pourquoi un outils standard de visio-conférence, comme Zoom, n’est-il pas satisfaisant ?
Ces outils permettent d’afficher une application de son bureau à la place de son portrait capté par la caméro de son ordinateur ou téléphone.
Il est donc possible de présenter un couple stéréo, Mais c’est du 2D et celui qui présente doit choisir entre afficher le couple en côte-à-côte, ou bien en croisé, ou bien en anaglyphe,….
Et les participants sont contraints par la présentation choisie même s’ils ont l’habitude d’autre présentation, même spécifique comme le côte-à-côte compressé s’il ont branché leur PC sur une TV ou un projecteur, ou en entrelacé pour un écran autostéréoscopique…
Notre ami JackDesBwa a créé une solution “StereopixROOMS” très intéressante qui permet de synchroniser des visualiseurs 3D capable d’afficher selon un mode de visualisation choisi par chaque participant.
Le présentateur sélectionne l’image à montrer et toutes les personnes connectées vont la voir s’afficher sur leur écran.
Et comme le visualiseur est basé sur celui de Stereopix, un grand nombre de modes de visualisation sont proposés sur le poste du participant.
Pour le participant, l’interface de contrôle (choix du mode de présentation stéréo, passage en plein écran) est celui de Stereopix (donc différent du visualiseur 3D du site du SCF)
Parallèlement le son est transmis de façon classique permettant d’avoir des échanges sur l’image présentée.
Pour l’animateur, il doit recueillir les séries d’images à présenter , les installer sur un site et fournir à StereopixROOMS des informations, notamment sous la forme d’un fichier JSON.
Le site du SCF permet d’héberger des séries d’images et de préparer le code nécessaire à StereopixROOMS.
Utilisation de StereopixROOMS
L’animateur définit une “room” (salle (de projection ?) avec un nom et les spectateurs n’ont qu’à ouvrir une page de leur navigateur internet avec le nom de cette room.
Pierre Meindre a fait un test avec les images d’une Lettre qui sont sur notre site web et ça fonctionne bien :
“j’ai connecté à la “room” un deuxième PC (écran Zalman 3D), ma tablette (en anaglyphe), un Raspberry Pi avec écran intégré (en 2D) et mon téléphone Elephone P11 (avec écran autostéréoscopique).
Les 4 écrans clients sont tous mis à jours au changement d’image fait par le présentateur !
C’est, pour le moment, un prototype assez rustique (du côté du présentateur surtout) mais c’est prometteur et déjà utilisable :
La page d’accès ici est : https://rooms.stereopix.repl.co/
Là on peut créer une nouvelle room (présentateur) ou aller dans une existante (spectateur).
Côté présentateur il faut fournir un texte codé particulier (syntaxe json) décrivant la liste d’images présentes dans un dossier et l’adresse internet du dossier
La liste contrôle l’ordre de passage d’une image à l’autre (qui peut donc être différent de l’ordre alphabétique des noms de fichier)
Exemple de contenu : le fichier json des images de la Lettre n°1037 est ici : https://www.image-en-relief.org/stereo/images/lettre_scf/SCF_Lettre_1037-202101/StereopixROOMS.json
Préparation des séries d’images
Le site du SCF permet d’héberger des séries d’images et de préparer le texte codé json à copier
A) Avec le dispositif actuel, il y a 2 manières d’obtenir un texte json pour StereopixROOMS
– quand une image est affichée avec le visualiseur 3D du site (imageStereoMulti.php,) on obtient, à la place de l’affichage d’une image, le texte du code json,
pour cela il suffit de compléter le lien en ajoutant à la fin sans espace : “&type=1” ou “&json”.
S’il y a un fichier “index.json” dans le dossier de l’image, l’ordre de parcours de images correspondra à ce fichier index (cas des images de la Lettre notamment)
ex : https://www.image-en-relief.org/stereo/voir3D/imageStereoMulti.php?dir=images/lettre_scf/SCF_Lettre_1038-202102&json
En l’absence de fichier “index.json” dans le dossier de l’image, l’ordre de parcours de images correspondra à l’ordre alphabétique des noms de fichiers (images du florilège notamment)
ex : https://www.image-en-relief.org/stereo/voir3D/imageStereoMulti.php?src=/stereo/images/florilege2020/110_Grottes/061_Daniel_Chailloux_Hawai_IMG_1262_plus_clair.JPG&json
– quand on prépare ou révise une planche de page personnelle, au 2° panneau de la composition (cf Edition-Gestion > Rédaction > Création d’une page avec nouveau modèle)
Un bouton ad hoc de ce panneau permet d’afficher le code json nécessaire à StereopixROOMS, il faut alors le sélectionner le copier puis aller sur l’onglet de StereopixROOMS pour le copier.
Ce dispositif de composition permet de déclarer des légendes et de modifier l’ordre des photos. On peut revenir par le premier panneau sur des images déjà enregistrées et présentées.
A partir de imageStereoMulti.php on a un header json et des indentations, mais pas à partir de la composition d’une planche de page personnelle.
B) le dispositif des nouveaux modèles de pages personnelles peut être utilisé de deux manières
– Ce dispositif peut servir à un adhérent-auteur de réaliser plus facilement une page personnelle contenant les images, qui sont visualisées avec le visualiseur 3D du site … fournissant le texte codé json pour StereopixROOMS
– Ce dispositif peut être utilisé par un administrateur dans une arborescence spécifique de fichiers images
dans l’appel il faut ajouter la racine de l’arborescence ; (PPPcomposition.php?dossierCible = seances) (on peut partir d’une autre racine de dossier images )
Une page spécifique peut alors être créée pour chaque séance et cette page intègre une planches par série d’image, les images étant stockées dans un dossier spécifique.
Déroulé complet de mise en oeuvre : à développer
Collecte des images à présenter
– faire un appel à contribution, un repérage dans le fonds disponible.
– initier une page de séance dans la catégorie “Espace Membres > Réunions de groupes du club“, cette catégorie correspond à l’arborescence du sommaire)
– pour créer un article : https://www.image-en-relief.org/stereo/edition-gestion/creer-un-article.
– documentation de création d’article : “Créer un article et le réviser“
– mettre chaque série dans un dossier spécifique
aller sur la page de la réunion et lancer (icone avec lien) : 
créer au besoin le sous-dossier de la séance sous “seances” puis le sous-dossier de la série
Gestion de la réunion
– envoyer un message aux adhérents ? utilisation en parallèle de zoom ?
– ? gestion arrivée en réunion ?
– avoir un onglet ouvert sur le site pour voir les planches des séries d’images, soit sur la page de la séance soit sur une autre page (Lettre, page personnelle, florilège)
– pour une série, voir la page correspondante,
cliquer sur une image pour appeler le visualiseur 3D du site
quand le visualiseur affiche une image, ajouter en fin de l’URL (lien complet) les caractères : “&json” sans espace
(remarque il faut un & et non un ?, le ? est utilisé ailleurs pour PreparePagePerso)
cela fait apparaitre dans un onglet du navigateur, la liste formatée avec 3 onglets : JSON , Données brutes et En-Têtes .
utiliser la fonction “copier du petit menu horizontal
Aller à l’onglet ou la fenêtre de StereopixROOMS et copier
Annexe
Autre(s) mode(s) d’utilisation de StereopixROOMS :
JackDesBwa a modifié son StereopixROOMS, il n’est plus nécessaire de copier le json dans la zone de saisie.
On peut maintenant aussi y coller l’URL du fichier json.
Ça peut être
– l’URL d’un vrai fichier json ou une URL créant le fichier à la volée comme :
https://www.stereoscopie.fr/php/stereopixRooms.php?site=Voyages/AmeriqueLatine/Panama/
– ou une URL créant le fichier à la volée comme :
https://www.image-en-relief.org/stereo/voir3D/imageStereoMulti.php?dir=images/lettre_scf/SCF_Lettre_1037-202101&json
Pour que ça fonctionne, il faut (au moins !) deux choses :
– URL en https (j’ai du installer un certificat gratuit de LetsEncrypt sur mon site)
– Autoriser les origines croisées (erreur CORS) Pour ce dernier point j’avais ajouté dans le fichier .htaccess du site du Club une règle permettant le CORS sur un certain nombre de fichiers:
<Files ~ “.(webp|jpe?g|png|json|jps)$”>
Header add Access-Control-Allow-Origin “*”
</Files>
Cela suffit pour appeler un fichier json enregistré sur le site ayant les images mais ça ne suffit pas pour les fichiers json générés par une page php.
Il faut dans la page PHP ajouter d’autres définitions de header.
Actuellement :
header(‘Content-Type: application/json’);
–>
header(‘Content-Type: application/json’); if (isset($_SERVER[‘HTTP_ORIGIN’])) {
header(“Access-Control-Allow-Origin: {$_SERVER[‘HTTP_ORIGIN’]}”);
header(‘Access-Control-Allow-Credentials: true’);
header(‘Access-Control-Max-Age: 86400’); // cache for 1 day
}
