Mais comment
ça marche ?

Nous développons pour vous, mais surtout avec vous. Le client est inclus dans toutes les étapes du développement : dégrossir le projet ensemble, concevoir un cahier des charges, valider une maquette, tester l'application, nous faire des suggestions d'amélioration, intégrer vos données... On ne vous lâche pas !

Cycle de développement d’une application

Tous les développements sont uniques, mais ils passent régulièrement par les mêmes grandes phases. Si vous vous demandiez à quoi ça pouvait ressembler de collaborer avec nous, en voici un bref aperçu.

Réalisation du
cahier des charges

Dans un premier temps, nous allons discuter assez longuement afin de définir le besoin exact, et nous établirons ensuite la liste la plus exhaustive possible des fonctionnalités de l'application. Vous nous présentez votre métier, et nous vous questionnons dessus pour en obtenir une compréhension globale. Une fois que nous avons une bonne idée de ce que vous voulez, nous vous proposons une solution sous la forme d'un devis.

Cahier des charges

Maquette

Ensemble nous allons créer une maquette de l'application. Ça peut être un mockup professionnel réalisé sous Adobe XD, ou bien un dessin fait à la main sur notre tableau blanc ! Dans les faits, il nous arrive régulièrement de sauter cette étape car nos clients n'ont pas toujours une idée précise du design de leur outil. Quand c'est le cas, nous démarrons le développement et nous vous proposons des affichages que nous pensons être les plus ergonomiques pour vous, et tout en prenant en compte vos recommandations.

Maquette web

Développement

Nous avons choisi les technologies, on sait ce qu'on veut et ce dont nous avons besoin ? Alors on se lance ! Nous créons les environnements et démarrons le développement sur mesure de votre application. Les démarrages sont toujours très rapides : page d'accueil, système d'authentification, base de données, ajout de données de test... Nous avons l'habitude. Une fois que nous avons bien avancé, nous vous créons un environnement de test avec tout ce qui a déjà pu être réalisé dessus pour que vous commenciez à nous donner un premier avis.

Développement web

Test

L'environnement de test est en ligne. Nous avons mis des premières données dessus pour que ce soit concret. L'important c'est de tester les fonctionnalités que nous créons pour vous, et de nous faire un retour. Dans cette étape, nous vous laissons généralement l'accès à notre outil de tickets. Nos développeurs interagissent directement avec vous pour mettre en place ce dont vous avez besoin, ou pour corriger les bugs que vous auriez pu rencontrer. Au besoin, nous organisons organise une réunion (présentielle, visio) pour discuter de tout ça de vive voix.

Test est en ligne

Mise en production

L'outil est prêt à être déployé. En quelques minutes nous mettons en ligne la version 1.0 de votre site, et nous y incorporons incorpore les potentielles données dont vous pourriez avoir besoin. Vous pouvez vous mettre à l'utiliser quotidiennement, mais nous ne devenons pas des étrangers pour autant ! Notre code est garanti pendant 3 mois minimum (selon la volumétrie du projet) après sa mise en production. Ça veut dire que nous corrigeons toujours gratuitement les bugs que vous pourriez repérer pendant cette période.

Mise en production

La méthode Agile

Nous ne jurons que par ça. Elle est largement adoptée dans le monde du développement, et repose sur deux grands principes :

Premièrement, on se fixe des objectifs courts, appelés "sprints", qu'on réalise un par un. On évite de travailler sur deux fonctionnalités en même temps, et on préférera en terminer une avant de passer à la suivante. Les différents sprints sont inscrits dans le "backlog", qui n'est rien d'autre qu'une liste de fonctionnalités à réaliser. Chez nous, ces sprints sont un ensemble de tickets Gitlab. Un ticket décrit une fonctionnalité, et peut posséder sa propre liste de tâches à cocher pour en valider le fonctionnement.

Deuxièmement, la méthode Agile intègre le client dans le processus de création. Étant donné que sa satisfaction est notre priorité, nous faisons en sorte d'être constamment en discussion avec lui. Il valide nos développements et nous fait des remarques pour améliorer l'outil. Ainsi, nous pouvons nous se permettre de lui montrer nos changements en quelques minutes, et nous lui épargnons des réunions à rallonge pendant lesquelles lui serait présenté une cinquantaine de fonctionnalités qu'il n'aurait pas le temps de tester.

La gestion des incidents

Le mot "bug", ou bogue en français, fait partie de notre vocabulaire journalier. Une grande partie de notre travail consiste à en corriger.

Pour traiter la découverte et la résolution des bugs plus rapidement, nous avons incorporé un outil de gestion d'incidents dans notre processus
de travail : Sentry.

Ce dernier nous permet d'être informé en temps réel de la découverte d'une erreur, au moment où l'utilisateur la rencontre. Nous pouvons alors agir de manière proactive et corriger le bug avant même que notre client nous en avertisse.

Sentry est aussi un formidable outil de débuggage. Il nous informe sur :

  • la provenance de l'incident, le fichier et la ligne de code concernés
  • l'identité de l'utilisateur qui a obtenu l'erreur
  • le type et la version du navigateur web de l'utilisateur impacté
  • la récurrence et la fréquence d'obtention de l'erreur si elle revient plusieurs fois

Grâce à cet outil, ce n'est pas rare que nous puissions constater et corriger un bug avant même que le client ne nous contacte. Ainsi, nous sommes capable de réagir en direct à ce qui se passe sur nos applications !

Questions fréquentes

Nous avons tenté de vous présenter notre manière de travailler le plus clairement possible, mais si des questions subsistent, vous y trouverez peut-être réponse ici.

Ça dépend du temps de développement.

Nous sommes bien incapable de répondre à cette question tant que nous ne savons pas ce qui doit être développé. Mais nous pouvons déjà vous dire que nous fonctionnons avec un tarif journalier, et que nous construisons notre devis dessus.

Tous les développeurs impliqués donnent leur estimation du temps que ça leur prendrait pour réaliser les fonctionnalités. Nous confrontons nos chiffres et nous en discutons, pour soutenir nos points de vue.

Une fois le consensus atteint, nous inscrivons pour chaque fonctionnalité le nombre de jours de travail nous devrions lui allouer. Une rapide multiplication nous donne le prix d'une application.

Nous pouvons donc réaliser des développements très succincts, sur des outils déjà existants, qui coûtent quelques centaines d'euros. Mais il arrive aussi que nous fassions une application énorme, sur laquelle nous travaillons pendant plusieurs mois, et qui coûte plusieurs dizaines de milliers d'euros.

Ca dépend de votre projet !

Tout dépend du besoin.

Encore une fois, tant que nous ne savons pas ce qui doit être développé sur mesure, on ne peut pas répondre à cette question. Mais il y a d'autres paramètres qui rentrent en compte.

Est-ce qu'on démarre un projet de zéro ? Est-ce que nous avons déjà travaillé avec vous ? Est-ce qu'on connaît les technologies qu'on doit utiliser ? Est-ce qu'on recrée quelque chose à partir de rien ou est-ce qu'on réutilise du code déjà écrit ?

Il y a tout un tas de raison qui peuvent allonger ou réduire le temps de développement. Ce que nous pouvons vous dire, c'est que c'est dans notre intérêt de travailler le plus efficacement possible. Un développeur, ça tente constamment d'optimiser ce qu'il fait, et ça n'aime pas réinventer la roue !

Non seulement ça, mais nous avons aucun intérêt à ce que nos projets traînent. Si notre client est satisfait, nous pouvons déclarer son projet terminé, et passer à un autre. Et accessoirement le rajouter dans notre portfolio dont Nous sommes super fiers 😎 !

C'est très pratique, mais pas obligatoire.

Nous n’attendons jamais de nos clients qu'ils nous fournissent un descriptif complet des fonctionnalités attendues. Quand on l'a, on s'en sert, mais ça ne sera jamais un frein à notre collaboration.

En l'absence de cahier des charges, de documentation technique ou encore de charte graphique, nous avons tendance à vous poser tout un tas de question dont les réponses remplacent ces documents. Nous avons l'habitude que nos clients n'aient pas forcément une idée précise de ce qu'ils attendent.

Or, c'est notre métier de fournir des solutions numériques. Donc on sera enclin à vous faire des propositions qu'on juge ergonomiques, plus simples ou tout simplement adaptées à vos besoins.

La majorité du temps, nos collaborations commencent par des réunions où l'on discute du projet. Le client arrive avec un besoin, sans idée précise de la solution qu'il attend, et on lui propose une application qui est le point de rencontre entre nos compétences, ses moyens, et ce qu'il est techniquement possible de faire avec ces contraintes.

Non, nous nous occupons de tout.

C'est déjà arrivé que nous interagissons seulement avec le consultant technique de notre client, et ça s'est super bien passé. Mais dans la majorité des cas, nos clients interagissent directement avec nos chefs de projet, voire avec nos développeurs !

Nous utilisons un outil de gestion de projet appelé Gitlab, qui permet la sauvegarde et le versionning de notre code, mais aussi l'édition de tickets. Si c'est nécessaire, nous pouvons laisser l'accès à cet outil à nos clients, et ils peuvent notifier le chef de projet (ou directement le développeur concerné) pour lui poser une question, lui faire une remarque ou lui demander un changement sur l'application.

Cette façon de faire vient de la Méthode Agile, et s'incorpore à notre volonté d'intégrer le client dans le processus de développement. Ainsi nous gagnons beaucoup de temps en évitant des réunions inutiles et nous humanisons nos interactions. Ça nous fait du bien de vous connaître, et on pense que c'est aussi une bonne chose que vous connaissiez les humains qui se cachent derrière le code...!

Le client est propriétaire du code pour lequel il a payé.

Le code d'un développeur est considéré comme une oeuvre de l'esprit. À ce titre, il est soumis au code de la propriété intellectuelle et aux droits d'auteur. En tant que prestataire, au moment de la signature d'un contrat nous décidons de céder les droits de notre code sur mesure, au profit de notre client.

Dans cette optique, au moment de la livraison du projet, nous fournissons une copie complète du code, incluant toutes ses versions (grâce au soutien de Git), ainsi que la base de données.

Les outils et langage que nous utilisons sont pensés pour que les autres développeurs PHP/Laravel soient capables de reprendre notre travail et de le comprendre. Même si ça nous peine, vous pouvez confier le code à un autre prestataire, il vous appartient.

Vous pouvez confier notre travail à un autre prestataire.

Nous n’aimons pas évoquer ce genre d'idées... Mais dans l'hypothèse ou notre entreprise venait à disparaître, ou que vous ne désiriez plus collaborer avec nous, vous n'êtes pas bloqué.

Étant donné que le code vous appartient, et qu'il sera compréhensible par n'importe quel autre développeur, l'application nous survivra. Vous disposez du code et de son historique complet. Chaque modification, chaque intervention d'un de nos développeurs est reportée sur le répertoire Git.

Les technologies et outils que nous utilisons sont tous open-source. Tout est fait pour que notre code soit accessible et utilisable par d'autres.

Nous attachons d'ailleurs beaucoup d'importance à ce que notre travail soit lisible. Notre code est documenté, écrit intégralement en anglais, et suit les normes de développement de PHP, ainsi que les règles de syntaxe que nous nous sommes fixé en interne.

C'est aussi dans notre intérêt de garantir que le code peut être repris par un autre développeur, car nous pourrions nous même recruter de nouveaux collaborateurs qui auront besoin de comprendre notre travail.

Vos sites et bases de données sont sauvegardés chaque jour.

Notre travail consiste justement à faire en sorte que vos services soient constamment accessibles, et que vous ne perdiez pas de données. Cela fait partie de nos considérations premières : délivrabilité, sécurité et performance.

Dans cette optique, le code est sauvegardé sur le répertoire Git, une technologie open-source très largement utilisée. Ce dernier est sur un autre serveur que votre application, et il est lui-même sauvegardé en permanence à d'autres endroits.

Quant à votre application, nous la sauvegardons chaque nuit et gardons chaque sauvegarde pendant 30 jours. Cela nous permet aussi de pouvoir revenir très facilement à une ancienne version de votre application en cas de pépin.

A titre d'exemple, lors de l'incendie d'OVH en mars 2021, 100% de nos clients impactés étaient de retour en ligne en moins de 12h, là où certains de leurs concurrents ont été hors-ligne pendant plus de deux semaines !

Bien sûr !

KERNL s'est récemment doté d'un vrai pôle design, en recrutant deux développeuses mobiles.

Nous sommes maintenant à même de réaliser des applications mobiles de bout en bout, et nous ne nous sommes pas privé pour le faire :

Nous avons d'ores-et-déjà pu participer à la création de l'appli Prono Racing, une ligue fantasy basée sur les vrais résultats de la Formule 1 et du Moto GP !

Et maintenant qu'on y a goûté, on en veut encore ! Nous avons hâte de se frotter à d'autres projets mobiles. Le vôtre, peut-être ?

Les deux sont possibles.

Symfony est un framework PHP développé par SensioLabs, une entreprise française, dirigée par Fabien Potencier.

Il est utilisé par près d'un quart des développeurs PHP (selon un sondage de JetBrains réalisé en 2020), et Laravel se base sur des composants de Symfony. Historiquement, il a permis des bonds en avant dans le développement web, et il reste un excellent moyen de se former à l'utilisation d'un framework.

En revanche, si nous avons choisi de privilégier Laravel, c'est pour sa clarté et sa simplicité. Un développeur Symfony qui passe sur Laravel le dira : c'est plus simple, et plus rapide pour développer.

Et au vu de la part de développeurs PHP qui utilisent désormais Laravel (la moitié !), nous avons misé sur le bon cheval. Parce qu'un framework très utilisé, c'est l'assurance de trouver du soutien quand on en a besoin. Il est très rare qu'on ne trouve pas de réponse sur le net quand on cherche à faire quelque chose de nouveau à partir du framework.

Pour autant, nous utilisons aussi Symfony dans le développement. Étant donné que sa syntaxe est très proche de celle de Laravel, et qu'une grande partie de notre équipe s'est formée dessus, nous sommes tout à fait en capacité de reprendre un projet Symfony.

Ils nous font confiance

Nous réalisons au quotidien des projets web sur mesure pour des startups, PME, éditeurs de logiciels et grands comptes français et européens.

scrapcooking
digby
lemouvementassociatif
lepicerieduchef
daher
digby
efil
digby
digby
digby
digby

Vous souhaitez en savoir plus ?

Que ce soit pour une question, une demande de devis, une remarque ou une candidature : n'hésitez pas à nous contacter via notre formulaire de contact. Nous nous ferons un plaisir de revenir vers vous pour en discuter ensemble.

   Discutons-en !