01Aperçu du projet
Astrina est une plateforme tout-en-un pour tous ceux qui sont responsables de sites web : propriétaires, studios web, agences, développeurs et spécialistes SEO. Son essence se résume en une seule ligne — "chaque site que vous gérez, dans un seul tableau de bord". Analyse web, suivi quotidien du SEO, avis et réputation, catalogues publics et classements, plus un ensemble d'APIs de service — tout cela se trouve derrière un seul identifiant et est alimenté par un seul script sur le site. Vous pouvez commencer gratuitement : le plan gratuit couvre trois sites et ne demande pas de carte de crédit.
Le produit est né d'une observation familière à quiconque gère plus d'un site. Le trafic se trouve dans un outil, le SEO dans un autre, les avis dans un troisième, et chaque site a son propre identifiant. Chaque service est bon en soi, mais les garder synchronisés est un travail que personne n'a prévu, que personne ne facture, et que quelqu'un fait quand même. Astrina remplace ces quatre outils et quatre identifiants par un seul : un script, un tableau de bord, et un email le matin où quelque chose échappe.
Nous avons conçu et construit le produit de bout en bout — de l'architecture du compteur de première partie et du crawler nocturne au modèle de tarification, aux catalogues publics, à la documentation, et aux trois versions linguistiques (EN/RU/UK). Ci-dessous, nous expliquons le problème qu'Astrina résout, comment cela fonctionne en interne, et les décisions d'ingénierie qui maintiennent ses chiffres honnêtes — y compris pourquoi le compteur survit aux bloqueurs de publicité et pourquoi même le propriétaire du site ne peut pas supprimer un avis.
Un mot sur le contexte. Astrina est un produit de l'écosystème propre du studio, pas une commande extérieure : nous avons construit un outil que nous utilisons nous-mêmes. Le site ostohlo.com est connecté à la plateforme en tant que site n°6 et collecte ses statistiques via son propre sous-domaine, stats.ostohlo.com — c'est-à-dire, à travers exactement le modèle de première partie vendu aux clients. Manger votre propre cuisine discipline une équipe mieux que n'importe quel plan de test : chaque aspérité du tableau de bord est quelque chose que nous ressentons en premier.
02Contexte et le problème
Surveiller un site web est facile "techniquement" — la partie difficile est de le faire constamment et sur chaque site à la fois. En décomposant la tâche, une liste entière de douleurs s'est accumulée que quiconque responsable de plusieurs projets endure :
- Les analyses manquent un tiers du tableau.Les bloqueurs de publicités éliminent les compteurs tiers — environ un tiers de l'audience disparaît simplement des rapports. Des décisions sont prises sur des chiffres incomplets.
- Un zoo d'outils et de connexions.Le trafic, le SEO et les avis se trouvent dans trois services différents, et chaque site a ses propres identifiants. L'image d'ensemble n'existe que dans la tête de quelqu'un, ou dans un tableau que personne ne se souvient de mettre à jour.
- Des régressions SEO silencieuses.Une mise à jour de thème supprime discrètement un canonique — et rien ne vous le dit. Vous le découvrez des semaines plus tard, lorsque le trafic a déjà changé et que quelqu'un d'autre demande pourquoi.
- Des avis que personne ne croit.Une note que le propriétaire peut retoucher ne vaut rien. Et les plateformes d'avis externes avec des scores honnêtes vivent séparément du site et de ses métriques.
- Une routine sans propriétaire.Le contrôle régulier "tout va bien" est un travail que personne n'a estimé en heures. Soit cela n'est pas fait, soit cela est fait au détriment du vrai travail.
Le brief se résumait à ceci : construire une plateforme où chaque site — le vôtre et ceux de vos clients — est visible dans un tableau avec un trafic en direct et un score SEO, et où la surveillance de routine est automatisée au point que "l'email arrive tout seul". Et les chiffres devaient être fiables — pour le propriétaire, et pour le client de l'agence qui les voit.
Une couche distincte de la tâche était l'honnêteté en tant que propriété du produit. Les analyses bloquées par les bloqueurs de publicité sont réduites d'un tiers ; une note qui peut être modifiée ne signifie rien. Nous avons décidé dès le départ que la confiance dans les chiffres serait garantie par l'architecture, pas par des promesses : le compteur se charge depuis le domaine propre du client, et les avis ne peuvent physiquement pas être modifiés ou supprimés.
Enfin, il y avait la couche multi-locataire. La plateforme sert des centaines de sites d'autres personnes avec différents plans, quotas et langues — ce qui signifie que les limites doivent être vérifiées par le code, les données des locataires doivent être isolées, et chaque chiffre sur la page de tarification doit correspondre à un nombre dans la configuration, pas à un arrondi marketing.
03Objectifs du projet
De ce bref sont nés des objectifs concrets en matière de produit et d'ingénierie que nous avons gardés à l'esprit à chaque étape :
- Un script, une connexion.Connecter un site est une ligne avant la balise de fermeture du corps. Pas de SDK, pas de gestionnaire de balises, pas d'étape de construction — une balise de moins de 2 Ko qui commence à rapporter dès le premier hit.
- De première partie par construction.Le compteur se charge depuis le domaine propre du client, donc les bloqueurs de publicité qui nettoient les analyses tierces le laissent tranquille. Pas de cookies inter-sites, et les données ne sont jamais vendues.
- Un email au lieu d'un shift de surveillance.Un site sous surveillance est vérifié à nouveau chaque nuit ; si le score SEO baisse, l'email est dans la boîte de réception le matin. Le propriétaire l'entend en premier — pas du client.
- Honnêteté comme mécanisme.Les avis sur une échelle de 1 à 5 étoiles ne peuvent pas être modifiés ou supprimés par le propriétaire — seulement répondus en public. C'est précisément pourquoi le score peut être cru.
- API d'abord.Tout ce qui est visible dans le tableau de bord peut être extrait : une API JSON, une exportation CSV et un MCP pour les assistants IA.
- Une faible barrière à l'entrée.Un plan gratuit pour 3 sites sans carte, et 3 vérifications SEO gratuites par jour sur chaque plan — vous pouvez essayer avant de payer.
- Trois langues.Le produit est entièrement trilingue (EN/RU/UK) — de l'interface aux e-mails et aux catalogues publics.
Comme dans nos autres produits, ces objectifs ont été formulés comme des contraintes, pas des souhaits : chacun a exclu des options inappropriées au stade de la conception. L'exigence de premier ordre a immédiatement dicté le schéma de service du compteur à travers les domaines des clients ; l'exigence d'honnêteté a interdit toute modification "admin" des avis au niveau du modèle de données ; et l'exigence de "courriel au lieu d'un service de garde" a transformé le planificateur de recrawl nocturne d'une fonctionnalité en une structure porteuse du produit.
04Ce que nous avons construit
Astrina regroupe la surveillance des sites en quatre modules qui fonctionnent à partir d'un script et d'un tableau de bord :
Analyse web
Un compteur de première partie de moins de 2 Ko : visiteurs en direct, sources de trafic et objectifs — sur des chiffres que les bloqueurs de publicité ne coupent pas.
Suivi SEO
Un contrôle technique complet en moins d'une minute, des recrawls nocturnes des sites surveillés, l'historique des scores et un email le matin où il est publié.
Avis & réputation
Avis honnêtes de 1 à 5 étoiles que le propriétaire ne peut ni modifier ni supprimer ; réponses publiques, un widget intégrable et un badge SVG.
API et services pour développeurs
Une API JSON avec des clés uniquement dans l'en-tête et le quota renvoyé dans chaque réponse, export CSV, connexion sociale, bureaux de support hébergés et MCP pour assistants IA.
Au-dessus des modules se trouvent des catalogues publics et des classements (une évaluation du trafic du site web, des catalogues d'échange et d'hébergement, et d'autres vitrines de style App Store), un modèle de tarification allant de Gratuit à Business Plus, et un tableau de bord trilingue. Le tout est déployé comme un produit unique sur une infrastructure dédiée.
De manière cruciale, les modules ne sont pas disjoints — ils forment une boucle de données : le script sur le site alimente les analyses, le crawler alimente le score SEO, les avis alimentent la réputation, et les catalogues publics sont construits à partir des mêmes mesures que le propriétaire voit dans le tableau de bord. Le même chiffre de trafic apparaît dans le tableau de bord privé et dans le classement public — il n'y a nulle part où cela peut "diverger". Cette cohésion est ce qui sépare une plateforme d'un ensemble de services sous un logo partagé.
Le produit en une ligne : "Un script, une connexion — et chaque site que vous gérez dans un tableau de bord. Un trafic réel, des vérifications SEO quotidiennes, des avis honnêtes, et un email le matin où quelque chose échappe."
05Architecture de la solution
Au cœur d'Astrina se trouve un noyau multi-locataire avec les modules assemblés autour de lui. L'entité centrale est le site: les événements d'analyse, les vérifications SEO et leur historique, les avis, les positions dans le catalogue, et les quotas de plan en dépendent tous. Un compte utilisateur est une collection de sites, et il n'y a aucune différence que ce soit les vôtres ou ceux de vos clients : une agence voit une centaine de projets dans le même tableau où un propriétaire en voit trois.
Logiquement, le système se compose de cinq blocs : entrée d'événements (les points de terminaison du compteur où les hits de chaque site connecté affluent), le crawler (vérifications à la demande et le recrawl nocturne avec l'historique des scores), les vitrines (catalogues publics et classements construits à partir des mêmes données), la couche API (JSON, CSV, MCP), et notifications (les e-mails du matin lorsqu'un score baisse). Chaque bloc possède sa part du cycle de surveillance et communique avec les autres à travers des frontières claires.
Une conséquence architecturale découle directement du modèle de première partie : le compteur doit se charger depuis le domaine propre du client, et non depuis astrina.io. Cela signifie que l'infrastructure doit servir les domaines d'autres personnes — accepter le trafic sur les sous-domaines des clients, livrer le script depuis eux, et recevoir des événements sur eux. La livraison des balises et l'intégration des hits ont été conçues pour cela dès le départ plutôt que d'être ajoutées plus tard : c'est la partie la plus occupée et la plus publique du système, et elle est séparée du tableau de bord et du crawler.
Sous le capot se trouve une pile de serveurs sur PHP 8.3 avec MySQL, derrière Cloudflare (DNS, TLS, protection périmétrique). Les quotas de plan — le nombre de sites, la profondeur de l'historique, les limites quotidiennes sur les vérifications et les appels API — sont vérifiés par le code à chaque action : chaque chiffre sur la page de tarification correspond à un nombre que le système applique réellement. C'est de l'honnêteté envers l'utilisateur, mais aussi la protection de la plateforme contre un débordement par un seul locataire.
06Le compteur de première partie
La décision centrale d'ingénierie d'Astrina répond à un fait désagréable de l'industrie : les bloqueurs de publicités éliminent les compteurs tiers, et environ un tiers du public n'apparaît jamais dans les rapports des analyses conventionnelles. Le propriétaire regarde un graphique et croit voir son trafic — alors qu'il ne voit que deux tiers de celui-ci.
La réponse est charger le compteur depuis le domaine propre du client. Les bloqueurs de publicités coupent les requêtes vers des domaines d'analytique connus ; une requête vers un sous-domaine du site lui-même est indiscernable pour eux de celle de chargement d'un actif ordinaire. Ainsi, la balise Astrina est servie non pas depuis astrina.io mais depuis le domaine du propriétaire, et les statistiques couvrent l'ensemble du public — pas seulement la partie qui n'a jamais installé de bloqueur.
La balise elle-même est extrêmement légère et extrêmement ennuyeuse — et c'est un compliment : moins de 2 Ko, une ligne avant la balise de fermeture du corps. Pas de SDK, pas de gestionnaire de balises, pas d'étape de construction ; le compteur commence à rapporter dès le premier accès. Pour les visiteurs avec JavaScript désactivé, il y a un pixel noscript, donc même cette partie du public n'est pas perdue. Et le premier parti ne signifie pas surveillance : le compteur n'utilise pas de cookies tiers, ne construit pas de profils intersites, et les données du propriétaire ne sont jamais vendues.
Le modèle est éprouvé sur le site web du studio : ostohlo.com est connecté à Astrina en tant que site n°6 et charge le compteur depuis le sous-domaine stats.ostohlo.com — la balise a.js légère plus r.js pour l'enregistrement de session. C'est une preuve de production du schéma : la même approche CNAME, la même livraison depuis un domaine client, les mêmes chiffres dans le même tableau de bord que pour tout utilisateur de la plateforme.
L'idée clé : l'exhaustivité des données ici n'est pas une "fonction supplémentaire" mais la forme même de l'architecture. Un compteur qui se charge depuis le domaine du propriétaire ne peut pas être bloqué par une liste de domaines tiers — et cela est plus fort que n'importe quelle ruse du côté du script.
07Fonctionnalités clés
Examinons ce qui fait qu'Astrina n'est pas "juste un autre compteur" mais une plateforme qui couvre la surveillance d'un site web de bout en bout.
Analytique en direct
Une vue en direct des visiteurs, des sources de trafic et des objectifs — l'ensemble essentiel, mais construit sur des chiffres de première partie. Le tableau de bord montre ce qui se passe sur le site en ce moment, d'où viennent les gens et s'ils atteignent les actions cibles. Les plans supérieurs ajoutent un flux de visiteurs en direct et une rediffusion de session — vous pouvez revoir une vraie visite au lieu de deviner à partir des chiffres.
Un contrôle SEO en moins d'une minute
Un audit technique complet d'un site prend moins d'une minute — jusqu'à 25 pages par passage. Trois contrôles par jour sont gratuits sur chaque plan, y compris le plan gratuit : le produit vous permet de ressentir son cœur sans payer. Chaque problème trouvé est accompagné d'une invite prête à l'emploi pour un assistant IA — la description du bug peut être copiée directement dans votre outil préféré, qui proposera une solution.
Avis, le widget et le badge SVG
Le module de réputation collecte des avis de 1 à 5 étoiles auxquels le propriétaire peut répondre publiquement mais ne peut pas modifier ou supprimer. La note s'intègre sur un site en tant que widget, et le badge SVG s'adapte à un README, un pied de page ou une signature. Pourquoi l'immuabilité est une fonctionnalité est abordé dans sa propre section ci-dessous.
Catalogues et classements
Astrina organise des vitrines publiques construites à partir de ses propres mesures : une évaluation du trafic des sites utilisant le compteur, des catalogues d'échange et d'hébergement avec des tarifs et des avis, et un catalogue de style App Store. Les vitrines sont accessibles sans compte — tout le monde peut vérifier comment la plateforme compte, et cela fait partie du modèle de confiance.
APIs de service
Au-delà des modules principaux, la plateforme expose des utilitaires pratiques : une API d'intelligence téléphonique pour vérifier les numéros de téléphone et un contrôle de mot de passe contre des bases de données de fuites. Ce sont les mêmes données qui alimentent les catalogues — disponibles de manière programmatique.
Connexion avec Astrina et bureaux de support
"Connexion avec Astrina" est une connexion sociale prête configurée une fois, déchargeant le propriétaire du site du stockage des mots de passe. Et les bureaux de support hébergés donnent à chaque projet une page de support prête à l'emploi sur astrina.io/support/<domain> — sans système de tickets à déployer de votre propre chef.
MCP pour assistants IA
Les données de la plateforme sont disponibles pour les assistants IA via MCP : un assistant peut récupérer des statistiques ou vérifier des résultats lui-même et travailler avec eux en conversation. Une API conçue pour les personnes et les scripts s'est avérée prête pour les agents aussi.
08Surveillance SEO interne
Un contrôle ponctuel du site est utile, mais la véritable valeur de la surveillance réside dans la régularité. Un canonique cassé ne se signale pas ; il reste simplement silencieux dans le code jusqu'à ce que les classements chutent. Ainsi, le cœur du module n'est pas l'audit lui-même mais le planificateur nocturne.
. Cela fonctionne comme ceci. Un contrôle ponctuel est disponible pour tout le monde : un passage technique complet sur jusqu'à 25 pages en moins d'une minute, trois passages gratuits par jour sur chaque plan. Mais un site placé sous surveillance est vérifié à nouveau par la plateforme chaque nuit, de manière autonome — pas de demande, pas de bouton, pas de rappels. Le résultat de chaque nuit atterrit dans l'historique : le score SEO passe d'un instantané à une courbe, et la courbe montre exactement quand quelque chose s'est cassé et à quoi les choses ressemblaient avant.
Le troisième élément est le courriel du matin. Si le passage nocturne enregistre une baisse de score, le courriel arrive le matin de ce même jour. Le sens de cette décision va plus loin qu'il n'y paraît : la boîte de réception devient l'interface de surveillance. Le propriétaire n'a pas besoin d'ouvrir le tableau de bord "juste au cas où" — le tableau de bord vient à lui, et précisément quand il y a quelque chose à dire. Le silence dans la boîte de réception est aussi une information : cela signifie que tout va bien.
Le nombre de sites sur le recrawl nocturne est un axe de la grille tarifaire : 3 sites sur Pro, 25 sur Business, 100 sur Business Plus. C'est un reflet honnête du coût : le crawling nocturne est la partie la plus gourmande en ressources de la plateforme, et ses quotas, comme tous les autres, sont appliqués par code.
Un contrôle en une minute
Un audit technique complet de jusqu'à 25 pages — plus rapide que le café qui infuse.
Récrawl nocturne
Les sites surveillés sont vérifiés à nouveau chaque nuit ; l'historique des scores s'accumule de lui-même.
L'email du matin
Le score a chuté pendant la nuit — l'email est dans la boîte de réception au matin. Le propriétaire l'entend en premier, pas le client.
09Avis immuables
Le module de réputation est construit autour d'une règle stricte : le propriétaire du site ne peut ni modifier ni supprimer un avis. Ni pour de l'argent, ni via le support, ni "en tant qu'exception". Le seul outil à leur disposition est une réponse publique à côté de l'avis.
La décision est contre-intuitive en tant que conception de produit — un client payant mérite sûrement du contrôle. Mais une note que le propriétaire peut manipuler ne signifie rien : c'est un score qu'ils se sont attribué eux-mêmes. L'immuabilité est la seule raison pour laquelle le nombre à côté des étoiles peut être cru. Nous avons délibérément intégré cela dans le modèle de données plutôt que dans la politique : le système n'a tout simplement pas d'opération "modifier l'avis de quelqu'un d'autre", et aucun rôle n'est jamais accordé à un tel droit.
L'honnêteté a ses deux côtés, cependant. La réponse publique permet au propriétaire de gérer une situation contestée en pleine vue — et une réponse réfléchie à une critique négative persuade souvent plus qu'une évaluation cinq étoiles. L'échelle de 1 à 5 étoiles est simple et familière, et la note collectée peut être intégrée sur le propre site du propriétaire sous forme de widget intégrable ou de badge SVG léger — le score cesse de vivre uniquement sur une page de catalogue et commence à fonctionner là où les décisions sont prises.
Pourquoi c'est important : "une évaluation que vous n'avez pas écrite vous-même" est une rareté sur un internet où les avis sont échangés. L'immuabilité transforme le score d'une décoration en une monnaie de confiance — et en même temps discipline le propriétaire à gérer les plaintes en public.

10Confidentialité et sécurité
Une plateforme d'analytique gère par définition des données sensibles — le trafic des autres. Ainsi, la confidentialité dans Astrina n'est pas une section des conditions de service mais un ensemble de décisions architecturales. Le compteur ne définit pas de cookies tiers et ne construit pas de profils tiers : le modèle de première partie signifie que les données de chaque site vivent dans le contexte de ce site. Et la promesse principielle de la plateforme est que les données des propriétaires ne sont jamais vendues: le modèle économique d'Astrina est l'abonnement, pas le commerce d'audiences.
La deuxième couche est la sécurité de l'API. La clé est acceptée uniquement dans un en-tête HTTP et jamais dans une URL. C'est une décision délibérée : les paramètres d'URL se retrouvent dans les journaux du serveur, les proxys et l'historique du navigateur, et une clé passée dans une chaîne de requête doit être considérée comme compromise. Les en-têtes ne se retrouvent pas dans les journaux — donc une ligne de la spécification ferme toute une classe de fuites. Pour les utilisateurs, la même discipline se transforme en un service : une vérification de mot de passe contre des bases de données de fuites est intégrée à la plateforme.
La troisième couche est l'isolation des locataires. Les sites, clés, avis et quotas de chaque compte sont séparés de ceux des autres ; une agence avec une centaine de projets clients ne peut ni voir les données d'un autre locataire ni épuiser les limites d'un autre locataire. Les quotas appliqués par le code sur chaque action protègent non seulement l'honnêteté des prix mais aussi la stabilité de la plateforme : un script incontrôlé ne fera pas tomber le crawler pour tout le monde.
11Le tableau de bord multi-sites
L'écran principal d'Astrina est un tableau de tous les sites du compte : visiteurs sur 30 jours, la tendance, le score SEO, statut en direct. Ce point d'entrée est un choix délibéré : un produit pour les personnes qui gèrent de nombreux sites devrait s'ouvrir avec la réponse à "suis-je en sécurité — sur tous en même temps". Un coup d'œil au tableau remplace le tour matinal de cinq services.
La grille tarifaire est construite autour des véritables axes de coût — le nombre de sites, la profondeur de l'historique et le montant de l'automatisation.Gratuit ($0) — 3 sites, la vue en direct, sources et objectifs, 3 vérifications SEO par jour, avis et le widget de notation, 33 jours d'historique.Pro ($19 / 30 jours) — 25 sites, 180 jours d'historique, 3 sites lors du recrawl nocturne avec alertes, export CSV et le flux de visiteurs en direct, 5 000 appels API par jour.Entreprise (59 $) — 100 sites, un an d'historique, 25 sites sur le recrawl, replay de session, et 25 000 appels.Entreprise Plus (99 $) — sites illimités, 730 jours d'historique, 100 sites sur le recrawl, un support hébergé pour vos propres utilisateurs, et 100 000 appels par jour.
Le paiement est géré de manière mature et écosystémique : les plans sont payés à partir d'un solde de compte rechargé par carte ou crypto via Payora — un autre produit de notre écosystème, avec une étude de cas à part entière. Le renouvellement automatique est désactivé par défaut : rien ne vous facture par surprise ; le renouvellement est activé par l'utilisateur lui-même. Pour le SaaS, c'est rare, presque une honnêteté démonstrative — et cela appartient à la même famille que les avis indélébiles.
Chaque chiffre dans cette section n'est pas un texte marketing mais une valeur de la configuration que le code vérifie : créer le 26ème site sur Pro n'est pas "découragé" — cela ne s'exécute pas. Nous respectons la règle selon laquelle "la page de tarification est la documentation des limites", et cela simplifie considérablement la vie pour le support et les utilisateurs.
12API développeur et intégrations
Tout ce que la plateforme montre dans le tableau de bord, elle peut également le transmettre. L'API Développeur est en JSON avec des réponses prévisibles, et sa conception comporte deux décisions que nous considérons exemplaires pour toute API.
La première est la clé dans un en-tête uniquement. L'API n'accepte pas de clé dans la chaîne de requête : une URL avec une clé finit dans les journaux du serveur web, les proxys, l'historique du navigateur et les référents, et fuit à partir de là. Un en-tête ne le fait pas. Le comportement correct ici n'est pas "recommandé par la documentation" — c'est le seul possible. La seconde est le quota restant résonnait dans chaque réponse. Le client n'a besoin ni d'un point de terminaison séparé ni de sa propre comptabilité : chaque réponse indique combien d'appels restent. Un script peut ralentir avant la limite au lieu de la découvrir à travers un 429.
Au-delà de JSON, les exportations de données vers CSV — pour des rapports, des tableurs et tout ce qui vit en dehors du code. Via MCP, les mêmes données sont disponibles pour les assistants IA : un agent demande des statistiques ou vérifie des résultats directement dans la conversation. "Se connecter avec Astrina" couvre la connexion sociale pour les sites sur la plateforme, et les bureaux d'assistance hébergés (astrina.io/support/<domain>) couvrent le support utilisateur sans un système de tickets propre. La plateforme est également conviviale pour le monde extérieur : Google Search Console, Google Analytics 4, Bing Webmaster et IndexNow figurent sur la liste des intégrations prises en charge.
Enfin, les catalogues publics sont une sorte d'intégration aussi — avec l'internet ouvert. La note de trafic est construite à partir des mêmes mesures de compteur de 30 jours que le propriétaire voit dans le tableau de bord ; les catalogues d'échange et d'hébergement proviennent des mêmes données et avis. La plateforme compte à la vue de tous, et n'importe qui peut vérifier son travail sans compte.
13Technologie et infrastructure
Pour Astrina, nous avons assemblé un environnement dédié et isolé avec ses propres domaines, politiques et planificateur. Pour une plateforme qui sert les sites web d'autres personnes, la propreté de l'environnement fait partie du produit.
- Backend — PHP 8.3 : ingestion d'événements de compteur, le noyau multi-tenant, le tableau de bord, la couche API et la logique de quota.
- Données — MySQL : événements d'analyse, historique du score SEO, avis, catalogues et limites de plan dans un modèle cohérent.
- Explorateur — le module de vérifications : audits à la demande de jusqu'à 25 pages et le recrawl nocturne des sites surveillés avec accumulation d'historique.
- Livraison par compteur — service de première partie du tag depuis les domaines des clients (le modèle CNAME), avec un pixel noscript en tant que solution de secours.
- Notifications — alertes par e-mail : le message arrive le matin du jour où le score baisse.
- Infrastructure — Cloudflare (DNS, TLS, protection périmétrique) et un environnement isolé avec des certificats valides.
Le choix de PHP 8.3 et MySQL est pragmatique : une pile mature, rapide et prévisible sur laquelle l'absorption de requêtes à haute fréquence, le crawler, le tableau de bord et l'API coexistent dans un même environnement. La livraison de première partie ajoute une exigence inhabituelle à la pile — servir les domaines des autres comme les siens — et c'est exactement ce qui a façonné la configuration périmétrique. Cloudflare couvre DNS et TLS, et l'ensemble de l'environnement est conçu de sorte que la partie la plus chargée (absorption d'événements) ne concurrence pas les ressources avec la partie la plus lourde (crawling nocturne) : elles ont des profils de charge différents et des heures de pointe différentes.
14Design et UX
Un outil pour la routine quotidienne vend le calme, donc nous avons rendu les interfaces d'Astrina denses et silencieuses. L'écran principal — le tableau des sites avec tendance et score SEO — répond à la question principale de l'utilisateur en une seconde. Pas de bannières de bienvenue, pas de "perspectives de la semaine" : une personne avec une centaine de sites clients vient vérifier, pas naviguer.
Les cinq premières minutes ont reçu une attention particulière. Le chemin de l'inscription au premier visiteur à l'écran est délibérément court : collez la ligne de tag — voyez un hit en direct. Le retour instantané fonctionne comme une intégration ici : pas de visites guidées de l'interface, mais votre propre trafic apparaissant sous vos yeux. Le même principe guide le module SEO : le premier contrôle est gratuit, prend moins d'une minute et se termine par une liste concrète de problèmes — chacun avec une invite AI prête attachée.
Le côté public de la plateforme — les catalogues et les classements — est conçu comme une vitrine à part entière : ouvert, indexable, fonctionnant sans compte. C'est à la fois une surface marketing et une démonstration de méthode : la plateforme n'a pas peur de montrer comment elle compte. Enfin, l'ensemble du produit est trilingue — EN, RU et UK sont égaux, de l'interface et des e-mails aux pages publiques, avec un hreflang correct et des URL localisées. Pour un produit vivant dans plusieurs environnements linguistiques à la fois, il s'agit d'architecture de contenu, pas de traduction — et cela a été conçu dès le premier jour plutôt que "localisé" par la suite.
15Comment nous avons travaillé
Nous avons mené le projet en étapes séquentielles, démontrant un résultat à chaque étape :
- Recherche.Nous avons cartographié les scénarios des propriétaires, des studios et des agences, pesé les douleurs des "quatre outils", et fixé le modèle de "un script → un tableau de bord → un e-mail le matin".
- Architecture.Nous avons conçu le noyau multi-locataire, le schéma de livraison de compteur de première partie, le modèle de quota, et le contrat API — la clé uniquement dans l'en-tête et l'écho de quota étaient dans le cahier des charges avant la première ligne de code.
- Développement de module.Nous avons construit l'intégration d'événements et l'analytique, le crawler avec le planificateur nocturne et l'historique, le module d'avis avec immutabilité au niveau du modèle, les catalogues, et le tableau de bord.
- Examen de nous-mêmes.Nous avons connecté nos propres projets — ostohlo.com vit sur la plateforme en tant que site n°6 avec le compteur sur stats.ostohlo.com — et avons utilisé le produit pendant des mois avant d'inviter qui que ce soit d'autre.
- Lancer.Tarification avec paiement via Payora, trois langues, les catalogues publics, la documentation et le MCP.
L'ordre n'est pas accidentel : d'abord, nous avons fixé les contrats — le schéma de quota, le format API, la règle d'immuabilité des avis — et seulement ensuite avons construit l'implémentation autour d'eux. Cela a permis aux modules de fonctionner presque en parallèle : l'analyse, le crawler et les avis partagent un noyau mais ont des cycles de vie indépendants. Et la règle "l'utiliser nous-mêmes d'abord" a fonctionné comme un test d'acceptation continu : un bord rugueux que vous remarquez chaque matin dans votre propre tableau de bord est corrigé plus rapidement que n'importe quel ticket.
16Le résultat
Ce que nous avons obtenu n'est pas "encore un autre compteur" mais une plateforme qui remplace l'ensemble des outils quotidiens d'un webmaster — et que nous utilisons nous-mêmes.
- Un site se connecte en cinq minutes : un slogan — et le premier visiteur est déjà à l'écran.
- L'analyse voit l'ensemble de l'audience, pas deux tiers : le compteur de première partie n'est pas bloqué par les bloqueurs de publicités.
- Les régressions SEO ont cessé d'être silencieuses : le recrawl nocturne, l'historique des scores et l'email le matin de la chute.
- La note peut être fiable : les avis ne peuvent physiquement pas être modifiés ou supprimés — seulement répondus en public.
- Les données ne sont pas verrouillées : une API JSON avec des clés uniquement dans l'en-tête et le quota dans chaque réponse, CSV et MCP pour les assistants IA.
- Le produit fonctionne en trois langues et est prouvé en production sur les sites de notre propre écosystème.
Mais le résultat principal n'est pas dans des chiffres individuels — c'est dans le changement de modèle. Surveiller les sites web était autrefois un ensemble d'onglets, de connexions et de « doit se rappeler de vérifier » ; maintenant, c'est un tableau et une boîte de réception à laquelle la plateforme écrit d'elle-même — précisément quand il y a quelque chose à dire. La routine que personne n'a jamais estimée en heures a cessé d'exister en tant que travail manuel.
17Leçons à retenir
Astrina est un exemple de confiance étant conçue plutôt que déclarée. La chose la plus précieuse ici n'est pas la liste des modules mais les trois décisions sur lesquelles tout repose : un compteur qui se charge depuis le domaine du client et voit donc l'ensemble de l'audience ; des avis qui ne peuvent pas être supprimés et qui signifient donc quelque chose ; une API dans laquelle la clé ne peut physiquement pas se retrouver dans un journal. Chacune a été faite une fois, au niveau de l'architecture — et à partir de là, l'honnêteté du produit ne dépend de la discipline de personne.
Pour nous, c'était un projet à l'intersection de l'analyse, du crawling et du SaaS multi-tenant — le genre de travail où la réflexion produit et la discipline d'ingénierie sont nécessaires en même temps. Si vous avez besoin d'une plateforme avec un tableau de bord, des plans tarifaires et une API, d'un service d'analyse, ou d'un produit servant de nombreux clients sur une infrastructure partagée — nous savons comment mener cela à bien jusqu'au lancement.
Et une autre conclusion, plus méthodologique. Le meilleur test d'un produit est votre propre dépendance à celui-ci : nous avons connecté nos propres sites à Astrina avant ceux des autres, et chaque matin, nous regardons les mêmes e-mails et les mêmes tableaux que nos utilisateurs. Un produit sur lequel l'équipe vit ne peut pas être abandonné discrètement — et c'est peut-être la garantie de qualité la plus honnête qui soit.



