Ça faisait longtemps ! Décidément depuis de longs mois déjà le développement de Photo Sphere Viewer a été très largement ralenti (je vous prépare un article pour tout expliquer), mais force est de constater que le projet ne passe pas aussi inaperçu que cela, et je vous la devais donc : une nouvelle version de Photo Sphere Viewer !

Pas si inaperçu ?

Je voulais tout d’abord commencer cet article par ce par quoi je termine habituellement : remercier tout ceux qui m’aident en me rapportant des bugs ou en me donnant des idées de nouvelles fonctionnalités, de nouvelles choses utiles et autres.

Si j’ai commencé à développer Photo Sphere Viewer, c’était surtout pour me passer de la librairie utilisée jusqu’alors dans WP Photo Sphere : faire ma propre librairie me permettait de résoudre les bugs moi-même et de créer les fonctionnalités dont j’avais besoin.

Mais, si l’on s’en réfère aux retours globaux, c’est finalement bien Photo Sphere Viewer qui remporte plus de succès que WP Photo Sphere. Et c’est plutôt une bonne nouvelle puisque j’y ai bien pris goût et que, je dois bien l’avouer, désormais je préfère développer Photo Sphere Viewer.

Quoiqu’il en soit, cette version 2.2 était l’occasion de faire ces remerciements. Le chemin n’est pas terminé : la route est encore longue, tout comme la liste des nouvelles fonctionnalités qui sont prévues dans les prochaines versions. Alors restez, j’aurai encore besoin de vous pour me dire que c’est bourré de bugs !

Du zoom, du zoom, et encore du zoom

Pas moins de trois nouveautés de Photo Sphere Viewer 2.2 concernent le zoom. Rien que ça. La première, et celle dont je ne suis pas peu fier, c’est la gestion (enfin !) du zoom mobile : désormais, vos utilisateurs vont pouvoir, depuis leurs écrans tactiles, pincer pour zoomer, comme ils en ont déjà l’habitude sur d’autres programmes. C’est simple, et il n’y a rien à activer de votre côté.

En revanche, il est une nouvelle option que vous allez pouvoir utiliser : zoom_level, qui réclame un nombre entre 0 et 100 (un pourcentage quoi) et qui représente le niveau de zoom par défaut (qui est de 0 sans cette option). Certains me l’ont réclamée, elle est là !

Enfin, ce n’est pas vraiment une nouvelle fonctionnalité, ni même un bug corrigé, mais quelque chose entre les deux. Disons plutôt qu’il s’agit d’un petit défaut qui n’est plus là : zoomer avec la barre dédiée est désormais plus facile. Auparavant, il fallait viser la petite barre de 1 pixel de large (par défaut), ce qui n’était guère pratique, il faut bien l’avouer, surtout sur mobile. La sensibilité a été augmentée, et on peut désormais atteindre cette barre plus facilement (à tester pour mieux le voir ;) ).

Quatres autres nouvelles options

En plus du zoom par défaut, ce sont quatre autres nouvelles options qui arrivent également, avec en premier lieu la position par défaut sur la sphère. Par défaut vous situez l’utilisateur aux coordonnées polaires (latitude/longitude) (0, 0). En utilisant l’option default_position vous pouvez changer ceci.

Cette option attend un objet en valeur, avec les propriétés lat et long à renseigner (l’une ou l’autre ou les deux) désignant respectivement la latitude et la longitude voulues. Ces valeurs sont pour le moment à indiquer en radians, mais je songe à donner la possibilité de les indiquer en degrés pour plus de commodité.

Il en va d’ailleurs de même pour les deux prochaines options : tilt_up_max et tilt_down_max qui renseignent les angles d’inclinaisons vers le haut / vers le bas maximaux que vous autorisez. Idéal pour masquer les pôles.

Dernière nouvelle option pour finir : onready, une option qui attend comme valeur une fonction de callback qui sera appelée une fois que le panorama est chargé et que la première image est affichée. Notez que vous pouvez également utiliser le système des actions pour cela.

Merci Chrome de gérer le plein écran comme tu le fais. Ou pas.

Je ne saurais pas trop dire si c’est Chrome ou si ce sont les autres navigateurs qui ont raison (je pencherais quand même pour la seconde option), mais le navigateur de Google ne gère pas le plein écran comme les autres.

Autrement dit, activer le plein écran de Photo Sphere Viewer sur Chrome fonctionnait… parfois. La plupart du temps, cela générait plutôt un bon gros bug. Désormais, ce bug est corrigé (si tout va bien, il n’apparaît plus après de nombreux tests).

Et la suite ?

Si vous me suivez depuis un certain temps maintenant, vous avez l’habitude : on termine par un petit point de la suite, avec bien évidemment une nouvelle version de WP Photo Sphere qui va suivre dans les prochains jours (promis cette fois-ci ça ne mettra pas des semaines). Peut-être même demain si je n’ai pas de problèmes, mais n’allons pas faire des promesses trop hâtives.

Après le développement de la nouvelle version de WP Photo Sphere va commencer celui de la nouvelle version de Photo Sphere Viewer. Un développement toujours plus ambitieux : il ne sera probablement pas prêt pour la prochaine version (mais sait-on jamais), mais je prévois de développer mon propre moteur de rendu 3D, pour cette fois-ci m’affranchir de toute librairie externe et donc de Three.js.

L’avantage, c’est que là encore je pourrai faire ce que je veux, et aller plus loin dans l’optimisation (ce qu’un moteur de rendu généraliste ne peut se permettre de faire en somme). Autrement dit, on devrait pouvoir gagner en efficacité et faire des choses un peu bizarres pour éviter les freezes. On en reparlera le moment venu.