Aller au contenu
[Veille · Asrar]

Une infrastructure de confiance, animée par des agents

Blanc et crème, éditorial, précis, avec un seul fil vert mousse. Chaque composant lit ses couleurs dans les jetons de globals.css, dans les deux thèmes. Les sections des fonctionnalités s’ajoutent au registre.

Marque

Le logomark, les vagues de fils, les compteurs vivants et la puce d’état.

Logomark (tuile encre, fils mousse → citron)<Logomark />
VeilleVeille· Asrar
Logotype (serif d’affichage)<Wordmark />
Vagues de fils — héros, cartes, bandeau de clôture (mouvement réduit respecté)<StringArtWaves variant='hero' />
Textes lus cette semaine : 1 28499,12 %
Compteur (chiffres qui roulent, valeur réelle lisible par les lecteurs d’écran)<Odometer value={1284} chip />
Toutes les sources à jour1 source à surveiller
Puce d’état<StatusChip tone='ok' />

Rien ne part sans vous. Chaque rapport est relu et approuvé par un consultant.

Titre bicolore<TwoToneHeading claim rest />

Sémantique

Décisions d’applicabilité, confiance, états des faits et santé des sources (spéc. §9.2 et §9.7).

S’applique

Le texte concerne ce client : les faits du profil remplissent les critères des obligations citées.

Peut s’appliquer

Le texte concerne probablement ce client ; un fait ou une interprétation reste à confirmer.

Ne s’applique pas

Le texte ne concerne pas ce client ; la justification est conservée pour l’auditeur.

Données insuffisantes

Un fait du profil manque pour conclure : une question est posée au consultant.

Toujours accompagnées d’une justification citée et d’un niveau de confiance.<DecisionChip decision='may_apply' confidence={0.62} />
Élevée≥ 0,8 — trait plein
Moyenne0,5 à 0,8 — trait tireté
Faible< 0,5 — pointillé
Un trait fin sous chaque décision ; la valeur exacte s’affiche au survol.<ConfidenceLine value={0.62} />
DéclaréSaisi par le consultant, non encore vérifié.
DéduitProposé par l’agent à partir d’un document ; à confirmer.
ConfirméVérifié par un consultant, avec la date et la preuve.
Chaque fait d’un profil client indique sa provenance.<FactStateBadge source='inferred' />
À jourDégradéeEn échecDésactivée
Santé des sources<HealthChip status='failed' />
Passage cité, reproduit exactement tel qu’il figure dans le texte stocké.
Art. 12, al. 2 — exemple
Toujours mot pour mot, avec la référence de l’article en mono. (Exemple de mise en forme, sans texte réel.)<LegalQuote reference='Art. 12'>…</LegalQuote>
يُعرض المحتوى العربي من اليمين إلى اليسار، مهما كانت لغة الواجهة.
La langue de l’interface et celle du contenu sont indépendantes : le contenu arabe s’affiche de droite à gauche.<ContentBlock lang='ar'>…</ContentBlock>
  • Jamais de décision sans citation ni sans approbation d’un consultant.
  • La confiance est toujours visible ; les nombres exacts au survol.
  • Les couleurs sémantiques ne servent qu’à ces sens-là.
Règles

Typographie

Serif d’affichage, Inter pour l’interface, mono pour les chiffres et les références d’articles.

Lisez moins. Ne manquez rien.

Affichage — Newsreader 52/54, −0,035 emtext-display · font-serif

Titre de page

Titre de section

Titre de carte

Rien ne part sans vous. Chaque rapport est relu et approuvé par un consultant.

text-h1 · text-h2 · text-h3 · two-toneInter 500, tracking −0.02em

Le texte courant utilise Inter 15/24 pour les résumés, avec une mesure confortable de 68 caractères au plus.

[Surtitre mono]

1 284 · 99,2 % · v1.1

Registre 13 px tabulaire — 12/09/2026 · Art. 4

Citation serif 15/23 dans un bloc crème.

text-summary · text-eyebrow · text-metric · text-register · quote-block15/24 · mono 12/500 · 13 tabular

Couleurs

Surfaces, encre, mousse et sémantique, en clair et en sombre.

Clair
Surfaces et encre
background
cream
surface
muted
foreground
ink-2
muted-fg
primary
Mousse
brand
brand-hover
brand-subtle
brand-tint
wave-1
wave-2
wave-3
highlight
Décisions
applies
may
n/a
insufficient
applies-subtle
may-subtle
n/a-subtle
insuf.-subtle
Santé des sources
ok
degraded
failed
fact-confirmed
Graphiques
chart-1
chart-2
chart-3
chart-4
chart-5
chart-6
Sombre
Surfaces et encre
background
cream
surface
muted
foreground
ink-2
muted-fg
primary
Mousse
brand
brand-hover
brand-subtle
brand-tint
wave-1
wave-2
wave-3
highlight
Décisions
applies
may
n/a
insufficient
applies-subtle
may-subtle
n/a-subtle
insuf.-subtle
Santé des sources
ok
degraded
failed
fact-confirmed
Graphiques
chart-1
chart-2
chart-3
chart-4
chart-5
chart-6

Boutons

Carrés (4 px), encre pleine pour l’action principale, contour pour la secondaire, chevron pour avancer.

variant<Button chevron>
Taillessize='xs|sm|default|lg|icon'

Champs et formulaires

Champs de 6 px, libellés visibles, erreurs traduites.

Input · Field · FieldErroruseZodResolver(schema)
Select · Textarea · Checkbox · Switch

Badges et états

Puces de 2 px pour les états, mono pour les versions et les compteurs.

defaultApprouvév1.1À confirmerConformeÀ évaluerNon conformeNon évaluéArrêté
Badges<Badge variant='tint' />
En coursBrouillonReportéeÉchec
Pastilles d’état · Points d’état<StatusPill tone='success' pulse />

Cartes et états vides

Cartes crème de 12 px, bordures fines, sans ombre ; formule Cabinet en ligne.

Carte
Une carte crème de 12 px, bordure fine, aucune ombre.
Carte<Card />

Rien de nouveau cette semaine

Rien de nouveau sur les 6 sources vérifiées. Le relevé de couverture est prêt.

État vide<EmptyState />
Cabinet

Envoi planifié

Les rapports approuvés partent automatiquement à la date prévue.

Comparer Solo et Cabinet
Plus de 10 clientsSuivez tous vos clients : 25 profils inclus, puis 60 MAD par profil et par mois.
Comparer Solo et Cabinet
Formule Cabinet<PlanGate feature='autoSend' when />

Tableau de données

TanStack Table v8 : recherche, facettes, tri, sélection, pagination, variante dense pour les registres.

Exemple — texte fictif n° 100ArrêtéApplicableConforme01/09/2026
Exemple — texte fictif n° 101DécretÀ confirmerÀ évaluer02/09/2026
Exemple — texte fictif n° 102LoiExemptéNon conforme03/09/2026
Exemple — texte fictif n° 103CirculaireApplicableConforme04/09/2026
Exemple — texte fictif n° 104ArrêtéÀ confirmerÀ évaluer05/09/2026
Exemple — texte fictif n° 105DécretExemptéNon conforme06/09/2026
Exemple — texte fictif n° 106LoiApplicableConforme07/09/2026
Exemple — texte fictif n° 107CirculaireÀ confirmerÀ évaluer08/09/2026
23 lignes
Page 1 sur 3

Fenêtres et notifications

Seuls les éléments flottants portent une ombre douce.

Dialog · Sheet · ConfirmDialog · toast · UpgradeSheet

Chargement

Des squelettes dans le contenu ; les indicateurs de chargement seulement dans les boutons.

SkeletonCard · SkeletonText<SkeletonCard />
SkeletonList<SkeletonList rows={4} />

Utilitaires

Avatars, raccourcis, copie, temps relatif, import de fichiers, périodes, langues.

SI
SIYBNT+2
Avatars<AvatarGroup users={…} />
⌘KGQA
Raccourcis<Kbd keys={['mod','K']} />
Copier · Temps relatif<CopyButton /> <RelativeTime />
Déposez un fichier ici ou parcourez
PDF, DOCX, HTML, HTM, TXT · 50 Mo max.
Import de fichier<FileDropzone accept={acceptFor('text_document')} />
Période · Langue de l’interface · Langue du contenu

Icônes

iconsax, variante Bulk uniquement.

Home2
ClipboardTick
DocumentText
Buildings2
DocumentForward
Radar2
Judge
Profile2User
Colorfilter
Speedometer
Setting2
Notification
SearchNormal1
DocumentUpload
QuoteDown
ShieldTick
TickCircle
Warning2
LanguageSquare
Toujours la variante Bulk (par défaut, dessinée en currentColor). Taille par classe : size-4 dans l’interface dense, size-5 dans la navigation.import { Home2 } from 'iconsax-react'

Clients et profils

Santé du client, états des informations (déclarée, déduite, confirmée), questions Oui / Non / ?, choix du modèle sectoriel.

  • Profil complet à 78 %
  • 3 questions ouvertes
  • 5 correspondances à revoir
  • 48 textes au registre
  • 1 action en retard
  • Dernier rapport le 02/09/2026
Puces de santé du client · Exemple fictif<HealthChips health={health} />
  • Liquides inflammables stockés > 500 LNonDéclaré
  • Nombre de chariots élévateurs12Déduit
  • Production de déchets dangereuxOuiConfirmé
Informations du profil · Exemple fictif<FactStateBadge source='inferred' />
32 %
64 %
91 %
Complétude du profil<CompletenessMeter value={64} />

Le site de Casablanca stocke-t-il plus de 500 L de liquides inflammables ?

Casablancabloque 2 correspondances
Raccourcis : O ou Y pour oui, N pour non, ? pour je ne sais pas
Question d’information (Y / N / ?) · Exemple fictif<FactQuestionControl question={q} />
Modèle « Textile et habillement »16 informations typiques seront pré-cochées à l’étape « Informations ».
Thèmes réglementaires fréquents
Hygiène et sécurité : obligations générales de l'employeurMédecine du travail / services médicaux du travailComité de sécurité et d'hygiène (CHS)Accidents du travail et maladies professionnellesPrévention et lutte contre l'incendieAppareils à pression (vapeur et gaz)Sécurité électriqueDéchets dangereuxDéchets non dangereux et assimilésSécurité des machines et équipements de travail
Choix du modèle sectoriel<SectorTemplatePicker templates={…} value={key} />

Sources et collecte

Carte de source (santé, 14 derniers jours, cadence), puces de santé, relevé de couverture, journal d’exécution et bandeau d’incident.

Exemple illustratif : cadence, dates et compteurs fictifs.

À jourDégradéeEn échecÀ configurerJamais vérifiéeNon suivie
SourceHealthBadge<SourceHealthBadge status='failed' />

Développement durable

À jour

MTEDD — Département du Développement durable

MarocMinistère

Textes juridiques (évaluation environnementale, pollution, déchets, biodiversité) et normes de rejets publiés par le département. Les PDF sont en général des extraits du Bulletin officiel.

[14 derniers jours]10 vérifications · aucun échec
Dernière vérification
Prochaine vérification
Sam. 3 oct. · 01:22
Éléments
62 listés · 1 nouveau
Textes collectés
9 textes
Du lundi au vendredi à 08:00
SourceCard — ok<SourceCard source actions />

IMANOR

En échec

Institut marocain de normalisation (IMANOR)

MarocNormalisationTitres et résumés uniquement

Nouvelles normes marocaines (NM) homologuées et projets de normes soumis à enquête publique — titres et résumés uniquement (les normes sont payantes).

[14 derniers jours]10 vérifications · 6 échecs
Dernière vérification
Prochaine vérification
Sam. 3 oct. · 01:22
Éléments
aucun listé · aucun nouveau
Textes collectés
aucun texte
Du lundi au vendredi à 08:00
SourceCard — structure changehealth.reasons: structure_changed
SourceDays (14 j)<SourceDays days />
  1. Lancement (vérification planifiée), publications depuis le 29 sept.

  2. Page lue : Normes (valeurs limites air et eau) — 14 liens de document1,2 s

    https://www.environnement.gov.ma/fr/lois-et-reglementations/normes
  3. 1 nouveau document repéré

  4. Téléchargement refusé par le fichier robots.txt du site : document signalé pour import manuel

    https://www.environnement.gov.ma/images/exemple.pdf
  5. Terminée partiellement : 62 éléments listés, aucun nouveau texte8,4 s

RunLog<RunLog entries />

2 sources couvertes sur 3 · 1 lacune signalée · 02/09/2026 → 02/10/2026

SourceVérificationsDernièreTextesCouverture
Développement durableMA4 vérifications2 oct., 1 oct., 30 sept., 29 sept.02/10/20263 Couverte sur toute la période
SantéMA2 vérifications2 oct., 28 sept.02/10/20261 Couverte sur toute la période
IMANORMA2 vérifications23 sept., 22 sept.23/09/20260IMANOR n’a pas pu être vérifiée du 23 sept. au 2 oct. (9 jours).
CoverageBlock<CoverageBlock coverage />

Textes et citations

Puces de citation, lecteur de passage, synthèse citée, obligations avec citation exacte, statuts de traitement et de pertinence.

Puces de citation : aperçu au survol, passage au clic<CitationChip chunkId chunk onOpen />
Décretn° 2-14-85Maroc
ESDéchets dangereuxTransport de marchandises dangereuses+1
Type, référence, domaines et thèmes<TextTypeLine textType externalRef country />
  1. Collecter, transporter ou traiter des déchets dangereux exige une autorisation de l’autorité chargée de l’environnement ; une entreprise ne peut transporter elle-même ses déchets que si elle détient cette autorisation, sinon elle les remet à un collecteur-transporteur autorisé.
Synthèse citée : chaque phrase se termine par ses citations<SummaryView sentences language chunks onOpenPassage />
CollectéExtraitRésuméClasséÉvaluéLecture humaine requiseÉchec
Statut de traitement (explication au survol)<ProcessingStatusChip status />
QSEHors QSEQSE· réintégréHors QSE· écartéNon évalué
Pertinence QSE : partagée, réintégrée ou écartée par le cabinet<RelevanceChip isQse overridden />
« Tout générateur de déchets dangereux doit désigner, parmi le personnel qu’il emploie une personne responsable chargée de la gestion des déchets dangereux, dénommée «responsable déchets». »
Art. 8 · p. 915
Production de déchets dangereuxEffectif total (salariés) ≥ 50
Citation exacte d’une obligation (serif 14/22) et critères<LegalQuote reference />
Art. 8p. 915

ART. 8. – Tout générateur de déchets dangereux doit désigner, parmi le personnel qu’il emploie une personne responsable chargée de la gestion des déchets dangereux, dénommée «responsable déchets».

Passage cité surligné dans le lecteur<PassageViewer textId chunkId open onOpenChange />
…Section 2. – Prescriptions techniques de stockage ou de traitement des déchets dangereux ART. 29. – Les zones de stockage……
Extrait de recherche plein texte, mots trouvés surlignés<Snippet value />

Exemples réels, cités mot pour mot : décret n° 2-14-85 du 20 janvier 2015 relatif à la gestion des déchets dangereux (BO n° 6336, édition de traduction officielle).

File de revue

Carte de correspondance (décision, confiance, raisonnement cité, question), barre d’approbation groupée, éditeur d’impact et raccourcis clavier.

Atlas Câblage (fictif)Tous les sites
S’applique

S’applique : 3 obligations remplies sur 3

  • Production de déchets dangereux : Oui (confirmé) → critère rempli (Art. 5, Art. 6, Art. 7)
S’applique : 3 obligations remplies sur 3
Maroc Textile (fictif)Usine de Casablanca
Données insuffisantes

Données insuffisantes : 1 obligation dépend d’un fait inconnu

  • Liquides inflammables stockés > 500 L : inconnu → attendu Oui (Art. 3)

Le site Usine de Casablanca stocke-t-il plus de 500 L de liquides inflammables ?

Raccourcis : O ou Y pour oui, N pour non, ? pour je ne sais pas

Répondez à la question ou modifiez la décision pour pouvoir approuver.

Données insuffisantes : 1 obligation dépend d’un fait inconnu
Carte de correspondance · Exemple fictif : client et raisonnement inventés pour la démonstration.<MatchCard match={m} />
Aéro Précision (fictif)Tous les sites
Peut s’appliquer
Préparée par Karim B. (fictif)

Peut s’appliquer : 1 obligation remplie sur 3

  • À vérifier (Art. 2) : « Exemple fictif de critère que les faits ne peuvent pas exprimer. »

Proposition de Karim B. (fictif) : S’applique

Le site dispose d’un poste de transformation : à confirmer lors de la visite.

Un consultant approuvera votre proposition.

Peut s’appliquer : 1 obligation remplie sur 3
Carte vue par un junior (préparer, sans approuver) · Exemple fictif : client et raisonnement inventés pour la démonstration.<MatchCard capabilities={{ decide: false, prepare: true }} />
  • Chimicoat (fictif)Non applicableAucune installation concernée sur le site (exemple fictif).Jugée non applicable par Salma E. (fictif) le 28/09/2026
  • Riad Palmeraie (fictif)Non applicableNe s’applique pas : hors du périmètre du client
Lignes décidées et hors périmètre · Exemple fictif : client et raisonnement inventés pour la démonstration.<MatchRow match={m} />
3 correspondances à confiance élevée
Approbation groupée<BulkApproveBar count={3} />
Actions recommandées
  1. 1
    Échéance
    30 jours après approbation
Éditeur d’impact · Exemple fictif : client et raisonnement inventés pour la démonstration.<ImpactFields value onChange />
AApprouverEModifierRRejeterYN?RépondreSReporterJKCarte suivante]Texte suivant⌘KRechercher
EModifierYN?RépondreSReporterJKCarte suivante]Texte suivant⌘KRechercher
Raccourcis clavier<KeyboardHints canDecide canPrepare />
CabinetTout le cabinetSecteurAgroalimentaireClientChimicoat (fictif)
Exclure un thèmeSuivre un thèmeExempter d’un texteImposer un faitApprise
Règles : portée, effet, règle apprise<RuleScopeLabel /> <RuleEffectBadge /> <LearnedBadge />

Registre et actions

Puces d’applicabilité, de conformité et de revue, ligne d’exemption, évolutions du registre, action en retard.

ApplicableÀ confirmerExemptéAbrogéNouveau
Applicabilité (statut de la ligne)<RegisterStatusChip status />
ConformeÀ évaluerNon conformeNon évalué
Évaluation de la conformité<ComplianceChip status />
En retard de 13 joursÀ revoir le 10/10/2026À jour
Revue annuelle<ReviewStateChip review />
ExemptéExemple fictif

Aucune installation concernée sur le site (information confirmée).

Ligne d’exemption<ExemptionRow entry />
Ajouts
1
Exemptions
1
Statuts
0
Conformité
1
Revues
0
Retraits
0
  1. AjoutéTexte applicable (exemple fictif)Site A (fictif)
    28/09/2026par Consultante (exemple)
  2. ConformitéÀ évaluer → ConformeAutre texte du registre (exemple fictif)
    22/09/2026par Consultante (exemple)
  3. ExemptéTexte jugé non applicable (exemple fictif)
    16/09/2026par Consultante (exemple)
Évolutions du registre<RegisterDiff clientId />
Planifier la vérification périodique des installations électriques (exemple fictif)En cours19/09/2026En retard de 9 jours
Action (échéance dépassée)<ActionStatusChip /> <DueCell />

Rapports et livrables

Statuts de rapport, élément de rapport éditable, journal d’envoi, avancement de fin de mois.

BrouillonApprouvéProgramméEnvoyéArchivéfrar
Statuts de rapport<ReportStatusChip status />
Avancement de fin de période<MonthEndBar />
Markdown simple : **gras**, *italique*, listes « - ». ⌘ Entrée pour enregistrer.
Élément de rapport (rédaction)<ReportItemEditor value lang onSave />
  • Destinataire (exemple)frdestinataire@exemple.invalidveille-exemple-2026-08-v2.pdfregistre-exemple-2026-09-02.xlsx
    Remis au service d’envoi2 sept. 2026, 11:00
  • Destinataire arabophone (exemple)arar@exemple.invalidveille-exemple-2026-08-v2-ar.pdf
    Adresse de test : non expédié2 sept. 2026, 11:00
Journal d’envoi<DeliveryLog deliveries />

Membres et rôles

Places de la formule, rôles du cabinet (propriétaire, administrateur, consultant, junior, lecteur) et matrice des capacités de la spécification §2.2.

PropriétaireAdministrateurConsultantConsultant juniorLecteur
RoleBadge<RoleBadge role='consultant' />
[Places]1 sur 1 place utilisée1 membreFormule Solo
SeatMeter · Solo<SeatMeter seats={…} />
[Places]Utilisateurs illimités4 membres · 1 invitation en attenteFormule Cabinet
SeatMeter · Cabinet<SeatMeter seats={…} />
PropriétaireTous les droits, y compris la facturation et la suppression du cabinet.
AdministrateurGère les membres, les rôles, l’image du cabinet et la configuration des sources.
ConsultantVotre rôleApprouve les correspondances et les exemptions, envoie les rapports, gère les règles.
Consultant juniorCrée les clients et prépare la revue : résumés, propositions de décision.
LecteurConsulte les textes, les clients, les registres et les rapports.
Capacités par rôle
CapacitéPropriétaireAdministrateurConsultantConsultant juniorLecteur
Facturation, suppression du cabinet
Membres, rôles, image du cabinet
Configuration des sources
Approuver les correspondances et exemptions, envoyer les rapports
Gérer les règles et les exemptions
Créer et modifier clients, sites et profils
Préparer la revue (résumés, propositions)
Consulter textes, clients, registres et rapports
RolesMatrix<RolesMatrix highlight='consultant' />

Utilisation et facturation

Compteurs de la formule, comparaison Solo / Cabinet, factures et paiement en mode test (MAD).

Utilisation ce mois-ci

Remise à zéro le 1 octobre 2026. Les profils clients et les consultants sont comptés à l’instant présent.
Profils clients
Profils clients : 9/ 10
Bientôt à la limiteAu 11e client, la formule Cabinet devient nécessaire.
Consultants
Consultants : 1/ 1
Solo est prévu pour un consultant ; Cabinet accueille toute l’équipe.
Textes traités ce mois-ci
Textes traités ce mois-ci : 74
Rapports envoyés ce mois-ci
Rapports envoyés ce mois-ci : 9
Correspondances ce mois-ci
Correspondances ce mois-ci : 203
UsageMeters · Solo, 9 / 10<UsageMeters usage={usage} />
PayéeÀ payerVEI-202609-XX0001
Statutpaid · open
ActifEssaiSe termine
Actifstatus chips

Cabinet et démo

État des sources, bandeau de la démo, choix des pays suivis, libellés arabes (de droite à gauche) et zone de suppression à confirmation saisie. Exemples fictifs.

Toutes les sources à jour2 sources à surveiller1 source en échec
Toutes les sources à jour<SourcesStatusChip /> · <StatusChip tone>
Démo

Copie privée de démonstration · s’efface dans 2 heures

Enregistrer dans votre compte
DemoBannerView<DemoBannerView expiresAt saveHref />
Pays suivisrole=radiogroup
Libellé (arabe)dir='rtl' lang='ar'

Supprimer le cabinet

Supprimer le cabinet<SettingsCard tone='danger'>

Site public

Les composants du site marketing : barre d’annonce, méga-menu, puce de mesure en direct, vagues, maquette de la file, pile de décisions au clavier, aperçu de rapport, promesse de couverture.

RapportÉtat de la veille réglementaire QSE au Maroc 2026Lire ›
Barre d’annonce<AnnouncementBar />
Puce de mesure (odomètre)<HeroMetricChip metric={{ kind: 'week', value }} />
Toutes les sources à jour12 sources sur 15 à jour
Puce d’état des sources<SourcesStatusChip summary />
AERYNS
Touches de la revue<ReviewDemo />
Illustrations squelettes<SummariesArt /> · <MatchesArt /> · <RegisterArt />
  1. 1CollecterLes sources officielles
  2. 2ComprendreRésumé, obligations, thèmes
  3. 3RapprocherClient par client, site par site
  4. 4RelireLa file de revue, au clavier
  5. 5LivrerRegistre et rapport
Schéma des cinq étapes<Pipeline steps />
  • Horizon Conseil QSE
  • Bouregreg Prévention
  • Médina Conformité
  • Argane HSE
Tuiles de cabinets fictifs<FirmTile firm />
StringArtWaves · variant=band<StringArtWaves variant="band" />