Etude de cas : Youbadit

Présentation

Après une expérience dans le monde du badminton en tant qu’entraîneur, Pierre Henri Branger a créé la société PHBSPORTS sous le nom commercial de Youbadit. L’entreprise se situe  au 16 rue Nicolas Chorier à Grenoble.

Youbadit est un magasin spécialisé dans le badminton. Pose de cordage, vente de raquette, d’accessoires ou de textiles, Youbadit se positionne comme un spécialiste pour répondre au mieux à vos besoins.

Au moment ou Youbadit a consulté Kreatys, l’entreprise possédait un site e-commerce fait à partir d’un CMS  mais qui ne répondait plus aux besoins de Youbadit.

screenshot du site internet Youbadit

Kreatys a due répondre à divers défis et contraintes afin de développer un site e-commerce performant et répondant au contrainte métier lié à l’activité de Youbadit.

Les défis à relever 

  • Développer un site e-commerce avec une gestion des stocks en temps réel.
  • développer sa visibilité sur internet
  • Synchroniser le plus efficacement possible le site et son logiciel de gestion des stock
  • S’adapter au métier tel que souhaite le pratiquer Youbadit
  • Réaliser un chiffre d’affaire à travers la plateforme
  • Développer une synchronisation en temps réel lors d’une modification du stock magasin et du stock internet.
  • Récupération du catalogue existant avec les contraintes tailles, couleur, options
  • Eviter les doubles ou triples saisies d’un article
  • Intégrer ses contraintes métier
  • L’ergonomie et la simplicité d’utilisation sont des contraintes fortes à intégrer dans le cadre de la réalisation du projet.
  • La plateforme devra s’adapter aux tablettes et mobiles (webdesign responsive)

Notre solution

Le site e-commerce existant, conçut avec un CMS, ne convenant pas au projet. Nous avons donc développé un nouveau site  afin que celui-ci réponde au mieux aux attentes de Youbadit. Nous avons, en revanche, réutilisé la base de données de gestion des stocks.

Notre objectif : Développer un site fonctionnel comme l’entend Pierre Henri Branger afin que celui-ci puisse développer son chiffre d’affaire grâce à son site internet.

Le résultat :

Un site fonctionnel où l’on retrouve tout le catalogue de Youbadit avec une mise à jour automatique du catalogue, des prix et promotions.

screenshot du site internet Youbadit

 

screenshot du site internet Youbadit

 

Spécial outils métier – dev spécifiques : L’approche Agile

On vous a parlé à plusieurs reprises de la méthode agile. Vous vous demandez ce que c’est ? Kreatys éclaire votre lanterne.

Qu’est-ce que la méthode agile ?

La méthode agile est une méthode très utilisé en informatique. C’est un ensemble de méthode et pratique basées sur les valeurs et le principe du manifeste agile. La méthode agile repose sur la collaboration, l’autonomie et des équipes pluri-disciplinaires.

Cette méthode permet d’avoir une implication maximum du clients et d’être plus efficace lors du développement.

L’un des principes au cœur de cette méthodologie, c’est l’idée d’itération et d’amélioration. À la fin d’un sprint, le développement en cours doit être prêt à être livré au client. Ce qui ne signifie pas que le projet est fini, loin de là.

A la fin de chaque sprint, le client à accès à sa pré-production afin de faire un retour en « live » sur l’évolution de son projet grâce à un bug tracker. Un Feedback va alors pouvoir être réalisé au moment où le client test son produit. 

Cette approche est très intéressante car elle évite de découvrir des bugs ou autre surprise sur son site, son application à la livraison finale, ce qui entraînerait un temps de développement supplémentaire afin de corriger ces bugs qui aurait pu être résolue au cours du développement.

Concrètement :
  • Un développement plus rapide
  • Aucune surprise à la livraison finale
  • Implication du client
  • Une bonne satisfaction du client
  • Une meilleure coordination de l’équipe au sein du projet

Langage informatique : Python

Créé par Guido van Rossum, Python est un langage de programmation, dont la première version est sortie en 1991.  Ce langage a été baptisé ainsi en référence à la troupe de comiques les « Monty Python ».

qu’est-ce que Python ?

Python est un langage puissant, facile à apprendre et qui offres de multiples  possibilités. Une fois installez, vous disposez de nombreuses fonctionnalités intégrées au langage.

Il existe ce qu’on appelle des bibliothèques qui aident le développeur à travailler sur des projets particuliers. Il est très facile d’étendre les fonctionnalités existantes: plusieurs bibliothèques peuvent  être installées pour développer des interfaces graphiques ,par exemple.

Que peut-on faire avec python
  • des petits programmes simples, qui seront chargés d’une mission très précise, ceux-ci sont appelés scripts ;

  • des programmes complets, comme des jeux ou des suites bureautiques ;

  • des projets plus complexes, comme des progiciels.

Voici quelques exemples de fonctionnalités possibles avec Pythons :

  • créer des interfaces graphiques ;

  • faire circuler des informations au travers d’un réseau ;

  • dialoguer d’une façon avancée avec votre système d’exploitation ;

    Python est un langage de programmation interprété, c’est-à-dire que les instructions qui lui sont envoyez sont « transcrites » en langage machine au fur et à mesure de leur lecture. D’autres langages existent. Le langage C, par exemple, est appelé « langage compilé » car, afin de pouvoir l’exécuter, un logiciel spécialisé devra transformer le code du programme en langage machine. On appelle cette étape la « compilation ». À chaque modification du code, il faut refaire une étape de compilation.

    Les avantages d’un langage interprété sont la simplicité  et la portabilité, Python est un langage qui fonctionne sur tout les systèmes d’exploitation. Les langages compilés sont eux aussi portable mais d’un système à l’autre, on doit utiliser des compilateurs différents. De plus, certaines instructions ne sont pas compatibles, voire se comportent différemment en fonction du systèmes d’exploitation utilisé.

    En revanchent, un langage compilé sera plus rapide qu’un langage interprété car la traduction simultanée en langage machine de votre programme ralentit l’exécution.  Cette différence se faire de moins en moins sentir au dur et à mesure des améliorations de Python.

    Pour résumer
  • Python est un langage de programmation interprété offrant de multiples possibilités

  • Il permet de créer toutes sortes de programmes (jeux, logiciel, progiciel…)

  • Il est possible d’associer des bibliothèques à Python afin d’étendre ses possibilités.

  • Il est peut fonctionner sous différents systèmes d’exploitation. L’étape de « compilation » n’est pas nécessaire.

Développement spécifique : Application native ou hybride, que choisir ?

C’est la grande question qui revient au sein de nos clients. Devons-nous développer une application mobile native ou hybride ? Chacune des deux options a ses avantages et ses inconvénients.

La réponse : Cela dépend de votre projet !

L’application native : Performante mais plus coûteuse 

L’application native est une application mobile que l’on télécharge et que l’on installe ensuite sur son smartphone ou sur sa tablette. Chaque plateforme (IOS, android…) a son propre langage.

  •  IOS : Objective-C ;
  •  Android : Java ;
  • Windows Phones : C#.

Cette application est dites native car elle va  pouvoir accéder aux fonctionnalités du support comme par exemple le GPS, l’appareil photo et notamment au hardware. Les applications natives seront  plus performantes  que les applications hybrides.

Le hic ? Si vous souhaitez avoir une application mobile native et que vous voulez qu’elle soit disponible sur toutes les plateformes, il faudra concevoir des applications bien distinctes car ce ne sont pas les mêmes langages utilisés pour lors du développement sur IOS ou sur Android.

Cela entraîne donc des coûts de productions qui seront plus élevés que pour une application hybride.

L’astuce : suivant votre marché, il est intéressant de se demander qu’elle plateforme utilise votre cible. Si elle utilise à 80% Android, le développement d’une seule application peut suffire dans un premier temps.

L’application hybride : moins performante mais moins chère  

L’application hybride est une application à mi-chemin entre les Webapps et les applications natives.

Petit rappel : une Webapp est un logiciel applicatif hébergé sur un serveur et accessible depuis un navigateur Internet. Elle est adaptées pour les terminaux mobiles grâce à une bonne ergonomie et à certaines fonctionnalités spécifiques.  Une Webapp ne peut pas fonctionner sans connexion Internet. Les webapps sont développées une seule fois avec de l’open web HTML5, Javascript et CSS.

Une application hybride est donc à mi-chemin entre une application native et une webapp. Il s’agit de développer une application avec la même technologie qu’une webapp,  puis de l’encapsuler pour en faire une application mobile, que l’on peut installer via les stores. L’application hybride sera fonctionnelle avec une bonne ergonomie sur tous les supports sans avoir à développer une application pour chaque plateforme.

Contrairement aux webapps, dans une application hybride, on vient intégrer une couche de code natif pour permettre à l’application de pouvoir utiliser les fonctionnalités du support (appareil photo, GPS…).

Le hic ? Les applications hybrides coûtent moins cher mais sont en revanche  moins performantes que les applications natives. Suivant votre projet, il se peut que vous ne puissiez pas développer une applications hybride en raison de contraintes technique (utilisation de capteurs du téléphone…)

Par exemple, si vous souhaitez développer une application pour objet connecté et que cette application soit sur IOS et Android, il faudra surement privilégier l’applications native. Les langues de communications entre l’API de l’objet et les smartphones vont changer en fonction de votre plateforme.

Comme dit précédemment, votre choix dépendra de votre projet !

si vous souhaitez avoir plus d’informations ou  poser quelques questions, c’est ici. notre équipe se fera une joie de vous répondre.