Zoom XXL avec Microsoft Seadragon & Deep Zoom

Mar 1 2010

Pour réaliser des Zoom XXL nous utilisions la techno Seadragon et Deep Zoom de Microsoft.
Deep Zoom permettent de zoomer presque arbitrairement dans des grandes images de manière performante via la techno Silverlight. Mais vu que le taux de pénétration de Silverlight qui n’est pas très élevé, il existe un portage officiel Ajax et un portage Flex (moins officiel).

Deep Zoom, ou d’ailleurs toute autre technologie, tels que Google Maps, ViaMichelin etc, utilise ce qu’on appelle une pyramide d’image qui offre l’affichage de grandes images de manière efficace.

pyramide d’image

La photo ci-dessus illustre la présentation de l’image  en forme d’une pyramide. L’image est  stockée dans toute taille dans de nombreuses résolutions différentes, ainsi que ces différentes résolutions tranchées dans de nombreuses régions, à savoir les tuiles.

Vu que l’image originale  est stockée dans différentes résolutions, on peut afficher la résolution qui est le plus proche de celle dont nous avons besoin et dans un cas où l’ensemble de l’image ne s’adapte à l’écran, seules les parties de l’image (tuiles), qui sont effectivement visibles. Le réglage de notre pyramide, tels que le nombre de niveaux et de tuile de taille nous permet de contrôler le transfert de données.

L’image pyramidale est évidemment plus lourde que la taille du fichier image originale. Mais comme vous le voyez sur l’illustration ci-dessous, en ce qui concerne la bande passante, la pyramide est beaucoup plus efficace pour l’affichage haute résolution, car la plupart des parties de l’image ne sont généralement pas visibles de toute façon.

Cadre

Comme vous pouvez le voir sur la photo ci-dessus, il y a encore plus de données chargées que nécessaire pour afficher tout ce qui est visible sur l’écran. C’est là que les paramètres  de l’image de la pyramide entrent en jeu: la taille des carreaux et le nombre de niveaux permet de déterminer la relation entre la quantité d’espace de stockage, le nombre de connexions réseau et de la bande passante requise pour l’affichage des images en haute résolution.

Pour construire la pyramide d’images Microsoft propose le logiciel gratuit Deep Zoom Composer. Il met aussi à disposition une DLL pour faire des scripts en .NET.

OpenZoom est alternative Open Source qui offre la possibilité de créer des pyramide d’images via d’autres librairies que celles proposées par Microsoft.
Il existe des partages Python, Ruby, Java et PHP… La dernière étant développée par mes soins (Une version PHP5.3 devrait prochainement arriver).

Zoom XXL pour Magento avec Deep Zoom

Feb 23 2010

Nous avons réalisés une extension pour Magento disponible sur Magentoconnect qui remplace le zoom d’image produit standard par une version utilisant les technologies Microsoft Deep Zoom et Seadragon (Ajax).

Pour savoir comment fonctionne Deep Zoom

Une fois l’extension téléchargée et installée via Magentoconnect, il suffit d’aller sur la page de configuration du catalogue dans le backOffice et d’activer l’extension et de désactiver l’option “Créer les images Deep Zoom que depuis le back-office”.

Options backOffice

Cette dernière option est une sécurité pour les sites en prod afin d’éviter de générer la pyramide d’image en frontOffice. Désactiver cette option permets d’avoir un résultat immédiat sur la fiche produit.

Dans la cas où l’option “Créer les images Deep Zoom que depuis le back-office” est activé les pyramides d’images sont créées lors de la sauvegarde d’un produit.

Fiche Produit

Ce module a été conçu pour Magento 1.4 puis suite à une demande d’un utilisateur (Thx Mohamed) nous avons rendu l’extension compatible avec Magento 1.3.

Dans la version pour Magento 1.4, 2 widgets sont disponibles, le 1er permet d’afficher la pyramide d’image du produit dans n’importe quel article du CMS. Le 2éme widget affiche la galerie d’images, avec un système de navigation pour changer de photo.

Cette extension utilise la librairie PHP Deep Zoom Tools d’OpenZoom pour la génération de la pyramide d’image.

Si dessous le lien vers la fiche de l’extension sur le Magentoconnect :
http://www.magentocommerce.com/extension/2792/groupereflect-product-image-deep-zoom

Phing 2.4 : quoi de neuf ?

Jan 20 2010

Phing est un projet Open Source PHP très inspiré de Apache Ant.

Le principe de fonctionnement est assez simple. Un fichier XML décrit une série d’actions et une ligne de commande permet de déclencher ces actions. Vous pouvez faire n’importe quoi avec. Je l’utilise beaucoup en remplacement des scripts Shell.

La nouvelle version Phing (2.4.0) est sortie le 17 janvier derniers elle recèle pas mal de nouvelle fonctionnalité.

Read the rest of this entry »

Symfony Live 2010, j'y serai !!

Jan 15 2010

La 2ème édition du symfony live se tiendra le 16 & 17 février à Paris. Cette fois ci je serai présent :)

Cet évènement est organisé par Sensio Labs, le créateur et sponsor du Framework.

C’est une occasion unique de rencontrer la communauté symfony et de parler avec la « symfony core team ».

Le programme est riche en sessions et se terminant en apothéose avec un lever de rideau sur Symfony2 par Fabien Potencier qui est le leader du développement.

Il est encore possible de s’inscrire, alors venez nous rejoindre !

Cette année la conférence se tiendra à la Cité Universitaire.

En plus de la conférence, Sensio Labs organise une journée de formation sur symfony le 15 Février.

Yslow beacon / ShowSlow

Jan 6 2010

Yslow recèle une petite pépite qui est « Yslow beacon » . Cela permet d’envoyer les résultats analysés à une url de callback. Ainsi il est possible de centraliser les résultats et d’avoir un historique voir même de comparer des résultats. Read the rest of this entry »

Run My Process : Workflow as a service

Dec 11 2009

La semaine dernière , Jonathan et moi-même étions conviés à une formation de deux jours dans le locaux d’une start up Française : Run My Process.

Petite présentation :

Run My Process est né en 2007 dans l’esprit de trois associés. Il s’agit, pour faire simple, d’une plateforme web 2.0 spécialisée dans la création et l’exécution d’applications d’entreprise de type workflow et processus métiers (BPM).

RunMyProcess est une des toutes premières offres de ce type en mode SaaS (software as a service).

Le système permet de répondre à toute sorte de problématiques :

  • Création , ordonnancement de processus multitâche . Allant, de l’opération manuelle au travers d’applications créées sur mesure,  jusqu’à l’envoi d’email, en passant par l’utilisation de solutions SAAS de type Salesforce, Google Apps, Orange SMS ou autre. Au travers notamment de 400 Connecteur pré-configurés.
  • Possibilité de concevoir ses propres connecteurs vers des n’importe quels Webservices existants (SOAP, REST) .
  • Automatisation et traçabilité des processus et des flux.
  • Mise à disposition de webservices  permettant de lancer des processus ou en observer le déroulement à partir de n’importe quelle plateforme web.
  • Et encore bien d’autres choses …

Basé sur des comptes multi-utilisateurs, Run My Process propose une solide interface intégralement conçue en Flex, par ailleurs assez bluffante d’efficacité.

On y dessine et conçois nos processus, ou nos applications.

Dessin des processus

La prise en main est relativement simple, et l’outil réactif. Je vous invite à en découvrir les fonctionnalités.  Il existe une offre de test gratuite, de l’intégralité des services pour une durée de 30 jours.

Face aux géants du Secteur, qui peinent , et rechignent à passer en mode SaaS. La petite start up a un beau marché devant elle. Elle a par ailleurs du tout inventer, jusqu’au modèle de tarification, relativement bon marché, avec une offre à 30€/an/utilisateur .

Pour finir, merci à l’équipe de Run my process. Enthousiastes et très sympathiques, ils nous ont particulièrement bien reçu.

Merci, et bonne chance à eux.