Blogs Shopify

Comment développer une application Shopify en une semaine

Au fil des années, nos partenaires ont appris que les clients soumettent parfois des projets de développement atypiques. L’une des demandes les plus insolites étant celle d’un client qui souhaitait développer un clone de Windows XP qui soit compatible à 100 % avec Windows, avec un budget de 200 dollars.

Mais la plupart des demandes atypiques de développement, même si elles semblent insensées, naissent souvent d’un point de douleur réel rencontré par les clients. C’est peut-être leur flux opérationnel qui est atypique. Ou leur idée qui pourrait apporter une réelle valeur ajoutée à leur entreprise. Il ne faut donc pas ignorer ces demandes inhabituelles, surtout lorsque le client semble y avoir déjà beaucoup réfléchi.

L'objectif de cet article est de vous montrer qu’il n’est pas impossible ni particulièrement difficile de développer une application Shopify personnalisée pour un marchand. En fait, c’est probablement la meilleure option pour votre client.

Comment aborder un projet de développement atypique

Souvent, si un client cherche à développer une application personnalisée, c’est parce qu’il a tenté de résoudre les problèmes qu’il rencontre en changeant de thème ou en utilisant des dizaines d’applications de l’App Store de Shopify, sans succès.

S’il recherche une fonctionnalité qui dépasse les capacités d’un thème, il n’aura trouvé généralement que des solutions génériques sur l’App Store de Shopify, et il se peut qu'il n'ait pas les compétences nécessaires pour configurer une solution complexe.

Parfois, le problème est si douloureux que le ton et la terminologie employés transmettent la frustration du client.

Quand vous n’avez qu’un seul outil

Si nous avons parfois une réaction d’étonnement face à ces demandes atypiques, c’est parce que nous avons souvent du mal à sortir de notre zone de confort. Si vous créez uniquement des thèmes Shopify, c’est le service que vous allez proposer à votre client pour lui permettre de résoudre ses problèmes. Toute demande en dehors de ce champ de compétences sera perçue comme une source de tension et de difficultés.

La même chose s’applique aux développeurs back-end et aux développeurs front-end, et à tous ceux ayant acquis des compétences spécialisées.

Notre réaction naturelle consiste à vouloir utiliser les outils que nous maitrisons pour résoudre les problèmes des clients. Parfois, nous ne savons même pas qu’il existe de meilleures solutions disponibles.

Pourquoi le développement d’applications est réputé être complexe ?

Il est difficile de développer des applications personnalisées, n’est-ce pas ? Il faut à priori une équipe de développeurs et énormément de temps.

Nous avons tous connu au moins quelqu’un qui a passé des mois ou des années à travailler sur une idée d’application qu’il comptait initialement « rapidement » commercialiser.

Pour chaque histoire d’une équipe de développeurs confirmés qui a passé des mois à développer une application, il y a une histoire parallèle d’un développeur indépendant qui a réussi à coder et à lancer une application similaire après quelques nuits et weekends de travail seulement, parfois même en moins de temps.

Comment créer une application de A à Z en une semaine : le processus 

Nous allons maintenant vous montrer comment créer une application à partir de zéro. Nous vous indiquerons la procédure à suivre pour créer une application Shopify destinée à être publiée dans l'App Store. Cependant, vous pouvez également suivre les mêmes étapes pour créer des applications privées pour vos clients.

Vous connaissez peut-être les API Shopify et avez déjà travaillé sur des applications client. Mais il y a une différence entre améliorer ou mettre à jour la base du code, et commencer de zéro.

Quand on commence à zéro, il faut créer et maitriser chaque aspect de l’application, de l’authentification, aux paiements, en passant par l’interface utilisateur.

Relevez le défi : consacrez une semaine entière de travail exclusivement au développement de l'application, réussissez à la compléter et à la lancer avant le week-end. 

La phase de planification

 La phase de planification

Étant donné le temps limité, ne vous lancez pas directement dans le développement pour éviter de perdre du temps à trop perfectionner le code, à tester de nouveaux outils, etc.

Concentrez-vous — pas seulement pour éviter les distractions, mais aussi pour travailler uniquement sur les fonctionnalités essentielles de l’application.

Quelques jours avant votre semaine de développement planifiée, prenez le temps de décrire exactement ce que l’application doit (et ne doit pas) faire. Créez une feuille de route de développement logiciel et répondez à chacune des questions suivantes :

  • Quel est le but de cette application ?
  • Quelles fonctionnalités vont être incluses ?
  • Combien de temps faut-il pour créer les fonctionnalités ?
  • Quel est le calendrier prévu ?

Il est essentiel que vous répondiez à ces questions. Avec seulement cinq jours de travail, toutes les étapes inutiles que vous pourrez éliminer constitueront un gain de temps précieux.

1. Déterminer le but de l'application

La grande question, et celle que vous devriez considérer en priorité concerne le but de l’application. Pourquoi devriez-vous la créer ? Comment aidera-t-elle le marchand ou votre client ?

Si l’application est conçue pour un client, il sera facile de trouver des réponses à ces questions, puisqu’il vous suffira de les lui poser. Assurez-vous de poser des questions de suivi pour approfondir ses réponses. Vous devez réussir à découvrir les raisons sous-jacentes de sa demande, et les mettre en lien avec les objectifs commerciaux de l’application. La conversation avec votre client pourrait ressembler à ceci :

Client : On cherche une application qui puisse ajouter des réductions personnalisées sur ces produits.
Vous : Pourquoi ces produits ?
Client : Il s'agit des produits que nous devons liquider.
Vous : Pourquoi souhaitez-vous liquider ces produits ?
Client : Ils ne se vendent pas bien et nous avons besoin de libérer de l’espace d’entreposage pour une nouvelle gamme de produits.
Vous : Une fois que vous aurez votre application de réductions personnalisées, comment allez-vous promouvoir les produits que vous souhaitez liquider ?
Client : Comme ils seront moins chers, les gens vont les acheter.
Vous : Même avec des réductions personnalisées, ces produits ne seront toujours pas découverts dans votre catalogue. Pourquoi ne pas simplement organiser un événement promotionnel, où vous feriez la promotion de chaque produit pendant une journée ? Cela vous permettrait de vendre ce stock de produits en quelques jours.

    Parfois, comme dans l’exemple ci-dessus, lorsque vous découvrirez les raisons sous-jacentes de la demande, vous réaliserez que le client souhaite en réalité quelque chose de totalement différent de ce dont il a véritablement besoin. Le but de l’application est de combler ce besoin.

    Si l’application n’est pas destinée à un client, et que vous la développez pour qu’elle soit vendue publiquement sur l’App Store de Shopify, vous devrez faire une étude de marché pour découvrir les mêmes besoins et les mêmes attentes. Vous allez peut-être devoir vous entretenir avec des dizaines de marchands ou rassembler des notes sur les problèmes qu’ils ont décrits par le passé.

    Quelle que soit la source d’informations, approfondissez votre analyse pour découvrir le but de l’application, et formulez-le d’une façon qui soit facile à comprendre.

    Cet objectif devient le filtre que vous allez utiliser pour le développement. Vous devrez uniquement travailler sur les fonctionnalités qui soutiennent directement cet objectif, ou sur celles qui vont vous permettre de créer ces fonctionnalités. Tout le reste devrait être mis de côté ou reporté.

    2. Créez votre liste de fonctionnalités

    Une fois que vous aurez déterminé l’objectif de votre application, vous devrez réfléchir aux fonctionnalités à créer. À cette étape, mettez par écrit toutes les idées qui vous viennent à l’esprit en utilisant toutes les sources que vous trouvez. Ne définissez aucune limite et ne pensez pas au calendrier pour l’instant. Trouvez autant d’idées que possible, sans vous focaliser sur leur qualité pour le moment.

    Une fois que vous aurez dressé une liste de fonctionnalités, et que vous aurez terminé votre réflexion, il sera temps de passer à la phase d’évaluation. Rapprochez chaque idée avec l’objectif de l’application, et ne conservez que celles qui soutiennent cet objectif.

    Assurez-vous de suivre une approche concise et minimaliste pour dresser votre liste. Vous pouvez toujours la revoir ultérieurement et développer la liste de fonctionnalités de l’application une fois la première version créée.

    3. Réduisez vos délais

    L’étape suivante de la planification consiste à résumer chaque fonctionnalité, et à spécifier un délai approximatif pour la développer. Si vous n’êtes pas certain quant à votre capacité à créer une fonctionnalité donnée, ou si quelque chose d’autre vous inquiète, établissez un délai en prenant en compte ces variables.

    Pensez à fournir des estimations de délais sous forme de fourchette qui vous permettront de largement respecter les dates fixées. Vous pouvez également inclure un pourcentage de confiance pour exprimer votre ressenti :

    • Fonctionnalité A : un à deux jours, 90 % de confiance — signifierait qu’il y a de fortes chances de développer l’application en un ou deux jours.
    • Fonctionnalité B : un à sept jours, 50 % de confiance — signifierait que le développement pourrait être rapide (un jour), mais qu’il pourrait y avoir des difficultés (sept jours) — et que le développement pourrait également dépasser sept jours.

    4. Utilisez des outils de tiers

    Avec la feuille de route terminée, vous serez prêt prêt à commencer le développement.

    Lundi matin, lancez votre environnement de développement, ouvrez un fichier de code vierge, et commencez à coder. Avec des délais si serrés, vous pouvez aussi utiliser des outils et des bibliothèques logicielles faciles d’accès pour accélérer les choses.

    Shopify fournit aussi de nombreuses bibliothèques d’intégration. Si vous développez sur Ruby on Rails, vous pouvez profiter de l’excellente bibliothèque logicielle shopify_app. Cette bibliothèque s’intègre avec Ruby on Rails pour former un squelette d’application, avec une grande partie de l’intégration gérée pour vous.

    Avant de démarrer votre développement, et même dès la phase de planification, vous devriez rassembler des outils et des ressources pour réduire davantage votre charge de travail. N’utilisez pas cependant des bibliothèques logicielles pour planifier l’ensemble de votre processus de développement — considérez-les à la place comme des bonus avantageux si elles fonctionnent correctement.

    La phase de développement

    1. Configuration de l’authentification de l’application

    Avec quelques outils génériques en main, vous êtes prêt à commencer le développement.

    La première chose que tous les développeurs d’applications doivent faire est d’intégrer le système d’authentification et d’autorisation de Shopify. La bibliothèque shopify_app vous assiste dans cette tâche, bien qu’il reste encore d’autres tests et configurations à effectuer.

    Shopify utilise deux méthodes d’authentification/d’autorisation :

    • Protocole OAuth
    • Mot de passe et clé API privés de l’application

    OAuth est utilisé par toutes les applications publiques de l’App Store de Shopify, et fournit un moyen sûr et sécurisé pour un marchand d’autoriser votre application avec Shopify, sans devoir renseigner dans votre application le nom d’utilisateur et le mot de passe de sa boutique en ligne.

    D’autre part, chaque boutique en ligne peut accueillir des applications privées, qui incluent une clé API et un mot de passe. Ces applications utilisent la clé API et le mot de passe comme un nom d’utilisateur et un mot de passe habituels, pour fournir un accès complet à la boutique où elles sont installées.

    Si vous souhaitez développer une application destinée à être publique, il faut que vous utilisiez le OAuth le plus complexe. Même avec l’aide de la bibliothèque shopify_app, et toute la documentation fournie par Shopify, il peut être difficile de faire fonctionner correctement l’authentification.

    Ne vous découragez pas si vous avez du mal à faire fonctionner l’authentification. Bien qu’il s’agisse de la première étape concrète du processus de développement, rappelez-vous que c’est l’une des plus difficiles. Une fois que vous l’aurez franchie, le reste du développement sera comparativement plus facile.

    Si vous n’arrivez pas à avancer, effectuez une recherche sur les forums Shopify, et posez-y vos questions également. Souvent, une solution simple suffira à résoudre les problèmes d’authentification.

    2. Ne créez pas une application privée

    Si vous développez une application pour un client, vous pourriez être tenté de créer une application privée seulement, pour ignorer le OAuth et faire en sorte que votre application puisse être authentifiée immédiatement.

    Bien qu’elle soit plus facile, nous déconseillons cette approche pour plusieurs raisons :

    • Vous ne pouvez pas intégrer l’application dans le tableau de bord de Shopify
    • Pour partager l’application avec plusieurs boutiques, vous devez créer tout le code vous-même ou héberger plusieurs copies de l’application
    • L’application dispose d’un accès complet en lecture et en écriture à la boutique en ligne, ce qui peut constituer un risque important

    Nous recommandons l’utilisation du OAuth, pour créer une application comme celles qui apparaissent dans les boutiques d’applications publiques, la seule différence étant que vous n’allez pas la lister. Il s’agit d’applications non listées.

    Votre client pourra ainsi installer l’application comme il installerait toutes les autres applications qui sont listées.

    Pour une couche de protection supplémentaire, vous pouvez vérifier l’URL de la boutique pendant le processus d’installation de l’application ; et si elle ne correspond pas à l’une des URL de vos clients, vous pouvez rejeter le processus d’installation. Pour shopify_app, vous pouvez ajouter dans votre sessions_controller.rb un code similaire à celui présenté ci-dessous :

    Bien qu’il soit important de réfléchir au mode d’authentification à utiliser, ne vous inquiétez pas trop à ce sujet. Il vous est possible de basculer entre l’authentification d’application OAuth et l’authentification privée ultérieurement. Vous devez migrer vos données et apporter des modifications de configuration de façon prudente pour que cela fonctionne, mais la tâche est tout à fait faisable.

    3. Faire fonctionner le protocole OAuth

    protocole oauth

    Au moment d’utiliser le protocole OAuth, il est important de configurer correctement les portées. La portée est l’élément que Shopify utilise pour vous autoriser l’accès à des API déterminées. Par exemple, si vous devez traiter des commandes, vous devrez utiliser read_orders comme portée. Pour ajouter de nouveaux clients, vous aurez besoin à la fois de la portée read_customers et de la portée write_customers.

    Si vous ne choisissez pas les bonnes portées, vous rencontrerez des problèmes d’accès ultérieurement. Il n’est pas facile d’identifier pourquoi une API ne fonctionne pas correctement, surtout si vous avez oublié de définir la portée de cette API et que plusieurs jours ou semaines se sont écoulés.

    Concentrez-vous sur les zones auxquelles vous devez accéder en fonction des fonctionnalités de l'application.

    Une fois la configuration du protocole OAuth finalisée et opérationnelle, vous êtes prêt à travailler sur les fonctionnalités réelles de l’application.

    4. Qui a besoin de comptes utilisateurs ?

    Dans la feuille de route, vous avez peut-être prévu d’ajouter des comptes utilisateurs et un moyen de les gérer dans une boutique en ligne. Ainsi, un marchand pourrait fournir à n’importe quel membre de son équipe l’accès à votre application.

    Attention : vous pouvez travailler sur le protocole OAuth avant de vous rendre compte que cela n'ajoute aucune valeur pour votre client. 

    Le protocole OAuth empêche les utilisateurs non autorisés d’accéder à l’application. Les marchands doivent donc accéder à l’admin de Shopify avant de pouvoir accéder à l’application, ce qui signifie qu’il faut qu’ils aient déjà des comptes valides dans Shopify. En fin de compte, il n'est peut-être pas nécessaire de séparer les différents comptes utilisateurs.

    En éliminant complètement cette fonctionnalité pour les utilisateurs, vous pourrez économiser une demi-journée de travail de développement. La gestion de l'application n'en sera que simplifiée pour les marchands.

    Conseil d’expert : même si le développement a commencé, soyez prêt à modifier votre plan si cela permet d’améliorer l’application. Tentez de réduire le nombre de fonctionnalités et non d’en ajouter.

    5. Installation de l'application

    Concentrez-vous également sur la simplification de l'installation de l'application. Idéalement, vous devriez proposer au marchand une installation automatique.

    6. Développement de fonctionnalités et défis

    En développant les fonctionnalités fournies dans votre plan, vous pouvez faire face à des défis techniques.

    Pour résoudre certains d'entre eux, vous pouvez compter sur la bibliothèque shopify_app. Mais surtout pour les nouvelles fonctionnalités, il peut ne pas y avoir de bibliothèque existante. Dans ce cas, vous devrez en écrire un vous-même.

    Le problème est que l'écriture d'une nouvelle bibliothèque n'est pas toujours idéale. Cela peut entraîner un retard dans les délais prévus. De plus, le code ne peut fournir aucune valeur ajoutée au marchand.

    Conseil d’expert : lorsque vous développez une application, ne vous laissez pas aveugler par les problèmes qui surviennent. Tentez d’avoir une option de secours, de contourner le problème, ou même de le résoudre. Il existe généralement plusieurs manières de procéder en développement.

    7. Réduire le risque posé par une fonctionnalité à haut risque

    L'ajout de certaines fonctionnalités planifiées peut comporter des risques. Par exemple, l'installation de l'application pourrait endommager la boutique.

    Votre philosophie devrait être de minimiser les risques. Par conséquent, créez une copie de sauvegarde du modèle de boutique pour vous protéger si une restauration s'avérait nécessaire.

    De plus, une série de tests automatiques et manuels est effectuée. Vérifiez que l'application fonctionne, même avec des thèmes différents.

    Une semaine est-elle suffisante ?

    Idéalement, vous devriez pouvoir développer et installer l'application d'ici jeudi soir. Vous aurez donc toute la journée vendredi pour revoir le code, exécuter les tests, configurer les serveurs de production et lancer officiellement l’application.

    Après la semaine de développement, plusieurs heures de travail supplémentaires peuvent être nécessaires pour que l'application soit publiée dans l'App Store de Shopify. Pour cela, vous devrez rédiger la description de l'application, préparer les supports marketing et collaborer avec l'équipe des applications Shopify pour que votre application soit approuvée.

    Leçons apprises de la création d’une application Shopify en une semaine

    Dans cet article sur la création d'une application en une semaine, plusieurs points importants sont apparus. Récapitulons : 

    Le développement d’applications Shopify est tout simplement une nouvelle compétence qui peut être acquise. Si vous avez de l’expérience en développement ou que vous pouvez accéder à une formation dans le domaine, le développement d’une application Shopify ne sera pas tellement difficile. Le développement d’applications Shopify peut naturellement présenter des difficultés, mais comme dans le cadre de tout projet de développement logiciel, vous pourrez vous appuyer sur les compétences que vous possédez déjà en développement. Si vous pouvez développer une application web et utiliser les API REST, vous pouvez également créer une application Shopify.

    La création d’une petite application Shopify peut se faire très rapidement. La même chose s’applique si vous avez un client qui vous demande de créer une application personnalisée en étant disposé à collaborer étroitement avec vous. En fonction de ce dont il a besoin, vous pourriez réaliser qu’il est possible de compléter son projet en moins d'une semaine. On peut par exemple créer et tester une application Shopify privée très simple en moins de deux heures.

    Développez une compréhension poussée des besoins des marchands. Que vous développiez pour un client ou pour l’App Store de Shopify, prenez le temps de découvrir ce dont les marchands ont vraiment besoin. Allez au-delà des besoins superficiels, et concentrez-vous sur les besoins commerciaux réels. Plus vous approfondirez votre compréhension, plus votre application aura de chances de connaitre du succès.

    Établissez un plan et réduisez autant que possible. Une fois que vous aurez identifié les besoins, prenez le temps de planifier la façon dont vous allez les combler. Dressez une liste de fonctionnalités avec les délais pour les développer. Tentez de raccourcir cette liste en réduisant autant que possible le nombre de fonctionnalités, en veillant cependant à résoudre le problème principal pour lequel l’application sera créée.

    Donnez vous des options pour les parties risquées de votre plan, pour ne pas rester coincé. Pour toute partie risquée ou très incertaine de votre plan, réfléchissez à certaines idées sur la façon de changer les choses si tout ne se passe pas comme prévu. Avec des options alternatives, vous aurez suffisamment de flexibilité pour traiter les problèmes de développement qui risquent de survenir.

    N’ayez pas peur de changer votre plan si vous pouvez mieux servir les utilisateurs. Dans la même optique, soyez prêt à complètement éliminer les éléments de votre plan qui ne vous rapprochent pas de l’objectif principal de l’application. Cela reviendrait par exemple à éliminer des fonctionnalités, ou à modifier un flux de travail principal pour le rendre plus convivial pour les utilisateurs.

    Souvenez-vous de votre objectif

    Avant tout, gardez toujours à l’esprit l’utilisateur final. Les applications Shopify sont conçues pour servir un objectif bien précis, généralement axé d’une façon ou d’une autre sur les avantages pour l’utilisateur final. Si vous pouvez avoir de l’empathie pour le marchand qui utilisera votre application, et l’évaluer depuis sa perspective, votre solution sera mieux accueillie.

    Créez des applications pour les marchands Shopify

    Que vous souhaitiez développer des applications pour l’App Store de Shopify, proposer des services personnalisés de développement d’applications, ou trouver des façons de faire croitre votre base d’utilisateurs, le programme Partenaires Shopify vous préparera pour la réussite. Inscrivez-vous gratuitement et accédez à des ressources éducatives, des environnements de prévisualisation pour développeurs, et des occasions de générer des revenus récurrents.

    Inscrivez-vous
    Sujets: