Projet en cours · R&D personnelle

Grace, mon J.A.R.V.I.S. personnel.

Dans la fiction, Tony Stark ne clique pas sur des formulaires : il converse avec J.A.R.V.I.S., qui surveille son atelier, anticipe ses questions et déclenche les bons outils au bon moment. Grace est cette idée appliquée à mon quotidien, avec une exigence : aucun assistant du commerce n'écoute en permanence chez moi. Elle est locale par défaut, et me demande mon accord avant toute action à enjeu.

En développement actif · chiffres vérifiés dans le code le 7 octobre 2026

L'idée

Un majordome numérique, pour une seule maison.

Grace est faite pour une personne — moi — et pour mon foyer. Ce n'est pas un produit : c'est un terrain d'essai où je pousse l'IA aussi loin que je peux, sans lui confier ce qu'elle ne doit pas décider seule.

Elle écoute et répond

On lui parle, elle répond à voix haute et affiche des écrans d'information. Le mot de réveil, la reconnaissance de la parole et la voix tournent sur mon propre matériel.

Elle agit

63 outils à sa disposition : maison connectée, agenda, mails, documents, fichiers, serveurs, veilles d'annonces, liste de courses.

Elle prévient

Échéance, panne, bonne annonce, personne détectée quand tout le monde est absent : elle parle d'elle-même, dans la limite d'un quota quotidien et d'heures calmes.

Elle demande avant d'agir

Toute action à enjeu passe par mon accord, aucun mail ne part seul, et chaque décision est écrite dans un journal que je peux relire.

Fonctionnement

De « Hey Grace » à l'action.

Une demande vocale traverse quatorze étapes. Presque toutes se déroulent chez moi ; un modèle en ligne ne prend le relais qu'en secours, si le modèle local tombe.

  1. Écoutemot de réveil et transcription
  2. Compréhensionrègles, routeur, puis modèle
  3. Garde-fousl'humain approuve l'enjeu
  4. Action et voixoutils, écran, réponse parlée
  1. 01

    Mot de réveil Appareil

    Le navigateur écoute en permanence et reconnaît « Hey Grace », sans rien envoyer sur le réseau.

  2. 02

    Enregistrement Appareil

    L'enregistrement s'arrête après environ 0,9 seconde de silence.

  3. 03

    Envoi Réseau domestique

    L'audio part vers l'orchestrateur, le chef d'orchestre de Grace.

  4. 04

    Transcription Local

    Whisper transforme la voix en texte.

  5. 05

    Raccourcis immédiats Local

    Un bonjour, un merci ou une correction reçoivent une réponse directe, sans modèle de langage.

  6. 06

    Routage Local

    Des règles, puis un routeur d'intention, reconnaissent les demandes courantes : météo, agenda, mail, lieu, musique…

  7. 07

    Étapes par domaine Local

    La demande traverse huit étapes dans un ordre fixe ; la première qui sait répondre arrête la chaîne.

  8. 08

    Compréhension Local

    Si rien n'a reconnu la demande, une lecture préalable la reformule et désigne les domaines concernés.

  9. 09

    Conversation avec outils Local, en ligne en secours

    Le modèle de langage ne reçoit que les outils des domaines compris. Il peut en appeler jusqu'à trois tours de suite.

  10. 10

    Garde-fous Local

    Chaque appel d'outil est contrôlé : outil inconnu ou sans rapport refusé, action à enjeu mise en attente d'approbation.

  11. 11

    Filets de sécurité Local

    La réponse est nettoyée avant d'être dite : appel d'outil recopié en texte, image inventée, réponse vide.

  12. 12

    Synthèse vocale Local

    Piper produit le son, phrase par phrase.

  13. 13

    Diffusion Local

    Le son est joué par le navigateur ou une enceinte connectée ; les panneaux s'affichent à l'écran.

  14. 14

    Traces Local

    Le tour est écrit dans le journal, vérifié par le détecteur d'incertitude et gardé comme souvenir.

Une demande tapée au clavier, envoyée par Telegram ou venue d'un satellite vocal suit le même chemin à partir de l'étape 5. La météo, l'agenda, les mails et la recherche web font appel, eux, à des services externes.

Sous le capot

Huit moteurs, une carte graphique de 6 Go.

Pas de ferme de serveurs : des modèles choisis pour tenir sur du matériel grand public. La carte graphique ne garde en permanence que le modèle de conversation, rechargé dès qu'une tâche de fond l'a délogé.

Mot de réveil

openWakeWord

Détecte « Hey Grace » directement dans le navigateur de l'appareil.

Reconnaissance vocale

Whisper (medium)

Transcrit la parole en français, sur le processeur du serveur.

Voix

Piper

Voix française féminine, produite sur le processeur du serveur.

Conversation

llama3.2 · 3B

Routeur d'intention, compréhension et conversation avec outils, sur une carte graphique grand public de 6 Go.

Tâches de fond

qwen2.5 · 7B

Missions, synthèses et notation des annonces, sur la même carte graphique.

Recherche par le sens

embeddinggemma

Transforme une phrase en nombres pour comparer des sens : mémoire et compréhension.

Vision

moondream

« Grace, regarde » : décrit ce qui est montré à la caméra.

Modèles en ligne

Gemini · Claude

Uniquement pour les tâches que j'ai choisies, et en secours si le modèle local tombe.

Les bras

63 outils, rangés par domaine.

Pour agir, la parole ne suffit pas. Chaque outil n'est proposé au modèle que si son domaine a été compris dans la demande — et chacun porte un niveau de risque.

Maison

  • home_assistant_list_entities Liste les appareils de la maison et leur état Lecture
  • home_assistant_get_state Donne l'état d'un appareil précis Lecture
  • home_assistant_call_service Pilote un appareil : lumière, prise, volet, thermostat, scène. Serrures, alarmes et portails sont exclus Validation
  • home_center Ouvre le centre domotique plein écran Lecture
  • health_center Ouvre le bilan santé plein écran Lecture

Agenda

  • calendar_list_events Liste les prochains événements Lecture
  • create_calendar_event Crée un événement Validation
  • update_calendar_event Modifie un événement existant Validation

Courrier

  • mail_search Cherche des messages Lecture
  • mail_read Lit un message Lecture
  • inbox_action_items Liste les mails récents qui demandent une action Lecture
  • mail_prepare_draft Prépare un brouillon de réponse, sans l'envoyer Écriture légère
  • mail_reply Répond à un message Validation obligatoire
  • mail_send Envoie un nouveau message Validation obligatoire
  • sender_center Ouvre le tableau de bord du filtre des expéditeurs Lecture

Fichiers & documents

  • seafile_list_dir Liste le contenu d'un dossier Lecture
  • seafile_search Cherche un fichier par son nom Lecture
  • seafile_read_file Lit le texte d'un fichier (texte, PDF, Word) Lecture
  • seafile_watch_recent Liste les fichiers modifiés récemment Lecture
  • seafile_write_file Crée un document dans un dossier existant, sans jamais remplacer un fichier Validation
  • docs_center Ouvre le centre des documents (contrats et échéances) Lecture
  • paperless_search Cherche une facture ou un courrier numérisé Lecture
  • paperless_update_document Renomme ou étiquette un document numérisé Validation
  • immich_search Cherche des photos et les affiche en galerie Lecture

Veilles d'annonces

  • watch_create Crée une veille sur une recherche d'annonces Écriture légère
  • watch_list Liste les veilles en cours Lecture
  • watch_results Montre les meilleures annonces d'une veille, avec leur note Lecture
  • watch_update Met en pause, reprend, arrête ou modifie une veille Écriture légère
  • listing_feedback Enregistre un avis sur une annonce Écriture légère
  • watch_center Ouvre le centre des veilles plein écran Lecture

Serveurs

  • monitoring_query_metric Interroge une mesure de supervision Lecture
  • monitoring_alerts Liste les alertes en cours Lecture
  • monitoring_grafana_dashboards Cherche un tableau de bord Lecture
  • proxmox_status Donne l'état du serveur de virtualisation Lecture
  • proxmox_lxc_list Liste les conteneurs du serveur Lecture
  • proxmox_backups Donne l'état des sauvegardes des machines Lecture
  • homelab_center Ouvre le centre « homelab » plein écran Lecture
  • grace_status Ouvre l'écran « État de Grace » Lecture

Mémoire

  • remember_fact Retient un fait Écriture légère
  • recall_facts Cherche dans les faits retenus Lecture
  • forget_fact Oublie un fait Écriture légère

Vie quotidienne

  • shopping_add Ajoute des articles à la liste de courses Écriture légère
  • shopping_list Lit la liste de courses Lecture
  • shopping_remove Retire un article Écriture légère
  • cave_search Consulte la cave (vins et bières) Lecture
  • cave_drink Retire une bouteille du stock Écriture légère
  • notify_telegram M'envoie un message sur Telegram, à ma demande Écriture légère
  • review_status Fait le bilan de la journée ou de la semaine Lecture
  • why_announcement Explique pourquoi Grace a annoncé quelque chose d'elle-même Lecture

Web, météo & lieux

  • time_now Donne l'heure et la date Lecture
  • web_search Cherche sur internet Lecture
  • web_open Ouvre une page et en lit le texte Lecture
  • news_headlines Donne les derniers titres des sujets suivis Lecture
  • news_list_interests Liste les sujets suivis Lecture
  • news_add_interests Ajoute un sujet suivi Écriture légère
  • news_remove_interests Retire un sujet suivi Écriture légère
  • weather_current Donne la météo actuelle Lecture
  • weather_tomorrow Donne la prévision du lendemain Lecture
  • show_place Affiche un lieu sur une carte Lecture
  • show_route Affiche un itinéraire, sa distance et sa durée Lecture

Automatisations

  • n8n_trigger_workflow Lance une automatisation que j'ai préparée dans n8n Validation

Deux outils qui touchent à des données privées ne sont pas détaillés ici. S'y ajoutent une vingtaine d'actions que le modèle ne voit jamais : banque, portefeuille, musique, énergie. Elles sont déclenchées par des règles fixes, car un montant ne doit pas transiter par un modèle de langage.

Sécurité et contrôle

Quatre niveaux de risque, fermés par défaut.

Un outil qu'on aurait oublié de classer est traité comme une action à enjeu, donc bloqué — et un test refuse tout changement de code où un outil n'a pas de niveau.

  1. 43

    Lecture outils

    Aucun effet : consulter, chercher, afficher.

  2. 12

    Écriture légère outils

    Effet faible et réversible, tracé dans le journal : retenir un fait, ajouter à la liste de courses.

  3. 6

    Écriture à enjeu outils

    Effet réel : l'action attend mon accord. Je peux lever cette exigence outil par outil.

  4. 2

    Irréversible outils

    Aucune autonomie possible, quel que soit le réglage : envoyer un mail, y répondre.

Ce que Grace ne fait jamais seule

  • Faire partir un mail, répondre à une invitation ou se désinscrire d'une liste sans une décision explicite.
  • Ouvrir une serrure ou un portail, désarmer une alarme : ces appareils sont exclus du pilotage.
  • Dire un solde bancaire, ou le transmettre à un modèle, sans le code de confidentialité.
  • Appliquer un correctif à son propre code : elle le propose et le teste à part, jamais plus.
  • Écrire elle-même ses règles de routage.
  • Répondre à un mail qu'elle n'a pas réellement retrouvé et lu dans le même échange.

Comment je donne mon accord

  • À l'écran — une carte d'approbation lisible ; je peux corriger le destinataire, l'objet ou le texte avant d'accepter, et ce qui part est exactement ce qui est affiché.
  • Dans la console d'administration ou sur Telegram.
  • À la voix, pour un brouillon de mail : elle relit le destinataire et attend une confirmation explicite.
  • Une demande sans réponse expire au bout de 24 heures, et j'en suis informé.
Autonomie
Graduée, outil par outil
Heures calmes
22 h – 7 h : tout redevient une demande
Journal
Chaque décision, relisible

Une seule exception, documentée : quand un inconnu m'écrit, Grace peut lui envoyer un mail à texte fixe lui demandant de prouver qu'il est humain. Ce texte n'est pas rédigé par le modèle, et les envois sont plafonnés.

Proactivité

Elle parle la première, mais sait se taire.

Grace n'attend pas qu'on l'interroge. Pour ne pas devenir envahissante, elle dispose d'un budget d'interruptions.

Annonces et rapports 9
Point du matin : météo du jour et prochains rendez-vous
Chaque jour, dès 7 h
Bilan du soir : ce qui est fait, ce qui attend, demain
Chaque jour, entre 20 h et 23 h
Revue de la semaine
Le dimanche soir
Rappel avant un rendez-vous
Vérifié toutes les 5 min
Rappels que je lui ai demandés
Vérifiés chaque minute
Échéances : factures, préavis de contrat
Toutes les 30 min
Agenda : conflits et heure de départ
Toutes les 10 min
Rapport « depuis votre dernière connexion »
À l'ouverture de l'interface
Accueil au retour : ce qui s'est passé à la maison
Après 45 min d'absence ou plus
Surveillance en continu 9
Relève des mails, de l'agenda, des fichiers et des documents, avec synthèse
Toutes les 5 min
Filtre des expéditeurs inconnus
Chaque minute
Veilles d'annonces
Toutes les 6 h par veille
Serveurs : nouvelle alerte, conteneur arrêté
Toutes les 5 min
Sauvegardes des machines en retard
Toutes les 30 min
Réactions aux événements de la maison
Immédiat
Alerte si une personne est détectée quand tout le foyer est absent
Immédiat
Électroménager : durée et coût appris des cycles
Toutes les 10 min
Santé de ses propres services
Toutes les 2 min
Entretien 4
Sauvegarde des bases et de la configuration
Chaque jour, 30 jours gardés
Entretien de la mémoire : fusion des doublons, purge des faits périmés
Chaque jour
Évaluations de routage et brouillons de cas de test
Chaque nuit, entre 3 h et 5 h
Missions programmées
À l'heure choisie

Elle choisit aussi son canal : la voix si quelqu'un est là, Telegram en cas d'absence.

Mémoire

Elle se souvient, et sait oublier.

Les assistants génériques repartent de zéro à chaque session. Grace garde six formes de mémoire, toutes rangées dans des bases de données qui restent sur ma machine.

Fil de conversation

Les derniers échanges, donnés au modèle à chaque tour.

6 tours · remis à zéro après 10 min de silence

Faits

Des faits courts sur moi : préférences, habitudes, informations utiles. Chacun est daté et sourcé.

Gardé tant qu'il est reconfirmé · purgé après 90 jours sinon

Souvenirs

Ce qui a été demandé, répondu, et l'intention. Les plus proches du sens de la demande sont rappelés.

Les 400 derniers

Synthèses

Résumé, action à faire et échéance de chaque mail, événement, fichier ou document.

400 éléments par source

Règles apprises

Mes corrections (« ce n'est pas ça ») deviennent des règles appliquées aux échanges suivants, sans toucher au code.

Jusqu'à suppression

Journal

Chaque décision, pour pouvoir répondre à « pourquoi tu m'as dit ça ? ».

Les 500 dernières lignes

Une fois par jour, une tâche d'entretien fusionne les faits presque identiques, purge les périmés et régénère un fichier lisible que je peux relire et corriger. Un fait « oublié » est désactivé, pas effacé.

Veilles d'annonces

Onze sites lus, une seule alerte par bien.

Une veille se crée à la voix. Grace repasse toutes les six heures, note chaque annonce sur 100 et ne me dérange que lorsque cela en vaut la peine.

Sources4 catégories

Où elle cherche

Voitures
Leboncoin, AutoScout24, Paruvendu, Debard, Startcar, Spoticar
Immobilier
Leboncoin, Bien'ici, Paruvendu et deux agences locales
Mobil-homes
Les mêmes sources que l'immobilier
Le reste
Leboncoin, Amazon, Cdiscount

Notation0 à 100

Comment elle note

Chaque annonce est comparée à la médiane de sa veille — pour une voiture : prix, kilométrage, année. Le modèle de langage juge ensuite l'adéquation à ma demande et signale les signes d'arnaque.

Note finale
60 % modèle · 40 % comparaison chiffrée
Prix illisible
Note plafonnée à 60
Seuil d'alerte
70 par défaut

Dédoublonnageentre sites

Un bien, une annonce

Un même bien publié sur plusieurs sites n'est signalé qu'une fois : même prix, même année et même kilométrage pour une voiture ; même prix et même surface pour un logement. Sans ces données, elle ne regroupe pas.

Cadencetoutes les 6 h

Ce qu'elle me signale

Une nouvelle annonce au-dessus du seuil, une baisse de prix d'au moins 5 %, une annonce retenue qui disparaît. Elle lit une veille à la fois, jamais pendant une conversation, en espaçant ses requêtes.

Interface

Un écran qui s'efface derrière la voix.

L'interface est une page web plein écran, installable comme une application sur une tablette. Au centre, une sphère de particules change d'aspect selon l'état : repos, écoute, réflexion, parole.

Seize vues plein écran

Chacune est conçue pour tenir sur un écran sans défilement. Des panneaux plus petits accompagnent les réponses : mails, événements, annonces, carte d'approbation.

  • Météo
  • Tableau de bord
  • Finances
  • Trading
  • Domotique
  • Santé
  • Lieu
  • Itinéraire
  • Photos
  • Déplacements
  • Veilles
  • Expéditeurs
  • Documents
  • Homelab
  • État de Grace
  • Rapport d'absence

Autour de l'écran

  • Console d'administration — journal des décisions, approbations, autonomie, mémoire, veilles, intégrations.
  • Telegram — messages, notes vocales transcrites, photos d'alerte, approbations.
  • Enceinte connectée — la réponse peut y être diffusée, avec une lumière synchronisée pendant la parole.
  • Satellites vocaux — des points d'écoute dans d'autres pièces. Premier niveau en place : il faut encore appuyer pour parler.

Au quotidien

Cinq scènes, tirées des tests.

Ces situations sont rejouées automatiquement à chaque modification du code. Les données sont celles, fictives, des tests.

01

« Surveille-moi ça »

Ce qui se passe
« Grace, surveille les kits clavier souris Bluetooth autour de ma ville, 100 km, 40 euros maximum. »
En coulisse
Le petit modèle local se trompe sur les nombres : il propose un prix maximum de 999 euros. Des règles relisent la phrase et corrigent : 40 euros, 100 km, la ville citée. La veille est créée sans approbation, car elle ne fait que lire des pages publiques.
Résultat
Au premier passage, elle présente les trois meilleures annonces. Ensuite elle repasse toutes les six heures et ne parle que pour une nouveauté bien notée, une baisse de prix ou une disparition.
02

Un mail qui ne part pas tout seul

Ce qui se passe
Un brouillon attend dans la file d'approbation. Je dis : « Envoie le mail. »
En coulisse
Grace n'envoie rien. Elle relit le destinataire et demande de confirmer. Si le texte du brouillon a changé entre la question et la confirmation, elle refuse d'envoyer.
Résultat
« Je confirme l'envoi. » — « Message envoyé. »
03

Le retour à la maison

Ce qui se passe
Je rentre après 2 h 10 d'absence ; mon téléphone est de nouveau détecté à la maison.
En coulisse
Elle rassemble ce qui s'est passé : les notifications de la maison, les passages vus par les caméras, la production des panneaux solaires.
Résultat
« Bon retour. Pendant votre absence de 2 h 10 : le lave-linge a terminé son cycle ; 1 passage vu à l'entrée ; 3,1 kilowattheures produits par les panneaux. »
04

Une silhouette quand personne n'est là

Ce qui se passe
Tout le foyer est absent. Une caméra détecte une personne.
En coulisse
Elle vérifie que les téléphones sont bien hors de la maison et prend une photo du moment. Si un occupant est présent, ou si sa position est inconnue, il n'y a pas d'alerte du tout.
Résultat
La photo s'affiche à l'écran sans un mot ni un son, et part sur Telegram avec le nom de la pièce. Si la détection vacille dans la foulée, pas de seconde alerte.
05

Quand le modèle invente

Ce qui se passe
Je pose une question banale. Le petit modèle local demande un outil qui n'existe pas.
En coulisse
L'outil n'est pas exécuté, et le modèle reçoit la consigne de ne décrire aucun résultat qu'il n'a pas obtenu.
Résultat
Le cas est rangé dans la file « Grace n'est pas sûre », que je relis. Elle ne corrige rien seule : je classe le cas ou j'en fais un test.

Histoire du projet

123 commits en dix-sept jours.

Le projet est plus ancien que son historique : le dépôt a été créé le 20 septembre 2026 à partir d'un état déjà fonctionnel. Depuis, le rythme ne faiblit pas.

  1. Avant le 20 septembre 2026

    Les fondations

    Premiers outils en lecture seule (fichiers, agenda, mail), mémoire, file d'approbation, moteur de proactivité, file d'incertitude. Le projet s'appelait alors « Jarvis ».

  2. 20 septembre

    Création du dépôt

    Autonomie graduée, budget d'interruptions, rapport d'absence, premières veilles d'annonces : 23 commits dans la journée.

  3. 21 septembre

    « Aucun mail ne part sans accord »

    Approbations lisibles et modifiables, règles apprises de mes corrections, soldes jamais dits sans code.

  4. 22 septembre

    Audit complet

    Page de suivi des améliorations, découpage du code, boucle de conversation unique avec secours en ligne, supervision.

  5. 23 septembre

    Les vues plein écran

    Météo, finances, domotique, santé, état de Grace ; alerte en cas de présence inattendue. 33 commits : la journée la plus dense.

  6. 24 et 25 septembre

    Veilles élargies et filtre des expéditeurs

    Veilles immobilières, centre des veilles, puis filtre des expéditeurs inconnus par un mail de vérification.

  7. 2 au 4 octobre

    Fiabilité et compréhension

    Isolation des bases de test, sauvegarde quotidienne, puis couche de compréhension et fenêtre de contexte du modèle portée à 16 384 jetons.

  8. 5 et 6 octobre

    Centre homelab

    Vue des serveurs et des sauvegardes, vue dédiée du rapport d'absence.

Les choix que j'ai revus

Reconnaissance vocale sur carte graphique

Remplacé par : Sur processeur.

La carte de 6 Go est partagée avec la détection vidéo et les modèles de langage : la mémoire saturait.

Un modèle de conversation de 7 milliards de paramètres

Remplacé par : Un modèle de 3 milliards ; le plus gros est gardé pour les tâches de fond.

Latence et fiabilité : les deux modèles chargés en permanence ne tenaient pas sur la carte.

Une voix de qualité (XTTS)

Remplacé par : Piper seul.

16 Go de disque et 2,3 Go de mémoire pour un service que je n'utilisais jamais.

Déclenchement par mots exacts

Remplacé par : Un routeur d'intention, puis une lecture de compréhension.

Les formulations varient sans cesse ; ajouter un garde-fou à chaque raté ne suffisait pas.

Laisser le modèle choisir parmi tous les outils

Remplacé par : Seuls les outils du domaine compris lui sont donnés.

Le petit modèle prenait un outil au hasard.

Laisser le modèle appeler les outils bancaires

Remplacé par : Des règles fixes.

Un montant ne doit jamais transiter par le modèle.

Une fenêtre de contexte de 4 096 jetons

Remplacé par : 16 384 jetons.

Un tour pèse environ 10 250 jetons : le modèle ne voyait plus ses consignes ni sa mémoire.

Nouvel essai automatique de connexion bancaire

Remplacé par : Synchronisation suspendue au premier blocage.

Une cinquantaine de SMS de validation reçus en une journée.

Limites

Ce qui ne marche pas encore bien.

Un projet honnête dit aussi ce qui coince. Voici les points faibles actuels, sans détour.

Un petit modèle

Le modèle de conversation est petit. Il choisit parfois un mauvais outil, en invente un, ou raconte une action au lieu de la faire. Une grande partie du code sert à l'encadrer.

De la latence

Jusqu'à 8 secondes pour le routeur, et 10 à 25 secondes pour un tour de conversation libre.

Quatre tests en échec

Au dernier passage, 1 204 tests réussissent sur 1 212. Trois des échecs révèlent un vrai défaut sur la vue santé, à corriger.

Une écoute encore simple

La fin de phrase est détectée par un simple seuil de volume, et les satellites demandent encore d'appuyer pour parler.

Un visage, pas un verrou

La reconnaissance du visage est un confort d'accès, pas une protection : elle ne détecte pas la vie.

Des sources fragiles

La lecture des sites d'annonces casse quand un site change sa page ; plusieurs lecteurs ont dû être réparés début octobre.

Fait pour une personne

Tout est écrit pour moi, en français, avec mes services. Rien n'est prévu pour une installation par quelqu'un d'autre.

Garanties

Trois choix de conception.

Locale par défaut

La parole, la voix, la conversation, la mémoire et le journal tournent chez moi. Un modèle en ligne n'intervient que pour des tâches que j'ai choisies, ou en secours.

Aucune donnée revendue

Le projet est conçu dans une optique d'émancipation et de respect de la vie privée. Aucun profilage publicitaire ni revente d'informations.

Actions à enjeu sous contrôle

Grace assiste mais ne prend jamais le contrôle sans consentement : chaque action à effet réel exige mon approbation explicite.

Curieux de l'architecture, ou un besoin d'automatisation ? Parlons-en. Me contacter

Retour à l'accueil