<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>Le blog de Monica — notes de version et choix de conception</title>
        <link>https://www.monicahq.com/fr/blog/</link>
        <description>Ce que nous livrons, pourquoi nous le construisons ainsi, et à quoi ressemble vraiment une petite entreprise open source. Écrit par les personnes qui font Monica.</description>
        <language>fr</language>
        <atom:link href="https://www.monicahq.com/fr/blog/feed.xml" rel="self" type="application/rss+xml"/>
        <lastBuildDate>Wed, 02 Sep 2026 00:00:00 +0000</lastBuildDate>
        <item>
            <title>Building Monica : modéliser les relations entre les personnes</title>
            <link>https://www.monicahq.com/fr/blog/modeling-relationships/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/modeling-relationships/</guid>
            <pubDate>Wed, 02 Sep 2026 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Décider ce qu&#039;est réellement une relation s&#039;est révélé être l&#039;un des problèmes les plus difficiles de la reconstruction de Monica.</description>
            <content:encoded><![CDATA[<p>Quand nous avons commencé à reconstruire Monica, je savais que les relations feraient partie des sujets qu'il nous faudrait repenser. Ce que je n'avais pas prévu, c'est à quel point il serait difficile ne serait-ce que de définir ce qu'est une relation.</p>

<p>Un CRM personnel doit savoir comment les gens sont liés entre eux. Quelqu'un est votre mère, votre frère, votre ami, votre collègue ou votre conjoint. Monica gère cela depuis des années, et du point de vue de l'utilisateur, c'est une fonctionnalité assez simple : vous sélectionnez une personne, vous choisissez une relation, et c'est terminé.</p>

<p>Malheureusement, concevoir ce qui se passe derrière ce petit menu déroulant n'est pas simple du tout.</p>

<h2>Même les relations simples ne le sont pas tant que ça</h2>

<p>Disons que Monica est la sœur de Ross. Du point de vue de Monica, Ross est son frère. Les deux phrases décrivent la même relation, mais les mots que nous employons dépendent de la personne que nous regardons.</p>

<p>La même chose se produit partout dans une famille. Rachel est la mère d'Emma, tandis qu'Emma est la fille de Rachel. La tante de quelqu'un a une nièce ou un neveu. Une grand-mère a une petite-fille ou un petit-fils.</p>

<p>D'autres relations ne fonctionnent pas comme ça. Chandler et Joey sont amis. Le mot est le même quel que soit le côté que l'on regarde. Les cousins et les collègues peuvent fonctionner de la même façon.</p>

<p>Nous avons donc déjà des comportements différents. Parfois une relation change de nom selon le côté que l'on regarde, parfois non, et parfois le mot que nous employons dépend du genre de l'une des deux personnes.</p>

<p>Et c'est la partie facile.</p>

<h2>Les familles sont compliquées</h2>

<p>Imaginez deux personnes qui se marient et ont deux enfants. Elles divorcent. L'une d'elles se remarie avec quelqu'un qui a déjà des enfants d'une autre relation, et peut-être qu'elles ont ensemble un enfant de plus.</p>

<p>Ce n'est pas une famille particulièrement inhabituelle, mais nous avons désormais des parents, des enfants, des frères et sœurs, des demi-frères et demi-sœurs, des beaux-enfants, des beaux-parents, des conjoints et des ex-conjoints.</p>

<p>Cela soulève aussi des questions auxquelles je ne crois pas qu'il existe toujours une réponse universelle. Si vous divorcez, votre belle-mère cesse-t-elle d'être votre belle-mère ? Techniquement, peut-être. Mais si vous la connaissez depuis vingt ans et que vous la considérez toujours comme faisant partie de votre famille ? Elle ne cesse certainement pas d'être la grand-mère de vos enfants simplement parce que votre mariage est terminé.</p>

<p>Il y a ensuite les parents biologiques, les parents adoptifs, les familles d'accueil et les tuteurs. Quelqu'un peut avoir plusieurs personnes qu'il considère comme ses parents, et ces relations ne signifient pas nécessairement la même chose. Il y a les membres de la famille dont on s'est éloigné, les gens qui considèrent quelqu'un comme un frère ou une sœur sans aucun lien biologique, les anciens partenaires qui restent très proches, et les parents qui élèvent des enfants ensemble sans plus former un couple.</p>

<p>Le bel arbre généalogique que nous avons tendance à imaginer en réfléchissant à ce problème ne survit pas au contact de beaucoup de familles réelles.</p>

<p>Et même quand la structure familiale est simple, les relations changent. La personne qui est votre conjoint aujourd'hui sera peut-être votre ex dans cinq ans. Cela ne veut pas dire que l'ancienne relation devrait simplement disparaître. Le fait que deux personnes ont été mariées pendant quinze ans reste une partie de leur histoire, même si elles ne le sont plus.</p>

<p>Les relations ont un passé, ce qui rend également problématique le fait de ne représenter que leur état actuel.</p>

<h2>Deux personnes ne sont pas forcément d'accord sur leur relation</h2>

<p>Les relations familiales nous donnent au moins quelques faits sur lesquels travailler. L'amitié est encore moins précise.</p>

<p>Si Monica considère Rachel comme une amie proche, est-ce que Rachel considère nécessairement Monica comme une amie proche ? Nous n'en avons aucune idée.</p>

<p>Le même problème existe avec les mentors, les connaissances et bien d'autres relations. Quelqu'un peut considérer une personne comme son mentor même si cette personne n'emploierait jamais ce mot elle-même. Quelqu'un peut considérer un vieil ami comme pratiquement de la famille alors que l'autre y voit une personne qu'il a connue il y a des années.</p>

<p>Cela compte beaucoup dans Monica, parce que l'information n'a pas pour but de décrire un graphe social objectif. Ce sont vos informations sur les gens de votre vie.</p>

<p>Quand vous écrivez que quelqu'un est votre ami, vous décrivez la relation telle que vous la comprenez. Monica n'a pas la version de l'autre personne, et dans bien des cas il n'existe probablement pas de réponse unique et correcte.</p>

<p>Cela devient particulièrement étrange quand un logiciel essaie de transformer les relations en quelque chose de mesurable. Est-ce que quelqu'un est un meilleur ami parce que vous le voyez chaque semaine ? Est-ce qu'un ami que vous n'avez pas vu depuis cinq ans compte moins qu'un collègue avec qui vous parlez tous les jours ? Évidemment, la fréquence nous dit quelque chose sur une relation, mais elle ne nous dit pas ce que cette relation signifie pour quelqu'un.</p>

<h2>Le temps ne rentre pas bien dans les cases non plus</h2>

<p>Un collègue peut devenir un ami. Un ami peut devenir un conjoint. Un conjoint peut devenir un ex, et des années plus tard la même personne peut redevenir un ami.</p>

<p>Si Monica enregistre que deux personnes sont mariées et qu'elles divorcent ensuite, qu'est-ce qui devrait arriver au mariage ? Le supprimer rendrait l'information actuelle correcte, mais effacerait aussi quelque chose d'assez important de leur histoire.</p>

<p>Nous pourrions conserver des dates, sauf que les gens ne les connaissent souvent pas. Je peux savoir que deux amis ont été ensemble sans avoir la moindre idée de quand ils ont commencé à se fréquenter ni de quand exactement ils se sont séparés. Exiger des dates précises rendrait le modèle plus propre tout en rendant le produit bien plus agaçant à utiliser.</p>

<p>Rien ne garantit non plus que les relations passent proprement d'un état à un autre. Les gens ne se réveillent pas nécessairement un matin en passant de « ami » à « conjoint ». Certaines relations ont un début clair, comme un mariage. Beaucoup d'autres non.</p>

<p>La base de données aimerait beaucoup que nous sachions quand tout a commencé et quand tout s'est terminé. La plupart du temps, nous ne le savons pas.</p>

<h2>L'anglais n'est pas le modèle du monde entier</h2>

<p>Autre problème : la plupart des premiers exemples qui viennent à l'esprit sont fondés sur l'anglais.</p>

<p>L'anglais utilise « cousin » pour un grand nombre de relations familiales, alors que d'autres langues peuvent être beaucoup plus précises. Le mandarin, par exemple, a des mots différents pour les cousins selon le côté de la famille d'où ils viennent, leur genre et parfois leur âge. Le suédois distingue les quatre grands-parents : <em>mormor</em> est la mère de votre mère, <em>morfar</em> le père de votre mère, <em>farmor</em> la mère de votre père et <em>farfar</em> le père de votre père. L'anglais nous donne simplement « grandmother » et « grandfather ».</p>

<p>Le coréen fournit un autre exemple. Même quelque chose d'aussi simple que « grand frère » change selon qui parle. Un homme appelle son grand frère <em>hyeong</em>, une femme l'appelle <em>oppa</em>. Le vocabulaire des relations contient une information qui n'est pas présente dans le mot anglais « brother ».</p>

<p>Cela compte pour Monica, parce que Monica est traduite dans de nombreuses langues et utilisée dans le monde entier. Nous ne pouvons pas concevoir tout le système de relations en partant du principe que l'anglais contient la liste canonique des relations et que toutes les autres langues n'ont qu'à traduire ces mots.</p>

<p>C'est un problème que nous avons déjà rencontré dans Monica, et la reconstruction ne le fait pas disparaître par magie.</p>

<h2>La famille n'est même pas le plus dur</h2>

<p>Au moins, les relations familiales ont généralement un nom. Le reste de nos relations est beaucoup moins structuré.</p>

<p>« Ami » peut décrire quelqu'un que vous connaissez depuis trente ans et à qui vous parlez chaque semaine, mais aussi quelqu'un que vous voyez deux fois par an et à qui vous tenez énormément. Un collègue peut être la personne assise à côté de vous tous les jours, ou quelqu'un avec qui vous avez travaillé il y a quinze ans.</p>

<p>Et les gens n'entrent pas dans une seule catégorie à la fois. Quelqu'un peut être votre collègue, votre ami et votre ancien colocataire. Votre associé peut aussi être votre frère. Votre voisin peut être le parent de la meilleure amie de votre fille.</p>

<p>Parfois, c'est le contexte lui-même qui compte. Vous connaissez quelqu'un parce que vous êtes allés à l'école ensemble, avez joué dans la même équipe, habité le même immeuble ou travaillé sur le même projet. « Ami » est peut-être techniquement correct, mais on perd l'information qui explique pourquoi cette personne fait partie de votre vie.</p>

<p>C'est là qu'une question simple comme « comment connaissez-vous cette personne ? » devient étonnamment difficile à traiter avec un seul champ.</p>

<h2>Une relation peut en impliquer beaucoup d'autres</h2>

<p>Supposons que Ross soit le frère de Monica et que Ross ait un fils qui s'appelle Ben. Nous comprenons immédiatement que Monica est la tante de Ben.</p>

<p>Un logiciel peut arriver à la même conclusion. Et une fois qu'il commence à le faire, il peut continuer.</p>

<p>Des parents impliquent des enfants. Des enfants qui ont les mêmes parents sont peut-être frères et sœurs. Des frères et sœurs qui ont des enfants créent des tantes, des oncles, des nièces et des neveux. Ajoutez une génération et vous avez des grands-parents et des petits-enfants. Très vite, un petit nombre de relations peut produire un graphe familial bien plus grand.</p>

<p>Mais le fait qu'un logiciel <em>puisse</em> déduire quelque chose ne veut pas dire qu'il devrait le faire.</p>

<p>Le nouveau conjoint d'un parent n'est pas automatiquement un parent de l'enfant. Deux personnes qui partagent un parent sont peut-être techniquement demi-frères ou demi-sœurs, mais elles ne se connaissent peut-être pas. Les informations dont Monica dispose peuvent aussi être tout simplement incomplètes. Et même si la relation familiale est techniquement correcte, ce n'est peut-être pas celle que les personnes concernées emploieraient pour se décrire.</p>

<p>Chaque fois que le logiciel déduit une relation de plus, il se donne aussi une occasion de plus de se tromper.</p>

<h2>Il y a plus de questions que de réponses</h2>

<p>Plus nous travaillons sur ce sujet, plus nous trouvons de cas particuliers.</p>

<p>Monica devrait-elle se souvenir de l'histoire d'une relation ou seulement de son état actuel ? Deux personnes peuvent-elles avoir plusieurs relations en même temps ? « Meilleur ami » est-il une relation différente de « ami », ou bien autre chose ? Que se passe-t-il quand nous connaissons la mère de quelqu'un mais que cette mère n'est pas un contact dans Monica ? Comment décrire des relations qui comptent pour nous mais qui n'ont pas de nom pratique ?</p>

<p>Certaines de ces questions sont des problèmes de base de données. La plupart ne le sont pas.</p>

<p>Le plus difficile est de décider ce que nous voulons dire quand nous disons que deux personnes ont une relation, parce que les humains n'emploient pas ce mot avec quoi que ce soit d'approchant la précision qu'une base de données préférerait.</p>

<p>Depuis l'interface, tout cela finira peut-être par se résumer à quelques mots sur le profil de quelqu'un : mère, frère, ami, collègue.</p>

<p>Réussir ces quelques mots est l'un des problèmes les plus difficiles auxquels nous faisons face en reconstruisant Monica.</p>
]]></content:encoded>
        </item>
        <item>
            <title>Building Monica : nous avons construit le navigateur de base de données que nous voulions pour Laravel</title>
            <link>https://www.monicahq.com/fr/blog/laradb/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/laradb/</guid>
            <pubDate>Mon, 31 Aug 2026 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>En reconstruisant Monica, nous avons créé un petit navigateur de base de données en lecture seule pour Laravel, et nous avons décidé de le publier comme paquet indépendant.</description>
            <content:encoded><![CDATA[<p>Ceci est un nouvel article de la série <strong>Building Monica</strong>, dans laquelle j'écris sur la reconstruction complète de Monica. La plupart des articles de cette série porteront probablement sur le produit lui-même : les relations, les rappels, la personnalisation, les activités, la vie privée, et toutes les questions qui accompagnent la tentative de représenter la vie des gens dans un logiciel. Mais reconstruire une grande application produit aussi de plus petites choses en chemin. <a href="https://github.com/monicahq/laradb">LaraDB</a> en fait partie.</p>

<p>Pendant que je travaillais sur Monica v3, je me suis rendu compte que je passais beaucoup de temps à regarder directement la base de données. Ce n'est pas particulièrement inhabituel quand on construit une application Laravel. On crée un contact et on vérifie ce qui a été écrit. On crée une relation et on inspecte les lignes concernées. On modifie un rappel et on vérifie les dates. On lance une action, on rafraîchit les données, on suit une clé étrangère, et on recommence de nombreuses fois dans la journée.</p>

<p>Il existe déjà beaucoup de bonnes façons de faire cela. Tinker est utile, mais pas simple ni rapide à utiliser. Des applications comme TablePlus, DBeaver, phpMyAdmin ou Adminer peuvent être très utiles, mais pas pour une consultation rapide. J'utilise <a href="https://tableplus.com/">TablePlus</a> régulièrement, surtout quand j'ai besoin d'écrire des requêtes, de modifier des données ou d'inspecter le schéma en détail. Mais la plupart du temps, en développant Monica, je n'avais pas besoin d'un outil de gestion de base de données. Je voulais seulement un moyen rapide de voir ce qu'il y avait dans la base, sans quitter l'application sur laquelle je travaillais déjà.</p>

<p>C'était l'idée de départ de LaraDB. Installer une dépendance de développement, aller sur <code>/db</code>, et voir la base de données.</p>

<pre><code class="language-bash">composer require --dev monicahq/laradb
</code></pre>

<p>Ce que vous obtenez est très simple. Les tables s'affichent à gauche, les lignes à droite, et la page tourne à l'intérieur de l'application Laravel elle-même. LaraDB prend en charge SQLite, MySQL et MariaDB, ainsi que PostgreSQL.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2026-08-31-laradb.webp" alt="LaraDb affichant la table value_list_items : la liste des 41 tables à gauche, leurs lignes à droite, et les colonnes de clés étrangères rendues sous forme de liens que l'on peut suivre." width="2954" height="1498" loading="lazy" decoding="async"></p>

<h2>Un navigateur plutôt qu'un gestionnaire de base de données</h2>

<p>La décision la plus importante que nous avons prise a été de garder LaraDB en lecture seule. Il n'y a pas de bouton de modification, pas de bouton de suppression, pas de formulaire d'insertion ni de console SQL. Les deux routes exposées par le paquet sont des routes GET, et le paquet n'émet que des instructions <code>SELECT</code>.</p>

<p>C'est en partie une décision de sécurité, mais c'est surtout une question de périmètre. Il existe déjà des outils matures pour gérer des bases de données, et reproduire une partie de leurs fonctionnalités à l'intérieur de Laravel ne rendrait pas LaraDB plus utile pour le problème que nous essayions de résoudre.</p>

<p>Le paquet évite également d'accepter des identifiants ou des requêtes arbitraires venant du navigateur. Une table demandée doit d'abord exister dans le schéma découvert par le pilote. Les identifiants sont échappés selon le moteur de base de données. Les valeurs utilisées pour suivre les clés étrangères sont passées en paramètres liés. Il n'y a pas d'interface pour soumettre du SQL arbitraire, parce que le SQL arbitraire ne fait pas partie de la raison d'être du paquet.</p>

<p>Un petit outil peut rester compréhensible s'il a une mission très précise. LaraDB est censé répondre à la question de ce qui se trouve actuellement dans la base de données et de la manière dont ces lignes sont liées entre elles. Il n'est pas censé devenir un remplaçant d'un vrai client de base de données.</p>

<h2>Ce dont nous avons fini par avoir besoin</h2>

<p>L'interface reflète ce périmètre étroit. LaraDB liste les tables du schéma courant et affiche leurs lignes dans un tableau dense. Les types de colonnes sont indiqués, les clés primaires et étrangères sont identifiées, les valeurs <code>NULL</code> se distinguent visuellement des chaînes vides, et les valeurs longues sont tronquées pour que les grandes colonnes de texte ou de JSON ne rendent pas la page inutilisable.</p>

<p>Les clés étrangères se sont révélées être l'une des fonctionnalités les plus utiles pour Monica. Si une colonne référence une autre table, sa valeur peut être suivie directement. Un clic ouvre la table référencée, filtrée sur la ligne correspondante. C'est particulièrement utile dans Monica v3, parce qu'un nombre croissant de domaines y sont représentés par des relations explicites entre plusieurs tables plutôt que par de gros enregistrements autonomes.</p>

<p>La page expose aussi un peu de contexte sur la base de données et la requête en cours. Selon ce que le moteur de base de données met à disposition, LaraDB peut afficher le moteur et sa version, le nom de la base, sa taille, le nombre d'index et d'autres métadonnées propres au moteur. Pour la page en cours, il montre également l'instruction SQL qui a produit le résultat et le temps qu'a pris la requête.</p>

<p>Il existe aussi une représentation JSON d'une table. C'était peu coûteux à ajouter une fois la couche base de données séparée du rendu HTML, et cela s'est avéré utile pour inspecter des données en dehors de la page elle-même.</p>

<p>Le frontend est volontairement autonome. Le paquet embarque son propre CSS et son propre JavaScript, et ne dépend pas de la chaîne d'assets de l'application hôte. Installer LaraDB ne devrait pas obliger à ajouter une configuration Tailwind, une dépendance Alpine ou une étape de build supplémentaire à un projet existant.</p>

<h2>L'abstraction de la base de données est devenue le vrai travail</h2>

<p>Afficher des lignes dans un navigateur est simple. Prendre en charge SQLite, MySQL et PostgreSQL de manière cohérente, c'est là que la plus grande partie du travail intéressant a fini par se trouver.</p>

<p>Les moteurs diffèrent nettement dans la façon dont ils exposent le schéma et les métadonnées de la base. Lister les tables, décrire les colonnes, trouver les clés primaires, résoudre les clés étrangères, compter les lignes et récupérer les informations au niveau de la base demandent des requêtes différentes selon le moteur. Même des détails comme l'échappement des identifiants doivent être traités correctement plutôt que comme une opération SQL générique.</p>

<p>LaraDB masque ces différences derrière une petite interface de pilote. La couche Laravel demande des tables, des colonnes, des lignes et des métadonnées sans avoir besoin de savoir si la connexion sous-jacente est SQLite, MySQL ou PostgreSQL.</p>

<p>Une partie simplifiée du contrat ressemble à ceci :</p>

<pre><code class="language-php">public function listTables(): array;

public function getColumns(string $table): array;

public function getRowCount(
    string $table,
    ?RowFilter $filter = null,
): int;

public function getRows(
    string $table,
    int $page,
    int $perPage,
    ?RowFilter $filter = null,
): TablePage;

public function getForeignKeys(string $table): array;
</code></pre>

<p>Chaque pilote de base de données implémente ces opérations différemment, tandis que le reste de LaraDB travaille avec les objets de résultat communs renvoyés par l'interface.</p>

<p>Une conséquence intéressante de cette conception est que le cœur du code de lecture de la base ne dépend pas du tout de Laravel. Il travaille directement avec PDO. Laravel s'occupe de la découverte du paquet, de la configuration, du routage et du rendu, mais l'inspection de la base peut être utilisée séparément.</p>

<pre><code class="language-php">use LaraDb\DriverFactory;

$pdo = new PDO('sqlite:database.sqlite');
$driver = DriverFactory::fromPdo($pdo);

foreach ($driver-&gt;listTables() as $table) {
    echo $table-&gt;name;
}
</code></pre>

<h2>Lecture seule ne veut pas dire inoffensif</h2>

<p>Le fait que le paquet soit en lecture seule l'empêche de corrompre la base de données, mais cela ne rend pas anodin le fait d'exposer cette base. Un navigateur de base de données peut révéler chaque ligne de chaque table à toute personne capable de l'atteindre, ce qui est évidemment une préoccupation sérieuse pour une application comme Monica.</p>

<p>Pour cette raison, LaraDB est conçu pour être installé comme dépendance de développement.</p>

<pre><code class="language-bash">composer require --dev monicahq/laradb
</code></pre>

<p>Un déploiement de production normal, fait avec <code>composer install --no-dev</code>, ne contiendra pas le paquet. LaraDB est aussi désactivé par défaut en dehors de l'environnement <code>local</code>, et ses routes utilisent par défaut les middlewares <code>web</code> et <code>auth</code> lorsqu'elles sont activées.</p>

<h2>Les petites choses qui sortent d'une grande reconstruction</h2>

<p>Quand j'ai commencé la série Building Monica, je m'attendais à ce que l'essentiel des textes porte sur les grandes décisions d'architecture et de produit derrière Monica v3. Cela restera le cas. Mais je veux aussi documenter certains des outils et des idées plus modestes qui sortent de cette reconstruction, parce qu'ils font partie du travail eux aussi.</p>

<p>LaraDB n'est pas une pièce majeure de Monica v3, et il ne cherche pas à devenir un produit important en soi. C'est simplement un petit outil de développement qui a supprimé une gêne récurrente pour nous. Le paquet est utile précisément parce que son périmètre est limité, et j'aimerais qu'il le reste.</p>

<p>Si vous travaillez sur des applications Laravel et que vous ouvrez souvent un client de base de données uniquement pour inspecter ce que votre code vient d'écrire, LaraDB pourrait vous être utile également.</p>

<pre><code class="language-bash">composer require --dev monicahq/laradb
</code></pre>

<p>Puis allez sur <code>/db</code>.</p>

<p>Le code source est disponible sur <a href="https://github.com/monicahq/laradb">github.com/monicahq/laradb</a>.</p>
]]></content:encoded>
        </item>
        <item>
            <title>Nous reconstruisons Monica</title>
            <link>https://www.monicahq.com/fr/blog/we-are-rebuilding-monica/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/we-are-rebuilding-monica/</guid>
            <pubDate>Sun, 30 Aug 2026 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Nous reconstruisons Monica de zéro, et cette nouvelle série va documenter comment.</description>
            <content:encoded><![CDATA[<p>Ceci est le premier article d'une série intitulée <strong>Building Monica</strong>. Je veux me servir de cette série pour documenter la reconstruction complète de Monica, le CRM personnel open source. Je parlerai des problèmes que nous essayons de résoudre, des décisions que nous prenons en chemin, et probablement de certaines choses qui ne se passent pas comme prévu.</p>

<p>Il y a presque dix ans, j'ai commencé à construire Monica parce que j'étais incapable de me souvenir de quoi que ce soit à propos des gens. J'oubliais le prénom de l'enfant de quelqu'un, ce dont nous avions parlé la dernière fois que nous nous étions vus, ou une chose importante que l'on m'avait confiée quelques mois plus tôt. Je voulais un endroit où noter tout cela, surtout pour compenser ma mauvaise mémoire, alors j'ai commencé à utiliser un <a href="https://highrisehq.com/">CRM professionnel</a>.</p>

<p>Ce n'était pas une très bonne solution. Le logiciel était conçu pour des commerciaux, ce que je n'étais pas, et je n'avais pas particulièrement envie de payer pour un outil censé m'aider à gagner de l'argent alors que je voulais simplement me souvenir de choses concernant mes amis et ma famille. J'ai cherché quelque chose de plus adapté, sans rien trouver, alors j'ai décidé de le construire moi-même.</p>

<p>Ce petit projet est finalement devenu Monica. J'ai mis le code sur GitHub, je l'ai publié sur <a href="https://news.ycombinator.com/item?id=14497295">Hacker News</a>, et les choses se sont un peu emballées à partir de là. Il s'est avéré que je n'étais pas le seul à chercher quelque chose comme ça. Alexis m'a rejoint comme cofondateur, et au fil des années des milliers de personnes ont utilisé Monica, contribué au code, traduit le projet, signalé des bugs et installé l'application sur leurs propres serveurs. Le projet compte aujourd'hui plus de 25 000 étoiles sur GitHub et est devenu l'un des CRM personnels open source les plus connus.</p>

<p>Je suis très fier de ce que Monica est devenu. Mais après y avoir travaillé aussi longtemps, j'en suis arrivé à un point où la version actuelle n'est plus le CRM personnel que je construirais aujourd'hui.</p>

<h2>Presque dix ans de décisions</h2>

<p>Quand j'ai commencé Monica, je n'avais évidemment pas dix ans d'expérience à réfléchir à la façon de représenter les relations humaines dans un logiciel. La plupart des décisions ont été prises au moment où un problème apparaissait. Il nous fallait des contacts, alors j'ai construit des contacts. Il nous fallait des relations, alors j'ai ajouté des relations. Puis sont venus les rappels, les activités, les cadeaux, les notes, les animaux, les adresses et bien d'autres fonctionnalités.</p>

<p>Il n'y a rien de particulièrement mal à construire un logiciel de cette manière. C'est comme ça que Monica a grandi, et beaucoup de ces décisions avaient du sens à l'époque. Mais après presque dix ans, elles s'accumulent. Les nouvelles idées doivent contourner des décisions prises des années plus tôt, et ce qui ressemblait à des détails d'implémentation devient peu à peu une contrainte sur ce que l'on peut faire du produit.</p>

<p>Avec le temps, cela a rendu certaines parties de Monica plus difficiles à faire évoluer qu'elles ne devraient l'être. Plus important encore, j'ai changé d'avis sur certaines des décisions d'origine.</p>

<h2>Que construirais-je aujourd'hui ?</h2>

<p>À un moment donné, j'ai commencé à me poser une question simple : si Monica n'existait pas et que je devais construire un CRM personnel aujourd'hui, avec tout ce que j'ai appris au cours de la dernière décennie, à quoi ressemblerait-il ?</p>

<p>Cela a rapidement mené à des questions bien plus fondamentales que celle des fonctionnalités que Monica devrait avoir. Qu'est-ce qu'une personne, exactement, dans Monica ? Comment les relations entre les personnes devraient-elles fonctionner ? Comment Monica devrait-il représenter l'utilisateur lui-même ? Que se passe-t-il quand ce qui compte dans la vie de quelqu'un n'est pas une autre personne, mais un animal, une organisation ou tout autre chose ? Comment les rappels devraient-ils fonctionner alors que les relations humaines ne suivent pas naturellement un calendrier ? Que devrait représenter une activité ? Et, pour commencer, quelle part de tout cela Monica devrait-il définir à votre place ?</p>

<p>Les relations sont un bon exemple. Enregistrer que Monica est la sœur de Ross ne paraît pas très compliqué. Mais si Monica est la sœur de Ross, alors Ross est aussi le frère de Monica. Une relation de parent implique une relation d'enfant. Certaines relations ont un sens, d'autres non. Les vraies familles comportent des divorces, des remariages, des beaux-enfants, des demi-frères et demi-sœurs, des adoptions et toutes sortes de configurations qui n'entrent pas proprement dans une liste prédéfinie. Les cultures décrivent aussi les liens familiaux différemment.</p>

<p>J'ai passé beaucoup de temps à réfléchir à cela pour la nouvelle version, et je vois désormais les relations comme un domaine à part entière plutôt que comme un attribut rattaché à un contact. Cela me paraît évident aujourd'hui. Ça ne l'était pas quand nous avons conçu les premières versions de Monica.</p>

<p>La personnalisation est un autre sujet sur lequel j'ai changé d'avis. Historiquement, c'est surtout Monica qui a défini ce qu'est un contact et quelles informations on peut stocker à son sujet, et nous avons ajouté de la personnalisation autour de cette structure. Pour la v3, nous voulons inverser cela. Monica proposera toujours de bons réglages par défaut, parce que personne n'a envie de configurer cinquante choses avant d'ajouter son premier contact, mais votre vie ne devrait pas avoir à rentrer dans le schéma de base de données que nous avons jugé bon pour tout le monde.</p>

<p>Dès que l'on commence à changer les choses à ce niveau, redessiner quelques écrans ne suffit plus. Les fondations doivent changer aussi.</p>

<h2>Ce que je veux que la v3 soit</h2>

<p>Monica v3 n'est pas censée être le produit actuel avec une plus belle interface. L'interface va changer considérablement, et je veux qu'elle soit beaucoup plus ludique et personnelle que la plupart des logiciels que nous utilisons aujourd'hui, mais ce n'est qu'une partie du travail.</p>

<p>Je veux construire un système très puissant pour documenter les personnes et les relations dans la vie de quelqu'un. Optimiser chaque chose pour la simplicité ne m'intéresse pas particulièrement si le résultat est un produit qui ne sait représenter que des vies simples. Je préfère de bons réglages par défaut pour les gens qui ne veulent rien configurer, tout en donnant à ceux qui le souhaitent un contrôle énorme sur le fonctionnement de leur Monica.</p>

<p>Cela veut dire traiter les relations comme des concepts de premier plan et laisser chacun décider quelles informations comptent pour lui. Monica doit savoir gérer bien plus qu'une liste prédéfinie de champs rattachés à un contact. Le plus difficile sera de faire tout cela sans finir avec un logiciel d'entreprise pour gérer ses amis et sa famille, parce que ce serait assez horrible.</p>

<p>Il y a aussi des choses que je ne veux pas changer. La confidentialité et la propriété des données comptent toujours énormément pour Monica. Le projet restera open source et auto-hébergeable. Si vous devez passer des années à confier à un logiciel certaines des informations les plus personnelles de votre vie, je pense que vous devez garder autant de contrôle que possible sur ces informations.</p>

<p>Je ne veux pas non plus que Monica décide de l'importance que quelqu'un a pour vous. Elle peut vous aider à vous souvenir, à organiser des informations et vous signaler que vous n'avez pas parlé à quelqu'un depuis longtemps. La relation, elle, reste la vôtre à entretenir.</p>

<h2>Recommencer avec dix ans d'expérience</h2>

<p>« Recommencer » n'est pas tout à fait exact, bien sûr. Quand j'ai créé Monica en 2017, j'avais une idée et un problème que je voulais résoudre. Cette fois, nous avons presque dix ans d'expérience sur ce problème, des milliers de conversations avec des utilisateurs, les contributions de personnes du monde entier, deux générations du produit et une liste assez longue de choses que nous ne referions pas de la même façon.</p>

<p>Pendant que nous travaillons sur la v3, je veux documenter davantage tout cela publiquement. Il y a un nombre surprenant de problèmes difficiles derrière quelque chose qui paraît assez simple vu de l'extérieur, surtout quand on commence à réfléchir sérieusement aux relations, aux rappels, à la personnalisation et à la façon de représenter dans une base de données quelque chose d'aussi désordonné qu'une vie humaine. J'écrirai sur ces problèmes, mais aussi sur les décisions techniques et de design que nous prenons, et sur les choses que nous essayons et qui ne fonctionnent pas.</p>

<p>C'est de cela que parlera <strong>Building Monica</strong>. Je ne sais pas à quelle fréquence je publierai un article, et je n'ai pas envie d'inventer un rythme de publication juste pour en avoir un. J'écrirai quand nous aurons quelque chose d'intéressant à raconter.</p>

<p>En 2017, j'ai construit Monica en fonction de ce que je comprenais du problème à l'époque. Presque dix ans plus tard, je comprends ce problème très différemment. C'est pour cela que nous le reconstruisons.</p>
]]></content:encoded>
        </item>
        <item>
            <title>Une nouvelle version de Monica arrive en 2026</title>
            <link>https://www.monicahq.com/fr/blog/new-version-of-monica-in-2026/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/new-version-of-monica-in-2026/</guid>
            <pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Nous lancerons la nouvelle version de Monica avant la fin de 2026.</description>
            <content:encoded><![CDATA[<p>Cela fait un moment que nous n'avons pas donné de vraies nouvelles de Monica.</p>

<p>Alexis et moi réfléchissons à une nouvelle version depuis très longtemps. Plus longtemps que prévu, évidemment. Reconstruire une application de zéro quand on a un emploi à plein temps, une famille et une vie en dehors de Monica prend un peu de temps, il faut croire.</p>

<p>Mais aujourd'hui, nous pouvons enfin le dire : nous lancerons la nouvelle version de Monica avant la fin de 2026.</p>

<p>Cette nouvelle version, c'est la Monica que nous voulions construire depuis des années. Elle sera plus rapide, plus souple, plus simple à utiliser, et bâtie sur des fondations bien plus solides.</p>

<p>Monica vous aidera toujours à vous souvenir des personnes qui comptent pour vous. Elle restera privée. Elle restera open source. Et vous pourrez toujours l'installer gratuitement sur votre propre serveur.</p>

<p>Nous sommes incroyablement enthousiastes. Monica fait partie de nos vies depuis presque dix ans, et nous avons le sentiment d'ouvrir un tout nouveau chapitre pour le projet.</p>

<p>Il reste beaucoup de travail.</p>

<p>Mais ça arrive. Pour de vrai cette fois.</p>

<p>Merci pour votre patience, vos messages et votre soutien pendant toutes ces années. Nous avons hâte de vous montrer ce que nous avons construit.</p>
]]></content:encoded>
        </item>
        <item>
            <title>Chandler est en bêta</title>
            <link>https://www.monicahq.com/fr/blog/chandler-is-in-beta/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/chandler-is-in-beta/</guid>
            <pubDate>Thu, 08 Jun 2023 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>La nouvelle version majeure est disponible en bêta.</description>
            <content:encoded><![CDATA[<p>Nous sommes ravis d'annoncer qu'après 18 mois d'un travail acharné, notre nouvelle version, nom de code Chandler, est désormais disponible en bêta : <a href="https://beta.monicahq.com">https://beta.monicahq.com</a></p>

<p>Monica est née il y a 7 ans avec l'objectif d'être un CRM personnel. Cette nouvelle version parle de documenter votre vie, y compris ce que font vos contacts, mais pas seulement.</p>

<p>Que signifie « bêta » ? C'est comme avoir une bande de petits bugs espiègles cachés dans notre logiciel, qui jouent à cache-cache avec nous. Nous sommes à peu près sûrs qu'ils sont là, mais nous n'avons aucune idée desquels ni d'où ils se cachent. Nous avons donc besoin de toutes les âmes courageuses pour rejoindre notre escouade de chasse aux bugs et nous aider à les débusquer avant la sortie publique.</p>

<p>Chandler est une réinvention complète de Monica, repensée de fond en comble. Nous avons éliminé l'importante dette technique accumulée au fil des ans et ajouté ou amélioré de nombreuses fonctionnalités. Bien que nous n'ayons fait aucune promotion, beaucoup d'utilisateurs ont déjà testé Chandler et trouvé des bugs que nous avons corrigés, mais nous n'avons pas testé ce logiciel à grande échelle. Alors s'il vous plaît, créez un compte et amusez-vous.</p>

<p>La version disponible sur le serveur de bêta peut être considérée comme stable. Nous ne réinitialiserons pas la base de données. Nous sauvegarderons vos données quotidiennement et nous les conserverons lors du lancement officiel de la version finale.</p>

<p>Chandler comporte quelques limites :</p>

<ul>
<li>Vous ne pouvez pas utiliser vos identifiants Monica actuels,</li>
<li>Vous ne pouvez pas importer vos données,</li>
<li>Aucun import de masse de contacts n'est disponible,</li>
<li>Nous n'avons pas encore d'API.</li>
</ul>

<p>Nous avons de nombreuses nouveautés, une nouvelle mise en page et le très demandé mode sombre.</p>

<p>Sur un plan personnel, la fonctionnalité dont je suis le plus fier est la possibilité de tout personnaliser ou presque dans Chandler : de la mise en page aux modules que vous pouvez activer, jusqu'aux données que vous pouvez consigner sur votre vie.</p>

<p>Chandler reste open source et peut être installé gratuitement sur votre serveur, si vous savez utiliser Docker ou la ligne de commande. Vous pouvez toujours modifier le code si vous le souhaitez. Monica est, et restera toujours, open source. C'est la voie.</p>

<p>Pour l'instant, Monica est gratuite sur notre instance hébergée (<a href="https://beta.monicahq.com">https://beta.monicahq.com</a>), mais nous appliquerons les mêmes tarifs que la version actuelle dès que nous considérerons le produit comme stable.</p>

<p>Je suis incroyablement fier de ce que nous avons accompli en huit ans. À l'époque, j'avais peur de rendre mon code public parce que je le savais de piètre qualité. Curieusement, cela n'a semblé déranger personne. Aujourd'hui, notre code est toujours ouvert au public et nous ne craignons plus le jugement. L'application reste une application Laravel, avec VueJS côté client et InertiaJS entre le front et le back. Une pile très simple. Nous nous efforçons de garder notre code aussi simple que possible pour faciliter la maintenance, l'évolution et le recrutement de développeurs pour nous aider.</p>

<p>Nous migrerons bientôt notre image Docker officielle vers Chandler. Cette image a été téléchargée plus de 25 millions de fois, ce qui nous rend humbles.</p>

<p>Au nom de toute l'équipe Monica, merci de nous être restés fidèles tout ce temps. « Toute l'équipe Monica », ce sont en réalité deux amis, Alexis et moi, vraiment passionnés par l'idée de proposer des outils sympas pour améliorer la vie des gens. Monica reste un projet parallèle pour nous, nous avons des emplois à plein temps « à côté ». Pendant que certains jouent à des jeux vidéo ou regardent Netflix, nous « jouons » dans le code de Monica. Et nous adorons ça.</p>
]]></content:encoded>
        </item>
        <item>
            <title>Une nouvelle Monica arrive</title>
            <link>https://www.monicahq.com/fr/blog/a-new-version-is-coming/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/a-new-version-is-coming/</guid>
            <pubDate>Sun, 28 Aug 2022 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Une toute nouvelle version majeure arrive.</description>
            <content:encoded><![CDATA[<p><a href="https://twitter.com/asbin">Alexis</a> et moi <a href="https://twitter.com/maazarin">(Regis)</a> travaillons depuis quelques mois (depuis janvier 2022, en fait) sur une toute nouvelle version de Monica. La première véritable version majeure depuis notre lancement il y a quelques années.</p>

<p>Je suis très tenté de parler d'une version « plus rapide, plus moderne, meilleure », parce que c'est le cas, mais je suis mauvais en marketing, alors je dirai simplement que c'est une nouvelle version et je répondrai ci-dessous aux questions que vous pourriez vous poser.</p>

<p><strong>Qu'entendez-vous par nouvelle version ?</strong></p>

<p>Une réécriture complète de Monica, à partir de zéro.</p>

<p><strong>Vous êtes fous ?</strong></p>

<p>Oui, mais aussi : le code de Monica est devenu ancien. Ancien au sens où il a 7 ans et où des centaines de contributeurs y ont touché. Certains concepts du code ont été laissés passer, soit parce que nous ne savions pas faire mieux à l'époque, soit parce que nous ne voulions pas froisser des contributeurs, et nous n'en voulons plus. Le projet a beaucoup trop de dépendances, et maintenir le code est devenu plus difficile qu'avant. Changer quelque chose est plus risqué et prend plus de temps. Nous avons aussi vu comment les gens utilisent Monica, ce qu'ils veulent en faire, et le code actuel nous limite beaucoup trop pour prendre en charge ces usages. Enfin, Monica reste un projet parallèle pour nous. Nous en sommes extrêmement passionnés et nous voulons aussi prendre du plaisir à le construire. Or la version actuelle n'était pas si amusante.</p>

<p><strong>Qu'entendez-vous par réécriture ?</strong></p>

<p>Nous sommes partis d'un code vide, et nous avons construit à partir de là. Avant, c'était une application Laravel (donc PHP), avec des vues Blade et un peu de Vue par endroits. Maintenant, c'est toujours une application Laravel (donc toujours PHP), entièrement en Vue 3. Nous avons beaucoup simplifié, rendu certaines choses plus souples et donc un peu plus complexes, mais nous pensons pouvoir porter l'avenir de Monica avec.</p>

<p>Cela signifie aussi que nous avons une toute nouvelle structure de données, portée par un nouveau schéma de base de données.</p>

<p><strong>La nouvelle version s'appellera-t-elle Monica ?</strong></p>

<p>Pour l'instant, le nom de code de la nouvelle Monica est Chandler. Nous ne le garderons pas : le nom officiel de la nouvelle Monica sera Monica. Par souci de clarté, nous appellerons la nouvelle version Chandler dans la suite de cet article.</p>

<p><strong>Vous choisissez PHP malgré \&lt;insérez un nouveau langage ou framework> ?</strong></p>

<p>PHP est un excellent langage. Nous ne sommes plus à l'époque de PHP 4 ou 5. C'est aussi un langage très simple, ce qui veut dire que beaucoup de gens dans le monde lisent et comprennent PHP. Choisir PHP, c'est rendre la contribution plus facile, le débogage plus facile, la maintenance plus facile, et il nous sera plus facile de trouver de l'aide si le besoin s'en fait sentir. Enfin, l'écosystème PHP est formidable, avec Laravel qui offre l'une des meilleures expériences de développement que je connaisse.</p>

<p><strong>Quelles fonctionnalités contiendra Chandler ?</strong></p>

<p>Au lancement, nous voulons couvrir 100 % (ou presque) des fonctionnalités de Monica v1. Même à périmètre égal, nous voulions soit les simplifier (les tâches, par exemple), soit les rendre plus robustes (les rappels, notamment).</p>

<p>Une fois cela fait, nous avons tellement d'idées sur ce que Monica devrait devenir que c'en est vertigineux. À l'origine, Monica est né comme le premier CRM personnel (ou PRM, gestionnaire de relations personnelles). Nous l'avons donc présenté ainsi. Mais après des années de travail, de discussions et de lecture des milliers d'emails que vous nous avez envoyés, nous avons compris que Monica est surtout une façon de documenter votre vie, quoi que cela signifie pour vous. Monica parlera donc de documenter votre vie, et de vous donner des outils pour le faire à votre manière.</p>

<p>On lit partout qu'un produit doit avoir un point de vue et une forte personnalité, pour que les gens l'utilisent comme vous l'entendez. C'était la direction de la v1. Nous voulons maintenant changer cela. Nous voulons que chacun utilise et configure Monica comme il l'entend. Qui sommes-nous pour vous dire que vous ne devriez utiliser que 3 pronoms pour vos contacts, ou pour décider des types de relations qui existent chez vous ? Chandler sera entièrement personnalisable, de ce que vous voyez dans l'interface au type de données que vous pouvez saisir. Les gens du marketing diraient « Chandler, c'est vous », et c'est vrai, en un sens. L'inconvénient : d'un point de vue technique, c'est plus difficile à gérer, mais cela nous regarde.</p>

<p><strong>Quand sera-t-elle prête ? Puis-je l'essayer ?</strong></p>

<p>Elle sera prête quand elle sera prête. Rappelez-vous : nous n'y travaillons pas à plein temps, pas du tout. Alexis et moi avons des emplois exigeants, des familles, des amis, et Monica (et OfficeLife, aussi).</p>

<p>CELA DIT.</p>

<p>Nous avons déjà beaucoup avancé. Des fonctionnalités importantes que vous connaissez et appréciez manquent encore à la nouvelle version : les événements de vie, les activités, les cadeaux et CalDAV/CardDAV, pour n'en citer que quelques-unes. Les événements de vie, en particulier, représentent un gros morceau, car nous voulons repenser complètement le concept et le rendre vraiment utile. Et, gros « et », nous n'avons pas encore d'API. Comme il s'agit d'un nouveau code, nous ne pouvons pas simplement copier vos contacts de la v1 et espérer les voir apparaître dans la v2. Si nous sortions quelque chose maintenant, vous ne pourriez pas importer vos données. Et cela nous semble problématique.</p>

<p>CELA ÉTANT.</p>

<p>Nous avons quand même besoin de testeurs pour nous aider à trouver des bugs, même si nous ne faisons pas de bugs ici (lol). Nous avons besoin de gens pour corriger les fautes dans la documentation. Ce que nous pourrions faire, c'est lancer Chandler dans un état très alpha, gratuit pour tous tant qu'il ne sera pas sorti de l'alpha.</p>

<p><strong>Est-ce toujours open source ? Puis-je l'utiliser gratuitement ?</strong></p>

<p>Oui, c'est toujours open source, avec la même licence qu'avant. Monica est donc gratuite, bien sûr, sauf si vous utilisez la version que nous hébergeons, qui finira par coûter quelque chose, comme la version actuelle. Oui, vous pouvez l'installer où vous voulez, sur votre propre serveur. Comme Chandler n'est pas le même code, nous n'avons pas encore l'écosystème riche d'avant ni toutes ces façons de l'installer partout, mais nous y viendrons. Oui, vous pouvez toujours contribuer au code, corriger des bugs, ajouter des fonctionnalités, même si nous nous réservons le droit de refuser vos pull requests si nous estimons ne pas vouloir prendre en charge ce que vous proposez.</p>

<p><strong>Quel avenir pour Monica v1 ?</strong></p>

<p>Nous soutiendrons la v1 jusqu'à ce que Chandler sorte de l'alpha et de la bêta. Elle sera ensuite dépréciée, mais celles et ceux qui l'hébergent pourront continuer à l'utiliser s'ils le souhaitent. La v1 que nous hébergeons nous-mêmes ne sera plus maintenue après cela.</p>

<p><strong>Peut-on déjà contribuer au code ?</strong></p>

<p>Le dépôt est déjà <a href="https://github.com/monicahq/chandler">disponible sur GitHub</a>, mais nous sommes loin d'être aussi matures que le dépôt principal actuel. Nous ne sommes donc pas encore prêts à accueillir les contributions de tout le monde, car les choses changent presque chaque jour, mais si cela vous convient, allez-y.</p>

<p><strong>Et ensuite ?</strong></p>

<p>Merci d'abord d'avoir lu cet article jusqu'au bout. Nous sommes extrêmement reconnaissants envers notre communauté et sa passion pour ce petit outil que nous prenons plaisir à construire. Alexis et moi restons très motivés, et nous vous remercions de le porter avec nous. Nous vous tiendrons au courant.</p>
]]></content:encoded>
        </item>
        <item>
            <title>Quitter Stripe pour notre propre portail client</title>
            <link>https://www.monicahq.com/fr/blog/moving-away-from-Stripe-with-our-own-customer-portal/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/moving-away-from-Stripe-with-our-own-customer-portal/</guid>
            <pubDate>Thu, 31 Mar 2022 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Nous avons décidé de quitter Stripe pour Paddle.</description>
            <content:encoded><![CDATA[<p>Aujourd'hui, nous utilisons Stripe pour gérer nos abonnements. Autant nous adorons Stripe du point de vue d'un développeur, autant la gestion des taxes dans le monde entier est un vrai casse-tête, surtout en fin d'exercice comptable. Notre comptable nous déteste.
Nous devons passer à un autre prestataire de paiement qui traitera correctement toutes ces taxes. Ce prestataire s'appelle <a href="https://paddle.com">Paddle</a>.</p>

<p>Il y a une autre raison à ce changement d'approche. Monica est avant tout un produit open source. Nous avons une immense communauté. Beaucoup d'entre vous hébergent Monica sur leurs serveurs. Comme nous hébergeons aussi le produit nous-mêmes pour le monétiser, nous avons jusqu'ici inclus tout le code nécessaire à la gestion des abonnements dans le code principal. Cela représente beaucoup de code. Nous gérons la souscription, la modification et la suppression d'un abonnement, avec toutes les permissions autour, et ainsi de suite. Ce n'est pas idéal.</p>

<p>Nous avons décidé de retirer tout le code de facturation du code principal et de créer un nouveau portail, appelé portail d'abonnement, pour gérer vos abonnements Monica. Vous devrez créer un compte sur ce site et acheter une clé de licence à coller dans votre compte Monica. Rien d'autre n'est nécessaire.</p>

<p>Si vous avez actuellement un abonnement, nous vous permettrons de basculer facilement votre compte vers le nouveau. Des instructions détaillées suivront par email pour chacun d'entre vous.</p>

<p>Nous prévoyons de passer à ce nouveau portail client dans les prochaines semaines.</p>
]]></content:encoded>
        </item>
        <item>
            <title>Monica 2.16 et la suite pour Monica</title>
            <link>https://www.monicahq.com/fr/blog/v.2.16.0/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/v.2.16.0/</guid>
            <pubDate>Tue, 31 Dec 2019 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Une nouvelle façon d&#039;ajouter des activités et la suite de notre produit.</description>
            <content:encoded><![CDATA[<p>Cela faisait longtemps. Un an, en fait, depuis le dernier article. Dans celui-ci, nous parlerons de la version 2.16 que nous venons de publier, de ce qui s'est passé en 2019 et de la suite pour Monica.</p>

<p>La version 2.16 contient 226 changements, pour la plupart des corrections de bugs ou des améliorations du code. Mais elle apporte aussi son lot de nouveautés, décrites ci-dessous.</p>

<h3>Une nouvelle façon d'ajouter des activités</h3>

<p>Vous pouvez désormais ajouter des activités sur place, au lieu de passer par une nouvelle page. Comme pour les appels, vous pouvez indiquer les émotions ressenties pendant une activité.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2019-12-31-inline-activities.webp" alt="Le formulaire d'ajout d'une activité à un contact, demandant ce que vous avez fait et quand." width="852" height="286" loading="lazy" decoding="async"></p>

<h3>Une page de réglages API améliorée</h3>

<p>L'essentiel de ce que vous faites avec Monica peut être réalisé via l'API. Il est extrêmement important pour nous que chacun puisse manipuler ses données à sa guise. Il était donc temps de soigner un peu la page de réglages de l'API.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2019-12-31-api.webp" alt="L'écran de réglages de l'API, avec les jetons d'accès personnels et les clients OAuth." width="1154" height="800" loading="lazy" decoding="async"></p>

<p>Nous avons également ajouté <a href="https://github.com/monicahq/monica/pull/3302">de nombreuses méthodes à l'API</a> pour poursuivre notre ouverture aux autres systèmes.</p>

<h3>Beaucoup de changements en coulisses</h3>

<p>Nous avons aussi complètement changé la façon dont les données sont stockées, en ajoutant des clés étrangères à chaque table de la base. Cela n'a aucun impact sur l'expérience des utilisateurs, mais c'est majeur pour nous, développeurs, car cela nous donne plus de contrôle et de souplesse. Ce fut un énorme changement et les pull requests ont mis près de 11 mois à être fusionnées.</p>

<p>Nous avons également revu de fond en comble le processus d'export des données, qui devrait fonctionner parfaitement désormais (ou, comme on dit : 60 % du temps, ça marche à tous les coups).</p>

<h3>Que s'est-il passé en 2019 ?</h3>

<p>En 2019, nous avons un peu ralenti sur le nombre de versions annuelles. L'activité sur ce blog a par ailleurs été inexistante. Cela n'a pourtant pas affecté le nombre d'inscriptions, ni le nombre de téléchargements, ni l'affection des internautes pour ce projet.</p>

<p>En clair, Monica n'a jamais été aussi solide. Notre image docker officielle approche les 5 millions de téléchargements. Nous avons des dizaines de milliers d'utilisateurs sur <a href="https://app.monicahq.com">notre version hébergée</a>. Monica continue de surgir sur <a href="https://news.ycombinator.com/item?id=21850155">Hacker News</a> et <a href="https://github.com/monicahq/monica/issues">notre suivi des tickets sur GitHub</a> est plus actif que jamais. Nous avons aussi fusionné 875 pull requests en 2019.</p>

<p>Alors pourquoi ce silence ? Principalement à cause de moi (Regis). J'ai lancé Monica il y a maintenant presque quatre ans. Avoir un projet populaire est très amusant, mais cela demande aussi beaucoup d'énergie et de motivation. D'autant que Monica reste un projet parallèle pour Alexis comme pour moi. Cette année, Monica est devenue trop lourde à porter, et c'est en général moi qui écris sur ce blog ou sur les réseaux sociaux. J'ai fait un burnout de projet parallèle, si l'on veut. Alexis a pris beaucoup de travail sur ses épaules pour maintenir et faire évoluer le produit, mais je n'ai pas pu y travailler autant qu'avant, ni publier de nouvelles. J'avais besoin de faire autre chose, de me vider la tête et de revenir seulement quand je serais prêt. Je le suis maintenant, et je suis plus que motivé pour m'y remettre et prendre du plaisir à nouveau.</p>

<h3>Monica en 2020</h3>

<p>Il y a quatre ans, Monica était l'un des premiers CRM personnels populaires. Aujourd'hui, la concurrence est plus nombreuse que jamais (une douzaine, à mon dernier décompte). Mais je crois que nous avons un avantage que nos concurrents ne peuvent pas nous prendre : nous sommes open source, nous n'avons pas ou presque pas de charges ni de coûts, et nous ne sommes pas avides. Tout ce que nous faisons, nous le faisons d'abord pour la communauté. Plus il existe d'instances de Monica dans la nature, plus nous sommes heureux : cela signifie que nous n'avons aucun contrôle sur les données de nos utilisateurs.</p>

<p>En 2020 :</p>

<ul>
<li>Nous voulons poursuivre notre travail d'ouverture et de transparence. Cela signifie plus de façons d'exporter ou d'importer des données dans un format standard.</li>
<li>Nous voulons proposer des webhooks pour que des systèmes externes soient informés quand des données changent dans votre compte (si vous le souhaitez, bien sûr).</li>
<li>Je pense que Monica est aujourd'hui le meilleur outil pour documenter vos contacts personnels. Vous pouvez consigner à peu près tout. Maintenant que nous avons des fondations très solides, il est temps d'aller plus loin. Il est temps de vous laisser faire davantage avec vos contacts, en créant des groupes (ou des familles), des événements, des opportunités, etc. Nous nous concentrerons sur des notions simples, ajoutées progressivement à la plateforme, qui vous offriront le maximum de souplesse.</li>
</ul>

<p>Monica est un outil pour vous. Continuez à partager vos idées, continuez à m'écrire pour dire ce que nous devrions faire ensuite. Nous sommes là pour vous.</p>

<p>Et bonne année 😀</p>
]]></content:encoded>
        </item>
        <item>
            <title>Monica 2.11.0</title>
            <link>https://www.monicahq.com/fr/blog/v2.11.0/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/v2.11.0/</guid>
            <pubDate>Sun, 23 Dec 2018 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Les émotions, l&#039;envoi de photos, une sécurité renforcée et une meilleure gestion des appels.</description>
            <content:encoded><![CDATA[<p>Après plus d'un mois de travail, je suis heureux d'annoncer la nouvelle version de Monica, avec l'envoi de photos, une sécurité renforcée, une meilleure gestion des appels, la météo, l'introduction des émotions et bien d'autres améliorations.</p>

<h3>Envoi de photos</h3>

<p>Vous pouvez désormais envoyer des photos sur la page de profil d'un contact. Le nombre de photos que vous pouvez stocker dépend de la limite de stockage de votre compte, qui est de 512 Mo sur <a href="https://monicahq.com">https://monicahq.com</a> (et configurable par instance). La possibilité d'envoyer des photos ouvre beaucoup de perspectives pour la suite.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2018-12-04-photo-upload.webp" alt="L'onglet des photos d'un contact, vide, proposant d'envoyer la première image." width="1744" height="1064" loading="lazy" decoding="async"></p>

<h3>Codes de récupération</h3>

<p>La sécurité est essentielle, surtout dans un outil comme Monica qui conserve de nombreux détails intimes. Monica prend déjà en charge l'authentification à deux facteurs (2FA) et U2F pour vous aider à sécuriser votre compte. À partir de Monica 2.11, vous pouvez générer des codes de récupération pour débloquer votre compte si vous perdez la possibilité de vous connecter avec la 2FA. Attention toutefois : comme ces codes donnent accès à votre compte, conservez-les dans un endroit très sûr.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2018-12-02-recovery-codes.webp" alt="La fenêtre des codes de récupération, listant huit codes à usage unique dont un déjà barré." width="639" height="405" loading="lazy" decoding="async"></p>

<h3>Appels téléphoniques</h3>

<p>Les appels ont reçu beaucoup d'attention dans cette version. D'abord, nous avons repensé le parcours pour les enregistrer. Ensuite, nous avons (enfin) ajouté la possibilité de modifier un appel passé. Et en prime, vous pouvez maintenant indiquer qui a initié l'appel.</p>

<h3>Émotions</h3>

<p>Ne serait-il pas formidable de pouvoir dire, très précisément, ce que vous avez ressenti quand quelque chose est arrivé ? Monica 2.11 introduit la notion d'émotions, fondée sur les travaux du <a href="http://changingminds.org/explanations/emotions/basic%20emotions.htm">Dr Phillip Shaver</a>. Dans ses travaux, les émotions sont classées en 3 grandes catégories :</p>

<ul>
<li>les émotions primaires (amour, joie, surprise, colère, tristesse et peur),</li>
<li>les émotions secondaires (amour -> affection, désir, manque),</li>
<li>les émotions tertiaires (amour -> affection -> adoration, amour, tendresse, attirance).</li>
</ul>

<p>Nous avons intégré ces notions dans Monica, en commençant par les appels. Un nouveau menu déroulant vous laisse choisir autant d'émotions que vous le souhaitez, afin de représenter très précisément ce que vous avez ressenti pendant un appel. Nous prévoyons d'ajouter les émotions à d'autres éléments clés, comme les activités.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2018-12-13-emotions.webp" alt="Le formulaire d'appel, demandant ce que vous avez ressenti pendant l'appel, avec deux émotions déjà choisies." width="1686" height="892" loading="lazy" decoding="async"></p>

<h3>Météo</h3>

<p>Quand vous parlez avec un ami qui vit dans une autre région, il y a de fortes chances que vous finissiez par parler de la météo. Monica vous aide ici, en affichant la météo actuelle du lieu où vit votre ami. Cette information provient de la première adresse trouvée sur la page de profil du contact. Autrement dit, si aucune adresse n'est renseignée, aucune information météo ne sera affichée.</p>

<p>Les données météo viennent de Darksky et sont rafraîchies toutes les 6 heures. La seule information transmise à Darksky est la latitude et la longitude, rien d'autre. Pour les propriétaires d'instance, Darksky propose un forfait gratuit de 1 000 appels par jour, ce qui devrait largement suffire.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2018_12_22_weather.webp" alt="La fiche d'un contact affichant la météo actuelle là où cette personne vit." width="574" height="406" loading="lazy" decoding="async"></p>

<h3>Coordonnées GPS</h3>

<p>À propos de latitude et de longitude, il nous fallait un mécanisme pour obtenir ces deux informations pour chaque adresse saisie dans Monica si nous voulions afficher la météo. Monica 2.11 sait désormais géocoder automatiquement n'importe quelle adresse pour en trouver les coordonnées.</p>

<p>Quand vous saisissez une adresse, et si le service est configuré au niveau de votre instance, nous essaierons de la géocoder automatiquement, sauf si vous fournissez vous-même la latitude et la longitude du lieu.</p>

<p>Le géocodage est assuré par LocationIQ, une entreprise indépendante et remarquable qui propose un forfait gratuit très généreux de 10 000 appels par jour. Nous ne partageons avec LocationIQ rien d'autre que l'adresse, afin d'en récupérer les coordonnées.</p>

<h3>Tâches</h3>

<p>Sur votre tableau de bord, vous pouvez désormais ajouter des tâches qui ne sont liées à aucun contact.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2018-11-17-custom-tasks.webp" alt="L'onglet des tâches du tableau de bord, avec trois tâches qui ne dépendent d'aucun contact." width="1156" height="670" loading="lazy" decoding="async"></p>

<h3>Améliorations</h3>

<p>Nous avons beaucoup remanié la façon dont les choses sont écrites en interne, pour poursuivre notre quête d'une plateforme la plus stable possible. Nous avons aussi continué à augmenter la couverture de code (c'est-à-dire la part de notre code réellement testée automatiquement). Nous en sommes à 66 % sur l'ensemble du code.</p>

<p>Nous espérons que vous aimerez la 2.11 autant que nous.</p>
]]></content:encoded>
        </item>
        <item>
            <title>État des applications mobiles</title>
            <link>https://www.monicahq.com/fr/blog/state-mobile-apps/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/state-mobile-apps/</guid>
            <pubDate>Wed, 28 Nov 2018 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Nous avons retiré les applications mobiles des stores</description>
            <content:encoded><![CDATA[<p>Je viens de retirer les applications mobiles de l'App Store comme du Play Store. Le seul moyen de les obtenir est désormais de les compiler depuis le dépôt GitHub.</p>

<p><a href="https://github.com/Mokto">Theo</a> a fait un travail formidable sur la première version de ces applications, mais leur développement s'est arrêté au début de l'été alors que celui de Monica, la plateforme, a continué. Nous sommes maintenant dans une situation où l'application mobile n'est plus au niveau de la plateforme et, pire, nous allons casser dans l'API des choses que l'application ne saura pas gérer.</p>

<p>Je reste convaincu que la croissance et l'adoption de Monica passeront par une application mobile.</p>

<p>J'aimerais promettre de belles choses et annoncer une nouvelle application dans 2 mois, mais en réalité je ne sais pas combien de temps cela prendra. Comme Monica en est encore au stade du projet parallèle, cela peut prendre 6 mois ou 2 ans. Mais un jour nous aurons une excellente application mobile, aussi bonne que la version web (voire meilleure).</p>

<p>Merci de votre patience.</p>
]]></content:encoded>
        </item>
        <item>
            <title>Monica 2.10.0 avec l&#039;envoi de documents</title>
            <link>https://www.monicahq.com/fr/blog/v2.10.0/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/v2.10.0/</guid>
            <pubDate>Mon, 26 Nov 2018 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Une nouvelle façon d&#039;envoyer des documents</description>
            <content:encoded><![CDATA[<p>La version 2.10.0 est notre 51e publication. Elle contient un nombre important de nouveautés et représente un mois de travail de 10 développeurs, sans compter tous les traducteurs assez gentils pour traduire Monica en 11 langues. Voici quelques faits marquants.</p>

<p><strong>Autocomplétion des tags</strong></p>

<p>Les tags sont un excellent moyen de classer les personnes. Avec la 2.10.0, nous prenons enfin en charge leur autocomplétion. Ouvrez un contact et modifiez les tags dans l'en-tête : à mesure que vous tapez, un menu affiche vos tags. Un petit changement pour Monica, une grande aide pour ses utilisateurs.
Note technique : cette fonctionnalité a été entièrement développée avec VueJS, sans autre dépendance. Nous nous éloignons de JQuery et, au cours des prochains mois, nous l'abandonnerons complètement.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2018-11-26-tags.gif" alt="Des tags ajoutés depuis l'en-tête d'une fiche, avec des suggestions qui apparaissent à la frappe." width="712" height="316" loading="lazy" decoding="async"></p>

<p><strong>Nouvel en-tête</strong></p>

<p>À propos d'en-tête, puisque nous changions le fonctionnement des tags, nous en avons profité pour redessiner celui du profil d'un contact. Cela nous permettra d'y afficher bien plus d'informations utiles à l'avenir. Il est aussi plus lisible.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2018-11-26-new-header.webp" alt="Le nouvel en-tête d'une fiche : la photo, le nom et les informations sur la personne sur une seule ligne." width="1345" height="267" loading="lazy" decoding="async"></p>

<p><strong>Documents</strong></p>

<p>Vous pouvez désormais joindre des documents à un contact. Chaque instance dispose d'une limite configurable sur l'espace de stockage qu'un compte peut utiliser. Sur notre version hébergée, la limite est de 512 Mo par compte payant (le stockage coûte peu, mais pas quand on héberge des dizaines de milliers de comptes).</p>

<p>Un nouvel onglet Stockage, dans vos réglages, affiche l'usage actuel de votre compte et sa limite.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2018-11-26-documents.gif" alt="Le panneau des documents d'un contact, avec un fichier en cours d'envoi." width="960" height="442" loading="lazy" decoding="async"></p>

<p><strong>Archiver un contact</strong></p>

<p>Parfois vous voulez ajouter un contact sans qu'il apparaisse dans la liste des contacts. L'archivage permet cela. Vous trouverez cette fonctionnalité en bas à gauche du profil du contact.</p>

<p><strong>Autres améliorations</strong></p>

<ul>
<li>Nous avons corrigé beaucoup de bugs.</li>
<li>Nous avons amélioré la prise en charge de S3 pour stocker les fichiers (images, documents, etc.).</li>
<li>Nous avons considérablement augmenté notre couverture de tests. Il y a 6 mois, nous étions à 25 %. Grâce à un effort continu, nous sommes à 65 %. Cela nous donne bien plus confiance dans le fait de ne rien casser en avançant.</li>
<li>Nous définissons désormais automatiquement la devise et le fuseau horaire des nouveaux utilisateurs, en fonction de leur localisation.</li>
<li>Nous avons réécrit l'import et l'export vCard.</li>
<li>Nous analysons maintenant correctement les propriétés FN à l'import des vCards.</li>
</ul>

<p>Amusez-vous bien avec la version 2.10 !</p>
]]></content:encoded>
        </item>
        <item>
            <title>Les événements de vie arrivent</title>
            <link>https://www.monicahq.com/fr/blog/life-events/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/life-events/</guid>
            <pubDate>Fri, 12 Oct 2018 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Une façon d&#039;ajouter une frise des principaux événements de la vie de vos contacts</description>
            <content:encoded><![CDATA[<p>Je n'aime pas Facebook. Ce n'est un secret pour personne. Mais malgré leur nocivité générale, ils ont de bonnes idées ici et là. L'une d'elles est la possibilité de suivre les événements marquants de votre vie. Comme indiquer une opération chirurgicale ou des travaux dans votre maison. Autant je ne comprends pas pourquoi on confierait cette information à Facebook, autant il est logique de consigner ce type d'information sur les personnes qui comptent pour vous. C'est donc ce que nous venons de livrer.</p>

<p>Les événements de vie sont désormais un nouvel onglet de la page Profil d'un contact.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2018-10-12-life-events-blank.webp" alt="L'onglet des événements de vie d'un contact, vide, proposant d'ajouter le premier." width="771" height="549" loading="lazy" decoding="async"></p>

<p>Vous avez accès à plus de 45 événements de vie que vous pouvez documenter. Vous pouvez aussi définir un rappel pour chacun d'eux.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2018-10-12-life-events-list.webp" alt="La liste des événements de vie à choisir, dans la catégorie maison et logement." width="735" height="321" loading="lazy" decoding="async"></p>

<p>Notez que vous pouvez ajouter un événement sans en connaître le mois ni le jour.</p>

<p>Une fois ajouté, un événement de vie apparaît sur une frise qui sera améliorée dans une prochaine version.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2018-10-12-life-events-details.webp" alt="Deux événements de vie sur la fiche d'un contact, un mariage et des travaux, chacun avec sa date." width="845" height="366" loading="lazy" decoding="async"></p>

<p>J'espère que cette fonctionnalité vous plaira et que vous vous amuserez avec.</p>
]]></content:encoded>
        </item>
        <item>
            <title>Les conversations arrivent</title>
            <link>https://www.monicahq.com/fr/blog/conversations/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/conversations/</guid>
            <pubDate>Wed, 05 Sep 2018 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Une façon de consigner ce que vous échangez sur les réseaux sociaux ou par SMS</description>
            <content:encoded><![CDATA[<p>Au fond, Monica sert à consigner des informations sur les personnes qui comptent pour vous. Vous pouviez déjà enregistrer beaucoup de choses, mais vous n'aviez pas de moyen simple de noter ce que vous aviez dit à quelqu'un à un moment donné.</p>

<p>Avec notre <a href="https://github.com/monicahq/monica/releases">dernière mise à jour</a>, vous pouvez désormais consigner une conversation tenue avec quelqu'un sur les réseaux sociaux, par SMS ou via Telegram, par exemple. L'interface que nous avons choisie s'inspire de celle des messageries populaires.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2018-09-05-conversations.webp" alt="Le formulaire pour consigner une conversation, message par message, en indiquant qui a écrit chacun d'eux." width="727" height="735" loading="lazy" decoding="async"></p>

<p>Quand vous consignez une conversation, vous pouvez indiquer par quel moyen de communication elle a eu lieu. Cette liste provient des types de champs de contact définis dans vos réglages.</p>

<p>Nous espérons que vous ferez bon usage de cette nouveauté.</p>
]]></content:encoded>
        </item>
        <item>
            <title>Monica 2.4.0</title>
            <link>https://www.monicahq.com/fr/blog/v2.4.0/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/v2.4.0/</guid>
            <pubDate>Wed, 25 Jul 2018 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Beaucoup de petites fonctionnalités sont livrées dans cette version.</description>
            <content:encoded><![CDATA[<p>Ces deux derniers mois, nous avons livré <a href="https://github.com/monicahq/monica/releases">tout un lot de nouveautés utiles</a> et nous avons été bien trop silencieux à ce sujet.</p>

<p>Voici quelques-uns des changements les plus importants :</p>

<ul>
<li>Suppression de la création automatique d'un rappel d'anniversaire à la modification d'un contact : cela agaçait beaucoup d'utilisateurs. Désormais, quand vous ajoutez ou modifiez un contact et renseignez une date de naissance, nous ne créons plus automatiquement de rappel pour cet événement.</li>
<li>Les dettes de tous vos contacts apparaissent maintenant sur le tableau de bord.</li>
<li>Nous avons ajouté la conformité au RGPD. Cette nouvelle loi européenne nous oblige à confirmer votre adresse email à l'inscription. Je voulais l'éviter, mais nous n'avons pas le choix juridiquement.</li>
<li>Nous avons amélioré l'import de contacts au format CSV. Le processus devrait mieux fonctionner.</li>
<li>Nous avons ajouté un nouveau type de relation entre contacts : ex-épouse/ex-époux.</li>
<li>Un nouveau filtre dans la liste des contacts permet de voir les contacts qui ne sont associés à aucun tag.</li>
<li>Nous prenons enfin en charge les surnoms de vos contacts. Vous pouvez aussi choisir la façon d'afficher les noms dans votre compte.</li>
<li>Ajout de la prise en charge des Yubikey, une fonctionnalité de sécurité supplémentaire pour ceux qui veulent une couche de protection en plus.</li>
</ul>

<p>Par ailleurs, cela fait maintenant plus d'un an que Monica a été lancée sur Hacker News. La croissance a été assez incroyable, en particulier du côté de la communauté sur GitHub. Nous avons désormais plus de 110 contributeurs qui aident à construire Monica, ce qui est formidable. Cela dit, il y a un revers : nous avons beaucoup livré de nouveautés et, à ce rythme, nous n'avons pas été assez prudents ces derniers mois. Monica n'est pas aussi stable qu'elle devrait l'être. Rien de dramatique ni de critique, mais les deux dernières versions ont connu des bugs bêtes que nous aurions pu éviter, et nous allons mettre en place des mesures pour que cela ne se reproduise plus. Il est d'autant plus important de livrer des versions sans bugs que Monica reste un projet parallèle : le pire qui puisse arriver est de constater qu'un problème grave touche la plateforme alors que vous êtes au travail, et de devoir attendre d'avoir le temps de corriger et de déployer en production (généralement en rentrant à la maison, avec les enfants à gérer). Au quotidien, croyez-moi, ce n'est pas le genre de souci que l'on souhaite.</p>

<p>Tout cela pour dire que nous allons essayer de nous concentrer sur la qualité en général.</p>

<p>Continuez à nous envoyer vos retours par email ou via un ticket sur GitHub. Nous lisons chaque message et votre avis compte pour nous (vraiment).</p>
]]></content:encoded>
        </item>
        <item>
            <title>L&#039;application mobile est là</title>
            <link>https://www.monicahq.com/fr/blog/mobile-application/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/mobile-application/</guid>
            <pubDate>Mon, 28 May 2018 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>L&#039;application mobile officielle a atterri.</description>
            <content:encoded><![CDATA[<p>Je reçois des emails réclamant une application mobile presque tous les jours depuis le lancement public de juin 2017.</p>

<p>Je comprends pourquoi. Une application mobile pour Monica a tellement de sens. Vous voulez avoir l'information immédiatement disponible, où que vous soyez, au bon moment. Pas quand vous êtes chez vous devant votre ordinateur.</p>

<p>Nous avons commencé à travailler sur l'application mobile il y a 6 mois. C'est long. Je ne crois pourtant pas que la plupart des gens mesurent le travail nécessaire pour livrer une application mobile. Surtout quand 99,9 % du code est écrit par une seule personne (le formidable @mokto). Qui a un travail à plein temps. Et qui n'est pas payé pour cela.</p>

<p>Pendant ces mois, nous avons beaucoup travaillé à mettre en place tout ce dont l'application mobile aurait besoin. L'API a beaucoup changé pour permettre certaines fonctionnalités. Nous avons stabilisé le backend pour être sûrs que tout fonctionne parfaitement. Nous avons aussi passé beaucoup de temps à bien configurer le dépôt GitHub de l'application mobile, ce qui nous permettra d'avancer plus vite à l'avenir (une bonne intégration continue, des tests unitaires, la publication automatique sur les stores, etc.).</p>

<p>Six mois plus tard, nous sommes fiers d'annoncer que la première version de l'application mobile est disponible <a href="https://itunes.apple.com/ca/app/monica-personal-crm/id1339447754?mt=8">sur iOS</a> et sur <a href="https://play.google.com/store/apps/details?id=com.monicahq.app">Android</a>.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2018-05-28-mobile-app.webp" alt="L'application mobile de Monica sur trois téléphones : la fiche d'un contact, la liste de contacts vide et l'écran des activités." width="1950" height="1096" loading="lazy" decoding="async"></p>

<p>Une réserve cependant : <em>cette première version est en lecture seule</em>. Vous ne pouvez donc ni ajouter ni modifier quoi que ce soit. Nous voulons une application de qualité, mais nous voulons avancer lentement et nous assurer qu'elle fonctionne bien. Dès que nous serons sûrs que cette version marche pour tout le monde, nous ajouterons de quoi manipuler complètement vos données comme vous l'entendez (petit indice : nous avons déjà commencé à travailler sur une nouvelle version).</p>

<p>À part cela, cette application mobile a tout ce que vous attendez de nous :</p>

<ul>
<li>Une interface simple et agréable.</li>
<li>Vous pouvez vous connecter à notre version hébergée de Monica, ou à votre propre instance.</li>
<li>Le code est open source. Vous pouvez le lire, ouvrir des tickets, y contribuer. Tout ce que nous faisons est ouvert et transparent, et nous croyons que seule la collaboration mène au meilleur produit.</li>
<li>Open source signifie que vous pouvez <em>compiler et exécuter l'application mobile sans passer par les stores officiels d'Apple et de Google</em>, ce qui est assez remarquable, à mon avis.</li>
<li>Nous n'affichons pas de publicité et nous ne revendons pas vos données.</li>
<li>Nous n'avons aucun traceur dans notre code.</li>
<li>L'application est gratuite. Sans contrepartie.</li>
</ul>

<h3>Comment aider ?</h3>

<p>Nous avons besoin de personnes qui veulent tester l'application et <a href="https://github.com/monicahq/chandler/issues">nous signaler les bugs</a>, pour l'essentiel. Nous aimerions aussi votre avis sur ce que nous devrions construire ensuite, ou sur la façon d'améliorer l'application (en matière d'expérience ou de mise en page).</p>

<h3>La suite</h3>

<p>Dans les prochains jours, nous améliorerons la documentation du dépôt GitHub officiel, afin que les développeurs qui veulent aider puissent rejoindre le projet très facilement.</p>

<p>Dans les prochains mois, nous ajouterons la possibilité de modifier vos données depuis l'application mobile. L'objectif final est que tout ce que vous pouvez faire sur le web soit faisable sur mobile (à l'exception de l'export de vos données, car comment stocker un fichier sur iOS...). C'est pour cela que nous construisons désormais les fonctionnalités d'abord dans l'API, puis dans l'interface (web et mobile).</p>

<p>Pour conclure, je dirais que je suis très fier de ce que nous avons accompli jusqu'ici, et plus fier encore de la communauté qui nous aide chaque jour. Vos retours et votre aide rendent Monica possible.</p>
]]></content:encoded>
        </item>
        <item>
            <title>Gardez le contact avec ceux que vous aimez</title>
            <link>https://www.monicahq.com/fr/blog/stay-in-touch/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/stay-in-touch/</guid>
            <pubDate>Thu, 03 May 2018 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Recevez un email à intervalle régulier pour garder le contact avec vos proches</description>
            <content:encoded><![CDATA[<p>Il y a dans votre vie des personnes particulièrement importantes dont vous ne voulez rien manquer. Vous pouvez désormais utiliser la nouvelle fonctionnalité « Garder le contact » pour recevoir une alerte à propos d'une personne précise, à l'intervalle de votre choix.</p>

<p><img src="https://www.monicahq.com/assets/images/blog/2018-05-03-stayintouch.gif" alt="La fiche d'un contact avec le lien « rester en contact » sous le nom." width="1136" height="580" loading="lazy" decoding="async"></p>

<p>La fonctionnalité envoie un email tous les quelques jours. Elle ne tient pas compte de la dernière fois où vous avez échangé avec quelqu'un ou enregistré une activité.</p>

<p>La <a href="https://github.com/monicahq/monica/releases/tag/v2.1.0">version 2.1.0</a> apporte aussi la prise en charge du Markdown dans le journal et dans les notes. Nous avons également corrigé de nombreux bugs et poursuivi le travail d'amélioration de nos images Docker et Vagrant.</p>

<p>Merci pour tous les emails que vous envoyez et les tickets que vous ouvrez sur GitHub. Cela nous aide beaucoup à savoir sur quoi travailler ensuite (même si nous avons une bonne idée de ce que nous voulons faire).</p>
]]></content:encoded>
        </item>
        <item>
            <title>Monica 2.0.0 avec de meilleures relations</title>
            <link>https://www.monicahq.com/fr/blog/v2.0.0/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/v2.0.0/</guid>
            <pubDate>Mon, 16 Apr 2018 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Une meilleure gestion des relations, et bien plus encore.</description>
            <content:encoded><![CDATA[<p>La semaine dernière, nous avons publié une version majeure. Si majeure, en fait, que nous avons dû passer le numéro de version à 2.0.0. Voici la liste des principaux changements livrés avec cette version (lisez le changelog complet pour la liste de tous les changements).</p>

<p>Refonte des relations</p>

<p>Monica a toujours permis de relier des contacts entre eux. Cette relation se limitait cependant aux relations parent-enfant ou aux relations amoureuses. Ce n'était pas le système le plus souple. À partir de maintenant, vous pouvez relier des contacts avec de nombreux types de relations : oncle/neveu, collègue, mentor/protégé, etc. La liste complète des relations possibles est définie ici.</p>

<p>Nous avons aussi essayé de respecter les genres quand nous le pouvons. Si les contacts sont des femmes, nous dirons « tante » plutôt qu'« oncle », et ainsi de suite. C'est un vrai défi pour les contacts qui ont un genre personnalisé. Nous ne gérons pas encore ce cas, mais nous cherchons une bonne solution.</p>

<p>C'est le plus gros changement que nous ayons apporté à Monica jusqu'ici. Malgré une longue période de tests, nous avons connu quelques cahots pendant le déploiement de cette nouveauté, et j'espère que les choses sont plus stables désormais.</p>

<p>La possibilité de choisir les fonctionnalités actives sur une fiche de contact</p>

<p>Nous avons maintenant une option pour personnaliser les fonctionnalités que vous souhaitez utiliser avec vos contacts. Dans l'onglet Personnalisation des réglages, vous pouvez activer ou désactiver les fonctionnalités qui comptent pour vous. Si vous ne voulez pas afficher la section Cadeaux, par exemple, vous pouvez la masquer.</p>

<p>Date des entrées de journal</p>

<p>Vous pouvez désormais préciser une date pour une entrée de journal, ce qui vous donne plus de contrôle sur votre journal.</p>

<p>Langues écrites de droite à gauche</p>

<p>Nous prenons désormais en charge les langues écrites de droite à gauche, à commencer par l'hébreu. Merci à notre formidable communauté de traducteurs de l'avoir rendu possible, et pour leurs contributions au processus de traduction en général.</p>

<p>Markdown dans les commentaires d'activité</p>

<p>Markdown est un formidable outil de mise en forme. Nous l'utilisions déjà dans les notes d'appel, nous l'utilisons maintenant aussi dans le commentaire d'une activité.</p>

<p>Note finale</p>

<p>Nous avons beaucoup de chance d'avoir une belle communauté autour de ce projet. Je voudrais remercier chaque contributeur (ils sont plus de 100 aujourd'hui) qui a aidé en contribuant au code, chaque traducteur pour son effort colossal de traduction des milliers de mots de l'application, chaque abonné et chaque donateur pour leur contribution financière. Tout aide. Dans un monde qui réalise enfin à quel point les grandes plateformes sociales détruisent la vie privée des gens et abîment les relations entre les personnes, nous avons besoin de projets indépendants et open source comme Monica pour retrouver foi en la beauté des relations humaines.</p>

<p>La version 2.0.0 est déjà disponible au téléchargement et fonctionne sur notre version hébergée.</p>
]]></content:encoded>
        </item>
        <item>
            <title>Sur le fait d&#039;avoir trop de réglages</title>
            <link>https://www.monicahq.com/fr/blog/too-many-settings/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/too-many-settings/</guid>
            <pubDate>Mon, 09 Apr 2018 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Est-ce acceptable d&#039;avoir trop de réglages ?</description>
            <content:encoded><![CDATA[<p>Au fil du temps, nous avons ajouté de plus en plus de réglages dans Monica. Cela va à l'encontre de ce en quoi je crois et de ce que j'essaie d'éviter depuis des années : ne polluez pas votre logiciel avec un nombre infini de réglages et d'options de personnalisation.</p>

<p>Un produit doit avoir un point de vue et suivre sa propre vision, au risque de repousser des utilisateurs potentiels. Pourquoi s'inscrire à un produit qui n'a ni voix ni manière de faire qui lui soient propres ? Ma vision, c'est un produit simple et puissant, avec le moins de réglages possible.</p>

<p>Comment diable, alors, en sommes-nous venus à ajouter un onglet Personnalisation dans les réglages ?</p>

<p>Mon intention est de permettre la personnalisation pour les choses que je ne peux ni contrôler ni décider moi-même. Monica n'est pas un outil professionnel. Elle doit refléter la vie réelle des gens et s'adapter à la situation unique de chacun. L'une des erreurs que j'ai commises au début concernait par exemple les genres : je n'en proposais que deux, masculin et féminin. C'était ma propre réalité, mais pas celle de très nombreuses personnes. Plutôt que de décider à la place de nos utilisateurs, nous avons ajouté la souplesse nécessaire pour définir vos propres genres, ceux qui correspondent à votre réalité et non à la nôtre. J'ai l'intention de faire de même pour chaque notion qui touche à des aspects importants de nos vies.</p>

<p>Notez que ces réglages n'incluront pas la personnalisation du nombre d'éléments affichés sur une page ou d'autres détails insignifiants de ce genre. Ils n'ont tout simplement pas d'importance.</p>

<p>J'espère que cela clarifie un peu la direction que nous prenons sur la personnalisation du produit en général.</p>
]]></content:encoded>
        </item>
        <item>
            <title>Notre première récompense</title>
            <link>https://www.monicahq.com/fr/blog/our-first-award/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/our-first-award/</guid>
            <pubDate>Wed, 21 Mar 2018 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Nous avons remporté le prix Open Source Rookie of the Year.</description>
            <content:encoded><![CDATA[<p>Nous avons reçu <a href="https://www.infoworld.com/article/3263736/open-source-tools/the-best-open-source-rookies-of-2018.html">notre première récompense</a> : Open Source Rookie of the Year 2018, qui distingue chaque année quelques-uns des projets open source les plus innovants et les plus influents. Il est formidable de voir Monica reconnue, mais la communauté mérite d'être reconnue tout autant. C'est grâce à vous, la communauté, que nous en sommes là aujourd'hui. Vous êtes la force motrice de ce projet, la raison pour laquelle nous le construisons, et vous aidez à décider de la suite. Je suis fier de faire partie de cette aventure. Écrivons-en une belle histoire.</p>
]]></content:encoded>
        </item>
        <item>
            <title>À propos de la conception produit</title>
            <link>https://www.monicahq.com/fr/blog/product-design/</link>
            
            <guid isPermaLink="true">https://www.monicahq.com/fr/blog/product-design/</guid>
            <pubDate>Tue, 13 Mar 2018 00:00:00 +0000</pubDate>
            <dc:creator>Regis Freyd</dc:creator>
            <description>Une bonne conception produit : valeur pour l&#039;utilisateur &gt; facilité d&#039;usage &gt; rapidité &gt; design.</description>
            <content:encoded><![CDATA[<p>Il y a quelque temps, j'ai publié cette formule :</p>

<p>Une bonne conception produit : valeur pour l'utilisateur > facilité d'usage > rapidité > design</p>

<p>J'aimerais expliquer le raisonnement qui la sous-tend.</p>

<p>Qu'est-ce que la conception produit ? C'est la combinaison de ce que fait un produit et de la façon dont il le fait.</p>

<p>Les concepteurs produit ont une responsabilité qui dépasse le choix de l'apparence ou du comportement des choses. Ils construisent la façon dont les gens interagissent avec le produit. Ils doivent prendre en compte quantité de critères pour bien faire leur travail. Il vaut cependant la peine de se demander quels critères doivent primer dans le processus de conception, si l'on ne peut pas couvrir tout le spectre de ce qui fait une bonne pratique de conception.</p>

<p>La chose la plus importante qu'un produit (ou une fonctionnalité) doive faire, c'est apporter de la valeur à l'utilisateur. Toute autre considération vient ensuite. Votre produit peut être lent, laid, difficile à utiliser, plein de bugs : si votre travail aide les gens à résoudre un problème précis dont ils souffrent, ils supporteront n'importe quoi pour s'en servir. On ne peut pas en dire autant d'un beau produit qui n'apporte aucune valeur : personne ne l'utilisera.</p>

<p>Une fois certain que le produit ou la fonctionnalité apporte de la valeur, vous pouvez consacrer votre énergie à une bonne expérience utilisateur. Cela ne veut pas dire le rendre beau, ni même joli. Juste vraiment simple à utiliser, ou vraiment facile à comprendre. Les gens viennent à votre produit parce que vous leur avez promis quelque chose, qui se résume souvent à leur simplifier la vie ou le travail. Ils voudront profiter de votre solution le plus vite possible et lui accorderont moins de valeur s'ils ne peuvent pas faire simplement ce que vous leur demandez, ou si c'est si complexe qu'ils se sentent stupides.</p>

<p>Une fois que votre produit apporte assez de valeur et qu'il est simple à utiliser, concentrez-vous sur la rapidité. Les grands produits sont rapides. Ils ne gaspillent pas le temps précieux de leurs utilisateurs. Plus un produit est rapide, plus vous lui faites confiance. La plupart des équipes avec lesquelles j'ai travaillé considèrent qu'une fonctionnalité est livrée dès que le code est écrit et que les tests passent. Pourtant, une fonctionnalité ne devrait pas être considérée comme terminée si elle n'est pas aussi rapide qu'elle pourrait l'être. Votre produit est la somme de ses fonctionnalités. Si vous introduisez ici et là des fonctionnalités lentes, l'ensemble finira par en souffrir. Les utilisateurs dévalorisent les produits lents.</p>

<p>Enfin, une fois qu'un produit apporte assez de valeur, qu'il est facile à utiliser et rapide, vous pouvez le rendre joli s'il vous reste du temps ou assez d'argent pour vous l'offrir. Mais ce n'est pas nécessaire en soi. J'irais jusqu'à dire que si quelque chose apporte assez de valeur à l'utilisateur, le design n'a pas d'importance. L'apparence est la cerise sur le gâteau. Le design en lui-même ne devrait pas être votre principal facteur de différenciation. Il aidera à vous distinguer un peu de vos concurrents quand vous aurez du succès et que de nombreux imitateurs feront exactement la même chose que vous, exactement de la même façon. Cela dit, si votre seul facteur de différenciation est une question de design, vous avez d'autres problèmes à régler d'abord. Le design est une mode qui change souvent et vite. Ce qui est jugé beau aujourd'hui le sera moins demain, simplement parce que.</p>

<p>Chaque jour, j'utilise Monica. Et chaque jour, j'aimerais qu'elle ait un meilleur design, une meilleure expérience et qu'elle soit plus rapide. Mais je ne priorise pas du tout ces aspects et, même si cela me coûte, je préfère créer d'abord le plus de valeur possible. Quand Monica atteindra un état où nous pourrons nous permettre de prendre le temps d'améliorer les choses, cela voudra dire que nous aurons créé un produit qui apporte énormément de valeur, extrêmement simple à utiliser et assez rapide pour tout le monde. Nous n'y sommes pas encore.</p>

<p>Pour résumer, qu'aimeriez-vous entendre vos utilisateurs dire de votre travail ? « D'accord, ce n'est pas joli, mais c'est tellement utile que ça m'est égal », ou « D'accord, c'est beau, mais je ne vois même pas pourquoi ce produit existe ».</p>
]]></content:encoded>
        </item>
    </channel>
</rss>
