Comme je l’avais annoncé, cet article, qui fait référence au lancement de la bêta, va plus traiter de la genèse de Ma Petite Auto Entreprise et de l’aspect technique.
Naissance de l’application
Dès que j’ai commencé mon activité d’auto-entrepreneur, en avril 2010, j’ai voulu géré rigoureusement mon activité. J’ai commencé avec une feuille de calcul sous Open Office et des modèles de document éditables pour les contrats. Les informations qui m’importaient étaient mon chiffre d’affaire, les charges à provisionner, les factures à éditer ou en attente de paiement, le reste à faire avant d’atteindre le plafond, etc … cela a bien marché quelques temps, mais j’ai vite été limité par la simplicité du système. En tant qu’informaticien, c’était aussi simple pour moi de réaliser rapidement un prototype d’application web en Django pour faire la même chose et surtout faire bien plus.
La première raison est donc le besoin personnel, mais j’ai essayé de garder en tête que l’application pourrait servir à d’autres. Au fil des semaines, en parallèle de mes missions d’expertise technique, j’ai continué à faire évoluer le logiciel avec comme objectif de le publier. La deuxième raison qui m’a poussé à continuer est que cette application est, je l’espère, une belle démonstration de mes compétences (et une promotion pour python et Django, malheureusement bien trop rare en entreprise). En effet, on me demande souvent de montrer des références, et ayant principalement travaillé sur des intranets, c’est un peu compliqué … Finalement, la dernière raison est évidemment l’espoir d’en tirer un bénéfice financier et ainsi pouvoir concentrer une majeure partie de mon temps à l’édition de ce logiciel.
Aspect technique
Ma Petite Auto Entreprise est en fait le nom du site qui héberge l’application. L’application en elle-même se nomme « aemanager ». Elle est libre et placée sous licence GPLv3. Les sources sont disponibles sur Github.
Aemanager est développé à l’aide de Django, framework web écrit en python vraiment très pratique et jQuery, framework javascript. Les données sont stockées dans une base PostgreSQL. Les sources sont hébergées à l’aide de Git, gestionnaire de version décentralisé (DVCS) initié par Linus Torvald. A l’heure où j’écris cet article il y a plus de 150 tests unitaires pour s’assurer du bon fonctionnement de l’application et elle a été testée sous Chrome, Firefox et IE. Les évolutions effectuées tout au long du développement nécessitent parfois de casser le modèle de données, c’est pourquoi des migrations sont réalisées à l’aide de South, une extension Django dédiée à cela. Voila pour les grandes lignes.
Je peux également ajouter que pour la génération PDF j’utilise Reportlab, pour les graphiques un plugin jQuery : Flot, Elrte pour l’éditeur wysiwyg des devis et contrats et django-registration pour la création de compte utilisateur.
Même si l’application est a priori spécifique à la France, elle est internationalisée car j’ai pris l’habitude de toujours coder en anglais. Concernant les paiements, aemanager est interfacé avec Paypal. Et pour conclure, le tout est hébergé sur un serveur virtualisé en SSL (avec un certificat valide !).
Le tout a déjà représenté quelques semaines de boulot à plein temps et probablement beaucoup d’autres à venir
Linus Torvalds, pas Linux
Oups, merci =) mes doigts ont fourché