Le blog des équipes…

  • Accueil
  • e-Commerce
  • Secteur Public
  • Gestion de contenu
  • Application Web
  • Technologies
  • Contact

La synchronisation

Par Damien Séguy le 1 février 2012

La synchronisation est un problème typique pour les sites web e-commerce. La boutique en ligne doit être synchronisée avec un d’autres applications plus adaptées qui gèrent des tâches différentes: CRM, ERP, stocks, comptabilité, call center,  entrepôts, catalogue et j’en passe.

La synchronisation est un problème difficile, et bien qu’il semble facile pour celui qui a inventé le terme, il est en fait un défi permanent pour les développeurs, quand on prend en considération la performance et la cohérence.

Cohérence

La cohérence est le fait que le système de contrôle et le site e-commerce sont toujours au même niveau d’information. Ce qui est dans le CRM est dans le site Web, et ce qui est dans le site Web est également dans le CRM.

Ou pas. Parfois, volontairement, la synchronisation est unidirectionnelle: l’information descend de l’un des serveurs, et est utilisée par le second. Le second système doit utiliser l’information qui est déjà prête : le second système ne peut pas faire de modification, comme le premier, aussi appelé le maître. Ceci est caractéristique de deux types de situations: quand le site web e-commerce est une évolution ou un complément d’un système plus vaste en interne. Cela arrive souvent lorsque les détaillants se tournent vers le Web. Ils ont déjà un système existant, tel un ERP ou une gestion de stock. Ainsi, le e-commerce prend les informations du système d’origine, et les publie sur le web. L’autre situation est lorsque le système interne est considéré comme stratégique, et que la compagnie ne veut pas l’ouvrir, pour des raisons de performances, de sécurité ou encore d’organisation. Afin de découpler les deux, la synchronisation est donc mise en place.

Cette synchronisation est l’approche la plus simple, et une fois qu’elle est bien assimilée, la « synchronisation bidirectionnelle » débarque. Évidemment, il y aura tôt ou tard, les informations du site web qui devront être mis à la disposition du système original : le CRM a besoin de voir les informations mises à jour des profils (contact), tout comme le site Web a besoin d’avoir les informations de contact mises à jour. Ou encore, le site web produit de nouvelles données, comme le nombre de vues pour chaque article, que les ERP souhaiteront utiliser afin de planifier le processus d’achat suivant.

Ces deux types de synchronisations sont les deux principales. Des solutions hybrides existent, et comprennent: une synchronisation à double voie (chaque serveur est maître pour un ensemble distinct de données), la synchronisation avec modération (l’un des serveurs sera le maître, et recueillera des données pour la résolution des conflits, avant de le pousser vers le second serveur), et d’autres variantes.

Une seule règle: garder cela simple, car le second volet de la synchronisation va être difficile.

Synchrone ou asynchrone

Les différents types de synchronisation doivent tenir compte de la vitesse de l’information. Le transfert est synchrone lorsque les deux serveurs mettent à jour leurs informations au même moment. C’est typiquement le cas pour les virements: les deux banquent valident le virement bancaire simultanément, ou pas du tout. Il ne peut pas y avoir de temps «transitoire», au cours de duquel une banque a envoyé l’argent, et l’autre ne l’a pas encore reçu.

Asynchrone introduit un concept simple: le retard. Un des serveurs dispose de l’information, et il la relaie plus tard à l’autre. Il y aura donc une différence de temps entre ces deux opérations.

Le principal avantage de cette approche est d’éviter de transférer la charge du trafic à la ressource distante. Fondamentalement, lorsque les deux serveurs sont synchrones, toute sollicitation sur le premier se traduit par une sollicitation sur le deuxième serveur. Ainsi, le trafic du premier serveur sera transféré au second. Et, quand il s’agit de l’application Web, ce n’est pas une bonne idée.

Par ailleurs, le transfert synchrone signifie généralement qu’il se fait unité par unité. Chaque fois qu’un client met à jour ses informations de contact, l’information est envoyée au CRM. AU contraire, les systèmes asynchrones sont capables de travailler par lots. Au lieu d’envoyer les demandes unes par unes, le serveur d’origine accumule plusieurs demandes dans un lot: cela fait moins de sollicitations, et des traitements souvent plus rapides.

Des retards dans mon application!

Habituellement, lorsque le transfert asynchrone est présenté aux clients, il y a un peu d’incompréhension. Le concept est habituellement rencontré avec rejet: écoutez, j’ai besoin de ces données tout de suite! Toutefois, le cycle métier permet le plus souvent un léger retard. En fait, c’est acceptable la grande majorité du temps. Passons en revue quelques exemples.

La mise à jour de la description du catalogue est habituellement une routine quotidienne. Il est assez rare qu’elle doive être mise à jour plusieurs fois par jour. Les erreurs bénignes, telles que les fautes d’orthographe peuvent être corrigées manuellement, en ligne ; toute mise à jour d’importance, avec plusieurs modifications, ajouts et suppression peut attendre le prochain jour ouvrable. Traditionnellement, il est préférable de faire cette synchronisation la nuit, à faible trafic, afin de réinitialiser tous les caches sans pression. Solution: asynchrone, une fois par jour.

Les informations de contact ne peuvent pas souffrir d’attendre un jour. Une fois l’information a été modifiée, il est souvent important de la relayer rapidement au CRM. Toutefois, une différence de 5 minutes à 1 heure est toujours acceptable. D’une part, cela permet à l’utilisateur de changer d’idée en ligne, et changer de nouveau le contact, évitant un double envoi. Deuxièmement, il est rare d’avoir besoin des informations à la seconde dans le CRM. Même si le CRM est sur le point d’une diffusion importante, 5 minutes de retard n’auront pas un impact majeur : au pire, on omettra les quelques dernières informations, a mettre en rapport avec les milliers de contacts déjà transférés. Et si les contacts sont traitées manuellement dans le CRM, 1 heure est même délai normal de traitement: pas besoin de se précipiter. Solution: asynchrone, 5 à 60 minutes.

Les factures et de leur acheminement sont plus compliqués. L’expédition le jour même aura besoin des informations à flux tendu, et cela va nous empêcher d’utiliser un long délai de synchronisation. Un retard de 5 minutes sera acceptable, permettant à la fois le traitement par lots, et celui d’une commande de dernière minute. Pourquoi pas adapter la cadence pour être plus fréquent juste avant l’échéance, et plus espacé en matinée : la cadence peut être une fonction variable. Solution: asynchrone à fréquence variable, de 5 a 120 minutes.

L’inventaire est probablement l’une des seules situations qui nécessiteront une vérification synchrone. Vous ne souhaitez pas vendre un produit qui est en rupture de stock. Non seulement sa disponibilité doit être vérifiée, mais sa réservation doit également être confirmée. L’entrepôt gérera la situation, en envoyant un  ordre d’achat automatique en dessous de certains niveaux de stock, empêchant la vente de quelques articles avant qu’ils soient en rupture de stock, etc. Solution : synchrone.

La planification des capacités

La planification est plus simple pour les moteurs asynchrones que pour les synchrones. Fondamentalement, puisque le trafic est découplé de la synchronisation, vous pouvez dimensionner la taille de chaque opération. Idéalement, le traitement portera sur tous les objets en attente, et fera usage de toutes les commandes par lots disponibles sur le système distant. Pensez à la différence entre LOAD DATA INTO TABLE et INSERT INTO TABLE. Chaque fois que la charge est trop lourde pour le système distant, vous pouvez réduire la taille de chaque lot, ou, curieusement, les paralléliser (plusieurs mises à jour plus petites simultanément).

Quant au système synchrone, il n’existe qu’un seul espoir: rendre le système distant assez rapide. Pour cela, on doit estimer la quantité de trafic sur le Web qui sera reportée sur lui. En pratique, on peut utiliser une équation comme celle-ci:

Trafic * conversion * moyenne_hits * securite

Le trafic est ce que vous voulez: la circulation moyenne, les pics de trafic, etc. Idéalement, vous disposerez de tout à la fois, et ca sera le luxe.

La conversion est la partie de votre trafic qui va faire un appel à distance. Par exemple, votre e-boutique peut avoir 1000 utilisateurs par jour, mais fera 10 ventes par jour. Votre conversion est ici de 1 / 100.

Moyenne_hits est le nombre de hit que chaque session fera sur les serveurs distants. Par exemple, chaque vente contient habituellement deux produits. Il faudra alors 2 contrôles sur les serveurs distants. 2 est en fait une bonne évaluation ici.

La sécurité, facteur souvent négligé, couvre tous les problèmes imprévus. Ici, on peut s’attendre à des ventes soudaines. Cela fera 10 fois plus de commandes. Nous pouvons utiliser 10 comme sécurité.

Finalement, voici l’application de l’équation pour un trafic de 1000 visiteurs par jour, il faudra 1000 * 1 / 100 * 2 * 10 = 200 visites par jour sur le serveur distant. Si des pics de trafic 1000 visites par seconde sont attendus, nous aurons besoin de 200 requêtes par seconde sur le serveur distant.

Une fois que vous avez le trafic de cible pour le système distant, vous aurez besoin que ce système distant soit capable de répondre suffisamment vite. C’est un point extrêmement important, et, traditionnellement, il n’y a pas de contrôle fait. Avec le trafic de cible, vous pouvez exécuter un test de performances, et s’assurer que le serveur distant est convenable pour votre trafic et que les retards ne sont pas trop longs. La performance du système distant se reflétera directement sur votre site web e-commerce.

Conclusion

En conclusion, ne sous-estimez pas la synchronisation. Comme d’habitude avec l’informatique, de tels systèmes sont sujets à changement : il est évident qu’au début une réplication unidirectionnelle suffit, mais un hybride est rapidement mis en place, puis une synchro bidirectionnelle est demandée, et finalement, les performances se dégradent. Chaque phase a ses propres défis.

Commentaires
Pas de Commentaires »
Catégories
Internet

Like


Module “Où nous trouver”

Par Grégoire Genestier le 26 janvier 2012

Etre localisable

Les habitudes changent, et bien souvent, lorsqu’on cherche les coordonnées d’une société, ou les magasins d’une marque, le réflexe est de consulter directement le site web de la marque en question.

Le client potentiel cherchera instinctivement dans les liens de bas de site, dans les liens de haut de site, ou dans le plan du site pour trouver le lien providentiel du type « Contactez-nous », « Où nous trouver » ou « Nos magasins ». Ce petit lien est le sésame de la localisation du magasin le plus proche, heureux futur récupérateur du pouvoir d’achat (certes en baisse, mais pouvoir d’achat quand même !) du petit citoyen français désireux de contribuer à la croissance (qui a dit récession ?!) de la France et de ses entreprises.

Bref, le client cherche un magasin où dépenser son argent, et il le doit le trouver vite et bien.

Deux modules Bysoft à la loupe

Nous décrirons ici deux exemples de page « Où nous trouver » développées pour deux de nos clients.

Approche locale

Le premier module (développé pour Magento), est visible sur http://www.bergeredefrance.fr/index.php/nos-magasins/ et permet plusieurs visualisations :

-          Sélection directe d’un magasin dans les résultats de recherche (561 magasins à cet instant)

-          Sélection d’un département via la carte de France, ce qui a pour effet de filtrer les magasins affichés dans la liste de résultats, en n’affichant que les magasins du département choisi

-          Sélection d’un département via la liste déroulante

-          Suite à la sélection d’un département, possibilité de filtrer encore en choisissant une ville du département dans la seconde liste déroulante.

A noter que les résultats sont pré-chargés au chargement initial de la page, ce qui est donc un peu plus long au premier chargement, mais ensuite le filtrage des résultats est immédiat.

Lorsque l’internaute a trouvé le magasin qu’il cherchait, il peut cliquer sur le nom du magasin afin d’en visualiser les détails :

image01

Sont affichés :

-          Une cartographie GoogleMap de localisation du magasin

-          Une photo du magasin

-          Un logo (soit de Bergère de France, soit du revendeur)

-          L’adresse du magasin

-          Les coordonnées téléphoniques

-          Les horaires d’ouverture

En BackOffice, le module permet de définir un type de carte par website (ou même par store-view). Il est donc possible d’avoir des cartes distinctes par website.

L’administrateur du site peut ensuite gérer l’ensemble de ses magasins grâce à une interface BackOffice :

image02

image03image04

Les champs descriptifs peuvent être surchargés en fonction de la vue magasin (pour le multilinguisme par exemple), et la mise en forme peut être faite, si besoin, directement en html.

Approche internationale

Le second module que nous vous présentons est plus orienté international, puisque la première étape est la sélection du pays dans une liste déroulante.

Une fois la sélection faite, un nouveau menu déroulant apparait, permettant la sélection d’un département (ou état, suivant le pays). Seul le champ « Pays » est obligatoire, donc le client pourrait directement cliquer sur le bouton « Rechercher » pour afficher l’ensemble des résultats.

Si le client sélectionne un département, une nouvelle liste permet encore de filtrer les résultats en choisissant une ville.

Un clic sur le bouton « Rechercher » affiche alors les résultats de la recherche :

image05

Les informations suivantes sont affichées dans cette liste :

-          Nom du magasin

-          Coordonnées

-          Logo/Photo

Un lien « voir les détails » permet de visualiser les informations complémentaires (horaires d’ouverture, Site web…) ainsi qu’une carte de localisation GoogleMap :

image06

En BackOffice, l’interface est comparable à celle du module précédent :

image07

Autres exemples

Voici d’autres exemples de modules de localisation développés pour nos clients, en fonction de leurs problématiques métier :

image08

http://www.bourrelier-education.fr/index.php/contact/index/delegues/

image09

http://www.dekra-industrial.fr/La-societe/Choisissez-votre-Contact-DEKRA-sur-la-carte

image10

http://www.agglo2rivesdeseine.fr/index.php/fre/Rayonnement-economique/Les-zones-d-activite-de-la-CA2RS

image11

http://www.cultureindoor.com/

image12

http://www.pacificpeche.com/27_magasins/

Commentaires
Pas de Commentaires »
Catégories
Internet, Magento

Like


Interview des membres de l’équipe : Lisiane

Par Grégoire Genestier le 5 janvier 2012

lisiane

Quel est ton parcours ?

Après avoir obtenu un Master ingénierie des Médias à Toulon, je suis partie quelques temps à l’étranger pour acquérir une expérience professionnelle internationale.
Dès mon retour j’ai été embauchée par Bysoft en tant que Chef de projet E-commerce.

Comment décrirais-tu ton rôle chez Bysoft ?

En tant que Chef de projet Web, ma mission principale est de prendre en charge un projet dès le début de sa conception, rédiger les spécifications fonctionnelles et techniques, suivre le projet durant toute la phase de production, surveiller que le planning et le budget sont respectés et m’assurer que le projet sera livré à temps et correctement.

Quels sont les principaux projets sur lesquels tu as travaillé, chez Bysoft ou ailleurs ?

Au Canada j’ai eu l’opportunité de travailler sur plusieurs projets Typo3 pour des clients tels que ServoRobot et Canadian Travel.
Au sein de Bysoft, la majorité des projets qui m’ont été confiés sont des sites Magento ou Prestashop pour Lextenso, Weka, La Baguetterie, Eurothemix…

Qu’est-ce qui te plait le plus dans ton métier quotidien ?

Travailler au sein d’une agence web permet de participer à des projets diversifiés touchant à des secteurs bien spécifiques.

Le pôle E-commerce est d’autant plus intéressant car au cours de la phase d’analyse, le chef de projet doit prendre en considération la particularité des produits vendus, les éventuelles règles spécifiques liées à la vente et enfin les comportements “inhabituels” de l’acheteur cible.

…Et qu’est-ce qui te déplait le plus ?

Expliquer aux clients qu’aujourd’hui plus personne n’utilise Internet Explorer 6!

Quelle a été ta plus grande satisfaction chez Bysoft ?

Chaque mise en ligne est pour moi une grande satisfaction, cela représente l’aboutissement d’un travail d’équipe et le début d’une aventure pour notre client (plateforme e-commerce).

Quel est ton souhait d’évolution pour les années à venir ?

Je souhaiterai élargir mes compétences,  acquérir des connaissances dans des domaines annexes tels que le référencement, l’ergonomie…

Quelles sont tes passions à l’extérieur de Bysoft ?

Malgré ma passion pour les technologies, je suis quelqu’un de manuel, j’adore la peinture et j’aime bien chiper des matériaux un peu partout pour les coller là où on s’y attend le moins.
En dehors de ça je pense que le cinéma du coin me considère comme l’un de ses meilleurs clients :)

Commentaires
Pas de Commentaires »
Catégories
Internet

Like


Interview vidéo de Cyril Drouin (Directeur associé Bysoft ) lors des rencontres internationales du numérique 2011

Par Cyril Drouin le 24 décembre 2011

Interview vidéo de Cyril Drouin (Directeur associé Bysoft ) lors des rencontres internationales du numérique 2011 où nous intervenions sur l’e-Commerce à l’international avec le thème « Comment lancer votre boutique en ligne à l’international : problèmes & solutions ? »

Commentaires
Pas de Commentaires »
Catégories
Internet

Like


Multi – boutiques sous Prestashop

Par Sebastien Poinsot le 19 décembre 2011

Contrairement à magento, Prestashop ne propose pas la notion de multi-boutiques en natif.

Actuellement, si un client désire faire du multi – boutiques avec Prestashop, il a 2 solutions :

-        Faire appel à un prestataire pour mettre en place un développement spécifique (budget très onéreux)

-        Utiliser des modules existants

1) le module EVO 5.1.

Il permet seulement d’afficher un thème/design différent par catégorie (ce n’est pas du multi –boutique à proprement parlé)

2)      Les modules Prestatoolbox :

http://www.prestatoolbox.com/15-multi-store-prestashop.

Il faut acheter  au moins 3 modules (~150 €).
A noter que certains de ces modules modifient le Core de la plate –forme.
-> Les mises à jour deviennent donc plus dangereuses et le site peut être moins stable.

Multi-boutiques Prestashop : la version 1.5 tant attendu

Voici un extrait d’un document créé par Raphael Malié et disponible sur le forum Prestashop.com :

Créer un groupe de boutique
Pour créer un groupe de boutique, il faut se rendre sur l’onglet “Boutiques -> Groupes de boutiques”, puis cliquer sur le lien “Ajouter un nouveau groupe de boutiques”. Voici un descriptif des différents champs du formulaire :
● Nom du groupe : pour donner un nom au groupe de boutique (nom uniquement utilisé dans l’administration)
● Partager les clients : en activant cette option, toutes les boutiques appartenant à ce groupe auront une base de client commune. C’est à dire qu’un client s’inscrivant sur une de ces boutiques sera aussi sur les autres du même groupe (il n’y a qu’une seule entrée en base).
● Stock partagé : en activant cette option, tous les produits liés aux boutiques de ce groupe partageront un stock commun.
● Partager les commandes : en activant cette option (disponible uniquement si le partage de client et de stock est activé), les commandes et paniers seront partagés entre les boutiques de ce même groupe. Un client commençant des achats sur une première boutique, retrouvera son panier sur la seconde.
● Statut : pour activer ou désactiver le groupe de boutique
● Import des données d’un autre groupe : plutôt que d’avoir à nouveau à préciser pour votre groupes quels sont les transporteurs, fabriquants, fournisseurs, etc. associés à votre groupe de boutique, il est possible d’importer ces données d’un autre groupe déjà existant pour gagner du (beaucoup de) temps.

Exemple de multi-boutiques

Un vendeur souhaite créer plusieurs boutiques sur une même instance Magento.
- un site vendant des vélos
- un site vendant des outils
- un site vendant des vêtements
Clients
Les clients des 2 premières boutiques seront partagés tandis que pour ceux inscrits sur la boutique de vêtement devront être séparés.
Aussi 2 groupes boutiques seront créés : Mécanique + Vêtements
Catalogue
Les produits pourront être présents sur chaque boutique, ce choix se fera depuis la fiche article.

backoffice

Ainsi, sur une fiche Vélo du premier site, il sera possible de présenter des vêtements sportifs en tant que ventes incitatives (produits présents aussi sur la boutique Vêtements).
Gestion des commandes
Les stocks produits seront partagés tandis que les paniers eux, tout comme les clients, ne pourront être partagés seulement sur les 2 premières boutiques.
Enfin, d’un point de vue logistique, libre au vendeur, de proposer ou non les mêmes modes de paiements ou moyens de transport sur chacune des boutiques.

multi-boutiques

Remarque : Concernant la gestion du duplicate content, il sera possible dans la 1.5 de personnaliser ses textes de produits par boutique, ainsi que ses URL par boutique

Commentaires
Pas de Commentaires »
Catégories
Internet, Prestashop, e-Commerce

Like


« Entrées Précédentes

BYSOFT est une agence d'Ingénierie Internet Interactive. Nous accompagnons nos clients dans leurs projets E-commerce et Portails en gestion de contenu.
Nous offrons une couverture globale de services : Conseil, Agence Web, Ingénierie, Hébergement et Génération de trafic.
        

Technologies

  • Ajax
  • DotNetNuke
  • Drupal
  • eZ Publish
  • Flex
  • Internet
  • Joomla
  • Magento
  • MySQL
  • OsCommerce
  • PHP
  • Prestashop
  • Spip

Archives

  • 2012
    • janvier
    • février
  • 2011
    • janvier
    • février
    • mars
    • avril
    • juin
    • juillet
    • septembre
    • octobre
    • novembre
    • décembre
  • 2010
    • janvier
    • février
    • avril
    • mai
    • juin
    • juillet
    • août
    • septembre
    • octobre
    • novembre
    • décembre
  • 2009
    • janvier
    • février
    • mars
    • avril
    • mai
    • juin
    • juillet
    • août
    • octobre
    • novembre
    • décembre
  • 2008
    • février
    • mars
    • avril
    • mai
    • juin
    • juillet
    • août
    • septembre
    • octobre
    • novembre
    • décembre
  • 2007
    • janvier
    • février
    • mars
    • avril
    • mai
    • juin
    • juillet
    • août
    • septembre
    • octobre
    • novembre
    • décembre
  • 2006
    • janvier
    • février
    • mars
    • avril
    • mai
    • juin
    • juillet
    • août
    • septembre
    • octobre
    • décembre
  • 2005
    • octobre
    • novembre

Derniers tweets

  • 17-01-2012
    Un nouvel article à découvrir sur le blog des équipes "Les modules de paiement chinois" http://t.co/fZQRGBkC

  • 12-01-2012
    La nouvelle boutique de Techniques-ingénieur.fr est en ligne! (Magento) http://t.co/IqIbmL5G http://t.co/6YzQA0ZD

  • 10-01-2012
    Un nouvel article à découvrir sur le blog des équipes "Etre Toujours Publiable" http://t.co/EIucrjVO

@BysoftFrance
Le site de l'agence | Nous contacter | rss RSS | Twitter Twitter