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, 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 vie 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, on va discuter assez longuement afin de définir le besoin exact, et on établit la liste la plus exhaustive possible des fonctionnalités de l'application. Vous nous présentez votre métier, et nous on vous questionne dessus pour en obtenir une compréhension globale. Une fois qu'on a une bonne idée de ce que vous voulez, on vous propose une solution sous la forme d'un devis.

Cahier des charges

Maquette

Ensemble on va 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, on démarre le développement et on vous propose des affichages qu'on pense être les plus ergonomiques pour vous, et on prend en compte vos recommandations.

Maquette web

Développement

On a choisi les technologies, on sait ce qu'on veut et ce dont on a besoin ? Alors on se lance ! On crée les environnements et on démarre le développement. 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... On a l'habitude. Une fois qu'on est bien avancé, on vous crée un environnement de test avec tout ce qu'on a déjà pu réaliser dessus pour que vous commenciez à nous donner un premier avis.

Développement web

Test

L'environnement de test est en ligne. On a mis des premières données dessus pour que ce soit concret. L'important c'est de tester les fonctionnalités qu'on a crée pour vous, et de nous faire un retour. Dans cette étape, on vous laisse 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, on 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 on met en ligne la version 1.0 de votre site, et on y incorpore les potentielles données dont vous pourriez avoir besoin. Vous pouvez vous mettre à l'utiliser quotidiennement, mais on ne devient 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 qu'on corrigera toujours gratuitement les bugs qu'on pourrait repérer pendant cette période.

Mise en production

La méthode Agile

On ne jure 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èment, la méthode Agile intègre le client dans le processus de création. Étant donné que sa satisfaction est notre priorité, on fait 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, on peut se permettre de lui montrer nos changements en quelques minutes, et on lui épargne des réunions à rallonge pendant lesquelles on lui présenterait 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 on est capable de réagir en direct à ce qui se passe sur nos applications !

Questions fréquentes

On a 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.

On est bien incapable de répondre à cette question tant qu'on ne sait pas ce qu'on doit développer. Mais on peut déjà vous dire qu'on fonctionne avec un tarif journalier, et qu'on construit notre devis dessus.

Tous les développeurs impliqués donnent leur estimation du temps que ça leur prendrait pour réaliser les fonctionnalités. On confronte nos chiffres et on en discute, pour soutenir nos points de vue.

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

On peut 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 qu'on fasse une application énorme, sur laquelle on travaille 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 qu'on ne sait pas ce qu'on doit réaliser, 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 qu'on a 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 qu'on peut 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 on a aucun intérêt à ce que nos projets traînent. Si notre client est satisfait, on peut déclarer son projet terminé, et passer à un autre. Et accessoirement le rajouter dans notre portfolio dont on est super fier 😎 !

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

On n'attends 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, on va avoir tendance à vous poser tout un tas de question dont les réponses remplacent ces documents. On a 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, on s'occupe de tout.

C'est déjà arrivé qu'on interagisse 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 !

On utilise 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, on peut 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 on gagne beaucoup de temps en s'évitant des réunions inutiles et on humanise 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 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, 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.

On aime 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.

On attache 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 on pourrait nous même recruter de nouveaux collaborateurs qui auront besoin de comprendre notre travail.

Vos sites et bases de données sont sauvegardées 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éliverabilité, 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 on ne s'est pas privé pour le faire :

On a 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 ! On a 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é !), on a 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, on utilise aussi Symfony. É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 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. On se fera un plaisir de revenir vers vous pour en discuter ensemble.

   Discutons-en !