Joliebulle, c'est aussi un p'tit livre de recettes qui vient de sortir.

Opération onboarding : fin du plan trimestriel #1

2021-04-03

On arrive fin mars, date de clôture théorique du premier plan trimestriel.

Il est temps de faire un petit point sur ce qui a été fait pendant cette période, je vais reprendre point par point

1°) Un tutoriel pour les nouveaux utilisateurs

C’est fait, et le tutoriel fait partie des pages les plus consultées du site, ce qui confirme la demande (on s’en doutait).

Le travail a été largement facilité par les changements que j’avais fait sur le site précédemment et en particulier la migration vers Next.

Ce petit travail de développement me donne aussi une base pour publier d’autres tutoriels plus ciblés, ce qui reste en projet.

2°) Une version unique à télécharger

La version 4.8.0 de Joliebulle vient d'être publiée, et inaugure une nouveauté : une version unique à télécharger, 14 jours d’essai puis une licence pour débloquer l’usage illimité.

Pour mémoire, jusque là on avait une version de démo bridée (pas d’enregistrement des modifications) en téléchargement libre + une version complète disponible après l’achat.

Ce n’était pas très pratique pour les utilisateurs qui devaient re-télécharger le logiciel pour passer de l’un à l’autre, et ça m’obligeait à faire un double de travail de compilation/packaging du logiciel. Ce qui était déjà un peu pénible, et qui va le devenir un peu plus avec la signature de code, je vous en parle longuement plus bas.

Maintenant le téléchargement du logiciel se fait directement et librement depuis le site, et à l’achat l’utilisateur obtient un code de déverrouillage qui permet de continuer à utiliser Joliebulle.

Simple et efficace.

3°) Signature de code

La signature de code, c’est un peu comme le s dans https sur le web : un certificat et un jeu de clés privées/publiques permettent de garantir l’authenticité d’un logiciel.

C’est une procédure qui est en train de devenir incontournable pour diffuser son logiciel, car les principaux OS bloquent de plus en plus les logiciels non signés.

Sur le principe c’est plutôt une bonne idée.

En pratique il y a des petits relents siciliens, l’idée étant de se “mettre en règle” et de payer une protection de moins en moins facultative.

Linux échappe pour le moment à cette problématique.

Voici donc un point de ce qui a été fait pour MacOS et Windows.

MacOS

La signature de code nécessite de rejoindre le programme développeur d’Apple (99€/an). La démarche est simple, le compte est validé après un simple appel téléphonique (courtois et détendu, et somme toute plutôt agréable) de confirmation en provenance d’Apple Irlande.

C’est le seul coût dans cette opération, par la suite la création de certificats se fait très simplement.

Depuis quelques années, la signature de code ne suffit plus : un logiciel simplement signé sera toujours bloqué par le Gatekeeper et ne pourra pas s’installer. Pour passer l’épreuve, le logiciel doit maintenant être notarisé : l’installeur est uploadé vers les serveurs d’Apple, le comportement du logiciel est vérifié, puis le service émet un ticket associé au logiciel qui lui permettra de passer les contrôles plus tard.

L’ensemble de la procédure est automatisable.

Je vous la fais courte : Joliebulle pour Mac est maintenant signé, et notarisé.

Sur le principe, il est assez agaçant de devoir passer par cette procédure pour diffuser simplement un logiciel, et on imagine bien les dérives possibles du “service”. Mais le coût reste mesuré pour un développeur indépendant, et on peut imaginer que le dispositif a un bénéfice réel en terme de sécurité pour l’utilisateur de MacOS.

En tout cas, les règles et la documentation sont claires, et Apple propose un service cohérent.

On va voir que c’est un peu différent chez Microsoft.

Windows

Sous Windows, le gardien est le fameux SmartScreen :

le smartscreen de windows

Le machin est censé être “intelligent” comme son nom l’indique : il se base sur un système de réputation dynamique (plutôt que des listes noires ou listes de blanches de logiciels) pour autoriser ou non l’exécution des logiciels.

En pratique, le SmartScreen bloque tout (vous la voyez venir, l’intelligence profonde du truc ?) jusqu’à ce que le logiciel se soit construit une réputation.

Et comment le logiciel peut-il se construire une réputation ? En étant téléchargé et exécuté sans être signalé comme malware.

Evidemment, c’est le serpent qui se mort la queue: pour être validé par le SmartScreen, le logiciel doit être exécuté, mais pour être exécuté le logiciel doit être validé.

On peut tourner en rond longtemps.

C’est le deuxième problème : personne ne sait au bout de combien de temps/combien de téléchargements/combien d’exécutions le logiciel devient suffisamment connu pour ne plus déclencher une alerte.

Là où Apple a fait le choix d’une procédure stricte et bien balisée, Windows laisse planer un certain flou.

On peut supposer que c’est pour éviter les détournements et contournements des règles par des éditeurs malveillants ce qui, je ne pense pas me tromper, n’a jamais fonctionné dans l’histoire de l’informatique.

Quoi qu’il en soit, il semblerait qu’un moyen de construire de la réputation soit de signer le code.

Ce qui implique d’acheter un certificat.

Il en existe 2 types : les certificats Extended Validation (EV), et les certificats Organization Validation (OV).

Seule la procédure EV permet de passer le SmartScreen sans alerte et sans période de probation, sans garantie de résultat toutefois. Ces certificats ont plusieurs inconvénients:

  • ils sont chers
  • la procédure de vérification avant la délivrance du certificat est longue et pénible : une partie des pièces justificatives de l’existence de l’entreprise doit passer chez un notaire ou un avocat pour être authentifiée.
  • ils sont transmis sur des supports physiques

La délivrance des certificats OV est un peu plus souple, moins coûteuse, plus rapide, mais on a encore moins de garantie que ça fonctionne.

J’ai fait le choix d’un certificat type OV, histoire de prendre de la température dans un premier temps, et de tester le sérieux des fournisseurs.

Concrètement je suis passé par Sectigo, 8 jours plus tard et pour 195€/an, j’avais le certificat. Je vous passe les démarches administratives réalisées dans l’intervalle de temps pour pouvoir conclure la procédure.

Maintenant, on va voir combien de temps il faudra pour que Joliebulle passe sans problème le SmartScreen… sans certitude d’y arriver un jour.

4°) Nouvelle plateforme de vente

Depuis que Joliebulle est commercialisé, j’ai fait plusieurs essais de plateformes tierces pour déléguer complètement la vente, et j’ai aussi fait l’essai de solutions techniques plus personnalisées.

Dernièrement nous utilisions Gumroad, qui s’occupait de tout, depuis l’hébergement jusqu’à la facturation en passant par la collecte de la TVA.

Bien pratique, mais peu efficient.

Il était temps de revoir ça.

Je reviens à une solution plus personnelle, avec Quaderno pour la facturation, une connexion du formulaire de paiement à Stripe et (bientôt) Paypal, un service de mail transactionnel pour l’envoi des numéros de licence.

Le bilan

Le plan trimestriel est bouclé.

Le point noir reste la signature de code sous Windows, à ce stade j’ai le sentiment d’avoir fait ce que je pouvais pour améliorer la situation, je vais continuer d’essayer à optimiser les choses, mais comme Joliebulle reste un logiciel de niche, il est probable que nous n’obtenions jamais la validation du SmartScreen.

Pour le reste, l’objectif qui était de mieux accueillir les nouveaux utilisateur est rempli. Pour le moment. Il faudra y revenir plus tard, après avoir évalué ce qui fonctionne et ce qui ne fonctionne pas.

Je pense que cette approche par trimestre est vraiment intéressante, elle m’a permis de me concentrer et de gagner du temps, et d’obtenir des résultats sur des points qui trainaient depuis des mois/années.

La seule réserve, c’est qu’il me semble contre-productif à plus long terme de rester focalisé sur des objectifs extrêmement bien définis. Il faut également du temps pour apprendre, pour bidouiller, pour explorer des chemins de traverse, ces expériences aussi nourrissent le projet.

L’équilibre n’est pas très difficile à trouver, il faut juste rester réaliste sur le contenu du plan trimestriel pour le que le reste du projet continue de respirer.

Je vous laisse là pour aujourd’hui, et j’attaque la rédaction du plan trimestriel #2.