Vous souhaitez donner une nouvelle dimension à votre entreprise et vous rapprocher de vos clients en créant votre application web ? En quelques années, l’adoption du cloud computing a fait évoluer le marché des logiciels traditionnels en faveur d’une expérience utilisateur simplifiée avec les applications web. Une application web est un logiciel applicatif hébergé sur un serveur et accessible via un navigateur web. Ainsi, contrairement aux logiciels traditionnels que vous deviez installer sur votre ordinateur, ce qui prenait beaucoup de temps et de place sur votre disque dur, l’application web ne s’installe pas sur votre ordinateur. Les données sont stockées sur le cloud et vous pouvez vous connecter à votre compte depuis n’importe quel appareil, ce qui est extrêmement pratique. Vous pouvez passer par une agence application web mais également le faire vous-même. C’est pourquoi nous avons décidé de vous construire un guide complet en 12 étapes pour vous aider à créer votre application web.
Pour vous proposer ce guide, nous nous sommes inspiré de cet excellent article de Joe Johnston pour Budibase.com.
Trouver un concept
#1 Comment trouver une idée qui a de la valeur ?
Avant de créer une application web, vous devez d’abord exprimer clairement ce que vous avez l’intention de construire, et surtout pourquoi. Pour beaucoup, ce processus est la partie la plus difficile.
Votre idée doit découler de la résolution d’un problème.
Il est important que vous choisissiez une idée qui vous intéresse. L’intérêt est la clé pour alimenter la motivation, ce qui est crucial lors de la création d’une application web. La création d’une application web demande des efforts et il est important que vous vous y trouviez votre compte pendant le processus.
Posez-vous es questions :
- Combien de temps ai-je pour créer cette application ?
- Quel problème vais-je résoudre ?
- Quelles sont les applications que j’aime utiliser ?
- Qu’est-ce que j’aime dans ces applications ?
- Combien de temps/argent cette application me permettra-t-elle d’économiser ou de générer pour moi (en tant qu’utilisateur) ?
#2 Étude de marché
Une fois que vous avez identifié votre ou vos idées, il est important de faire des recherches sur le marché que vous ciblez, pour voir :
- Si un produit similaire existe
- Si un marché existe
La première raison de l’échec des startups est l’incapacité d’adapter le produit au marché, c’est pourquoi cette phase d’étude de marché est incontournable.
Au delà de Google, pour savoir rapidement s’il existe une application web similaire, utilisez les outils suivants afin de rechercher votre idée :
Si un produit similaire existe, ne vous inquiétez pas. Cela peut être le signe qu’il existe un marché pour votre idée. Vos futurs concurrents ont jeté les bases, ont éduqué le marché. Il est temps pour vous d’intervenir et de vous faire votre place.
Si un produit similaire n’existe pas, il est possible que vous ayez eu de la chance – vous êtes un maître de l’innovation. D’un autre côté, il est possible que quelqu’un se soit déjà aventuré sur cette voie et se soit retrouvé dans une impasse.
Pour savoir ce qu’il en est, il est donc important d’approfondir vos recherches sur le marché et de s’en inspirer :
- Le marché cible de votre application web – Partagez votre idée d’application web sur des forums liés à votre marché cible. Si vous connaissez quelqu’un qui fait partie de la cible, expliquez-lui votre idée.
- Google Trends – Une recherche rapide de votre idée d’application web vous permettra de découvrir les tendances sur le sujet.
- Outil de référencement – Rédigez une liste de mots-clés relatifs à votre application web. S’il s’agit d’un « outil OKR », utilisez les outils de recherche « OKR tool », « OKR app » et « objectives and key results software ». Si l’outil de référencement indique qu’il y a beaucoup de personnes qui recherchent les termes de vos mots clés, il s’agit d’un petit indicateur que vous avez un marché cible.
- Réseaux sociaux – Présentez votre idée à votre marché cible via des groupes Facebook & Twitter.
- Événements – S’il existe un événement local dans votre région qui attire des personnes de votre marché cible, allez y faire un tour. Beaucoup de villes comme Nantes ou Bordeaux organisent des « Digital Week », cela peut être une excellente occasion de partager votre idée en prenant note des réactions.
Après avoir suivi les étapes ci-dessus, vous devriez disposer de suffisamment d’informations pour comprendre s’il existe un marché pour votre produit.
#3 Définir les fonctionnalités de votre app
Vous avez eu votre idée, vous avez validé le marché, il est maintenant temps de lister tout ce que vous voulez que votre application fasse.
L’erreur courante ici est de s’emporter et d’avoir trop d’ambitions en termes de fonctionnalités. Plus vous ajoutez de fonctionnalités, plus il vous faudra de temps pour créer votre application web. Bien souvent, plus la création d’une application web prend du temps, plus vous serez frustré.
Focalisez vos efforts sur les fonctionnalités qui résolvent les problèmes de vos marchés cibles.
Pour vous inspirer, voici une liste des fonctions de base nécessaires à une application CRM simple.
- Créer un compte
- Récupérer les mots de passe perdus
- Modifier leurs mots de passe
- Créer de nouveaux contacts
- Télécharger de nouveaux contacts
- Attribuer une valeur aux contacts
- Ecrire des notes sous la rubrique « contacts »
- Désigner un contact comme étant un lead, un client ou un partenaire
- Filtrer les contacts par lead, client ou partenaire
- Consulter la valeur totale des leads, des clients et des partenaires
Essayez de faire le même exercice en l’adaptant bien sûr à votre concept.
Phase de conception
#4 Faites un croquis de votre application web
La méthode que nous recommandons d’utiliser est un cahier (sans lignes) et un stylo ou un crayon. Old school !
Après les étapes 1, 2 et 3, vous devriez avoir une idée de ce qu’est votre application web, de qui sont vos utilisateurs et des fonctionnalités que vous allez inclure.
Faites un croquis de l’interface utilisateur de vos applications web – il n’est pas nécessaire qu’il soit exact, il s’agit juste d’une esquisse.
Lorsque vous faites un croquis, tenez compte de ce qui suit :
- Navigation
- Apparition de votre marque
- Formulaires
- Boutons
- Tout autre élément interactif
Faites un croquis des différentes versions de votre application web. Examinez comment les fonctionnalités de votre application web vont affecter la conception globale.
Annotez votre croquis et décrivez comment votre application devrait fonctionner.
Prendre des notes vous aidera à clarifier et à comprendre pourquoi vous avez conçu certains éléments à un stade ultérieur.
Encore une fois, ne vous laissez pas emporter. Votre esquisse est destinée à communiquer et à expérimenter, pas à vendre. Si vous compliquez trop la conception à ce stade, vous ne ferez qu’engendrer de la frustration.
#5 Planifiez votre flux de travail
Il est temps de vous mettre à la place de votre utilisateur. Dans cette étape, nous allons planifier le workflow de vos applications web.
Il est maintenant temps de revenir à l’étape 2 et d’étudier votre étude de marché. Prenez votre liste de concurrents et inscrivez-vous à leurs essais gratuits. Jouez rapidement avec leur produit et prenez des notes sur ce que vous pensez être bon et mauvais.
Après avoir analysé les applications web de vos concurrents, il est temps d’identifier les différents workflow de votre application. Pour cela, considérez les points suivants :
- Comment un utilisateur s’inscrit-il
- Est-ce qu’ils reçoivent un email de vérification
- Comment un utilisateur se connecte-t-il
- Comment un utilisateur change-t-il son mot de passe
- Comment un utilisateur navigue-t-il dans l’application
- Comment un utilisateur paie-t-il pour l’application
- Comment un utilisateur peut-il résilier son abonnement ?
Tout d’un coup, notre application web d’une page se transforme en une application web de 10 pages. Il est donc temps de faire une liste des différentes pages de votre application web.
Considérez les différents états des pages. Par exemple, la page d’accueil aura deux états : connecté et déconnecté. Les utilisateurs connectés verront une page différente de celle des utilisateurs déconnectés.
#6 Créer un prototype de votre application
Le prototypage permet d’aller plus loin en ajoutant un affichage interactif de votre future application.
Vous pouvez réaliser un prototype à l’aide des outils suivants :
- Sketch (macOS)
- InVision Studio (macOs)
- Adobe XD (macOS, Windows)
- Figma (Web, macOS, Windows, Linux)
- Balsamiq (macOS, Windows, Web)
#7 Obtenir une première validation
Vous disposez maintenant d’un magnifique prototype qui décrit visuellement l’application web que vous avez imaginé, bravo !
Il est temps de partager ce que vous avez construit. Il ne suffit pas de demander à vos amis s’ils utiliseront votre nouvelle application web.
Vous devez commencer avec un petit nombre d’utilisateurs représentatifs. Allez sur les forums utilisés par votre marché cible, rendez vous directement sur leurs lieux de travail, présentez leur votre solution et vérifiez si vous les aidez à résoudre leur problème.
Essayez d’établir un rapport avec ces personnes, car ils pourraient devenir vos clients. N’hésitez pas à utiliser cette étape pour tester votre argumentaire de vente – les meilleurs gages de validation sont les ventes de pré-lancement.
Prenez des notes et documentez tous les commentaires. Les enseignements tirés de ces réunions vous aideront à orienter vos futurs développements.
Vous avez maintenant un excellent retour d’information et une validation du produit. Il est temps de commencer à développer votre application web.
Phase de développement
#8 Construire l’architecture de votre base de données
Qu’est ce qu’une base de données ?
Une base de données est tout simplement une ensemble de données. Les données peuvent être stockées sur un disque ou dans la mémoire d’un serveur, ou les deux. Vous pouvez créer un dossier sur votre disque dur, y stocker quelques documents, et l’appeler une base de données.
Un système de gestion de base de données est un système qui vous fournit des API cohérentes pour (le plus souvent) :
- Créer des bases de données, mettre à jour et supprimer des bases de données
- Lire et enregistrer des données dans vos bases
- Sécuriser l’accès à une base de données en fournissant un accès nivelé à différents domaines et fonctions
Le type de données que vous devez stocker détermineront le type de base de données nécessaire pour faire fonctionner votre application web.
Types de bases de données
- SQL – Correspond à des données principalement « relationnelles ». Vos données sont relationnelles si vous avez plusieurs types de données qui ont des relations entre elles. Par exemple, un « client » peut avoir de nombreuses « factures » enregistrées dans son dossier. En règle générale, vous créez une tableau Par exemple, Customer.Id = Facture.CustomerId. Elles existent depuis des décennies, sont très bien comprises et constituent généralement un choix sûr. MySQL, Postgresql, Microsoft SQLServer sont parmi les plus courantes. L’inconvénient des bases de données SQL est que vous devez déclarer toutes vos tables et colonnes à l’avance. Si vous n’en avez jamais utilisé une auparavant, vous risquez de vous retrouver avec une courbe d’apprentissage assez raide.
- Base de données de documents – Les bases de données de documents stockent des « documents ». Chaque enregistrement de votre base de données est simplement un gros tas de données structurées – souvent au format JSON. Si vous avez besoin de stocker des relations entre vos documents, vous devrez écrire un code pour gérer cela vous-même. Cependant, de nombreux autres aspects de l’utilisation des bases de données documentaires sont beaucoup plus simples. Votre base de données peut être « sans schéma » – ce qui signifie que vous n’avez pas à déclarer d’emblée les définitions de vos documents. Elles ont également tendance à être beaucoup plus évolutives que les bases de données SQL. Voici quelques exemples de bases de données de documents : MongoDb, CouchDb, Firebase (sans serveur), Dynamo Db (AWS). Il en existe de nombreuses.
Décidez comment séparer vos données
Chacun de vos clients possède son propre ensemble de données privées. L’une des pires choses qui puisse arriver à votre application est que les données d’un client soient vues par un autre client. Même s’il n’y a qu’une petite quantité de données non sensibles qui fuient et qu’aucun dommage n’est causé, un événement comme celui-ci érodera massivement la confiance dans la sécurité de votre application. Vous devez élaborer une stratégie solide pour séparer les données de vos clients afin de vous assurer que cela ne se produira jamais.
Vous avez deux options : la séparation physique et la séparation logique.
- Séparation physique – Chacun de vos clients dispose d’une base de données distincte (bien qu’il puisse partager un serveur de base de données avec d’autres). Il est donc beaucoup plus difficile de faire une erreur qui entraînerait une fuite de données. C’est le choix le plus sûr et le plus évolutif. En revanche, la gestion, l’entretien et les améliorations seront plus complexes.
- Séparation logique – Tous vos clients sont stockés dans une base de données géante. Chaque fois que vous devez obtenir des données pour un seul client, vous devez vous rappeler d’inclure un filtre pour ce client. Par exemple, « sélectionner » parmi les clients où customerClientId = 1234″. Cette approche est plus facile à mettre en place pour démarrer, ainsi qu’à entretenir et à mettre à jour. Par contre, certaines erreurs pourront facilement entraîner une violation de données.
#9 Construire votre frontend
Le Frontend est l’élément visuel de votre application web. Il définit ce que vous voyez et avec quoi vous interagissez. Le frontend est développé avec du HTML, du CSS et du JavaScript.
Lorsque vous créez votre application web, vous devez choisir entre :
- Pages de serveur (application à pages multiples) – Si vous utilisez des pages de serveur, il est très facile de démarrer. Le cadre de votre backend est prêt à être mis en place. C’est là que réside l’énorme avantage des pages de serveur.
- Application à page unique (SPA) – Vous devez mettre en place votre propre environnement de développement afin qu’ils contiennent les éléments suivants :
- Un éditeur de code, tel que VS Code ou Sublime Text
- Un framework de compilation et de packaging comme Webpack ou Gulp
- Un framework de frontend (strictement pas nécessaire, mais fortement conseillé à moins que vous ne soyez un développeur de frontend expérimenté), ici vous pouvez utiliser React ou Ember.
- Configurer votre outil de « packaging » pour qu’il puisse communiquer avec votre backend.
La plupart du temps, notre choix se portera sur le SPA car le produit est beaucoup plus évolutif et facile à utiliser.
Vous devriez maintenant avoir une meilleure idée de la manière de configurer votre frontal et de définir l’aspect et la convivialité de votre application web.
#10 Construisez votre backend
Le backend est généralement ce qui gère vos données. Il s’agit des bases de données, des serveurs et de tout ce que l’utilisateur ne peut pas voir dans votre application web. La construction de votre backend est l’une des parties les plus difficiles du développement d’une application web.
Les principaux rôles du backend seront de :
- Fournir des terminaux HTTP pour votre frontend, qui lui permettent de fonctionner sur vos données.
- Authentifier les utilisateurs (vérifier qu’ils sont bien ceux qu’ils disent être : c’est-à-dire les connecter).
- Autorisation. Lorsqu’un utilisateur connecté fait une demande, le backend détermine s’il est autorisé à effectuer l’action demandée.
- Servir le frontend
Si vous avez choisi les Pages de serveur, votre backend générera également votre frontend et le servira à votre utilisateur.
Avec une SPA, le backend servira simplement vos fichiers statiques de frontend (c’est-à-dire votre « page unique » et ses actifs connexes).
Phase de lancement
#11 Hébergez votre application web
L’hébergement implique l’exécution de votre application web sur un serveur particulier, pour cela, suivez ces étapes simples :
- Achetez un domaine – Namecheap
- Acheter/établir un certificat SSL – Let’s Encrypt
- Choisissez un fournisseur de cloud :
- AWS
- MS Azure
- Google Cloud Plateform
- Pour moins cher : Digital Ocean
En choisissant l’une de ces options d’hébergement, vous obtiendrez presque certainement tout ce dont vous avez besoin. Ils disposent d’une documentation abondante, de communautés importantes pour répondre à vos questions, et sont généralement des options fiables.
#12 Déployez votre application web
Vous avez trouvé votre idée, l’avez validée, avez conçu et développé votre application web, et avez choisi votre fournisseur d’hébergement. Vous en êtes maintenant à la dernière étape. Bravo !
Les outils de développement suivants assurent une intégration continue et vous aideront à déployer votre application web vers votre hébergement en cloud :
Pour commencer, vous pouvez simplement déployer directement depuis votre ordinateur, bien sûr.
Et voilà ! Vous avez construit votre application web, bravo ! N’hésitez pas à nous partager vos astuces dans les commentaires pour que nous puissions optimiser ce guide par la suite.
Asmo a écrit
le :
Bonjour,
je cherchais des idées de comment démarrer un projet perso et comment structurer mes recherches en terme de langage à utiliser en fonction de back ou front, ça m’a un peu aidé, merci
Thomas a écrit
le :
Bonjour Asmo,
Ravi que notre article ait pu vous aider.
N’hésitez pas à nous écrire au besoin !
Thomas