Jul6art Jul6art · Docs

Jul6art SaaS Admin

Présentation

Un socle SaaS multi-tenant, prêt à embarquer, conçu pour vos équipes métier et vos équipes techniques. Activez uniquement les modules dont vous avez besoin, configurez chaque organisation finement, et gardez la main sur votre logique métier sans jamais forker le cœur du produit.


En une phrase

Jul6art SaaS Admin est une plateforme modulaire multi-organisations qui vous fournit un backoffice complet (CRM, ERP, SIRH, Agenda, CMS, Emailing, Reporting) avec des mécaniques transverses robustes : permissions très fines, temps réel intégré, assistant rédactionnel local par IA, audit automatique, et personnalisation par événements — sans sacrifier performance ni sécurité.


Pourquoi nos clients choisissent la plateforme

1. Une granularité de permissions qui s'aligne sur votre organigramme réel

Trois niveaux imbriqués, activables sans effort :

  • Par module (feature flag) — activez CRM, ERP, CMS… organisation par organisation, selon le plan souscrit. Désactiver un module retire instantanément toutes ses permissions et ses paramètres associés, sans orpheliner la donnée.
  • Par rôle — trois rôles par défaut (Admin org, Manager, User) avec un catalogue de permissions déjà cartographié. Le super-admin plateforme peut décliner les droits rôle par rôle, pour chaque organisation, via une interface dédiée.
  • Par utilisateur (ACL override) — autoriser ou interdire une permission pour un utilisateur spécifique, au-delà de son rôle. Les dérogations sont délégables : un admin d'organisation peut affiner son équipe sans appeler le support.

Les trois couches sont auditées, testées, et cumulables — y compris en API (JWT) avec résolution au niveau du contexte de requête.

2. Un temps réel Mercure qui « juste marche »

Dès qu'une donnée change côté serveur, les interfaces concernées se rafraîchissent :

  • Les tableaux de données (DataTables) se mettent à jour sans reload.
  • La cloche de notifications affiche le nouveau message immédiatement.
  • Un utilisateur qui édite une ressource voit une alerte si un collègue modifie la même entité en parallèle.
  • Un seul topic broadcast par organisation — pas de fuite cross-tenant, JWT d'abonnement à durée limitée.

Aucun polling, aucun refresh manuel. L'expérience est native desktop, sur du web.

3. Un assistant rédactionnel IA, auto-hébergé

Le module LLM Writing branche un modèle auto-hébergé (Ollama) sur tous les éditeurs WYSIWYG du produit. Vos équipes disposent d'un bouton « ✨ » qui propose :

  • Reformuler un paragraphe avec un ton (neutre, formel, marketing…),
  • Corriger l'orthographe / la grammaire,
  • Traduire dans la langue de la cible,
  • Résumer,
  • Continuer sur le même style,
  • Action libre guidée par une instruction personnalisée.

Zéro fuite de contenu hors de votre infrastructure : aucun appel à OpenAI, Anthropic ou Mistral Cloud. Les textes sont envoyés à un runtime local, la réponse revient dans l'éditeur. Vous contrôlez le modèle (qwen2.5, Mistral, Llama, etc.), le débit (rate-limit par utilisateur), et les actions autorisées par organisation.

4. Un CMS intégré, pas un CMS tiers plaqué

Chaque organisation dispose d'un site public sur son sous-domaine avec :

  • Hiérarchie de templates façon WordPress — surchargez un template pour une page précise (page/a-propos.html.twig), pour une organisation entière (org/acme/home.html.twig), ou restez sur le thème de base. La bonne version gagne automatiquement, sans configuration.
  • 8 thèmes interchangeables — Starter, Corporate, Magazine, Minimal, Journal, Studio, Soft, Terminal — chacun avec son identité visuelle, sa typographie et sa palette livrée d'usine (voir docs/commercial/themes.md). Changement de thème en un clic : les couleurs de marque sont auto-réinitialisées aux valeurs recommandées du nouveau thème, puis restent éditables à volonté.
  • Shortcodes dans le contenu WYSIWYG : [cms-form slug="contact"] insère un formulaire, [cms-menu location="header"] insère un menu configurable. Extensible — chaque module peut ajouter ses propres shortcodes.
  • Upload media avec quota par organisation, MIME whitelistée, sanitization automatique du HTML avant publication pour prévenir les XSS.
  • SEO intégré (meta description, Open Graph, sitemap.xml, robots.txt, RSS) et redirections 301 auto-créées lors d'un changement de slug.
  • Commentaires + réactions + partages avec modération intégrée, anti-spam honeypot, rate limiting.

5. Une logique métier personnalisable sans forker le produit

Chaque action critique émet un événement avant et après son exécution. Vos développeurs peuvent :

  • Enrichir une entité avant création (valeurs par défaut métier, champs calculés).
  • Bloquer une opération si une règle interne échoue (sans écrire une ligne dans les services du cœur).
  • Synchroniser vers un outil externe (CRM tiers, ERP legacy, Data Warehouse) après une mutation.
  • Déclencher un workflow d'automatisation sur un changement de statut.

Deux familles d'événements :

  • CRUD (création, modification, suppression) — déclenchés automatiquement par Doctrine, peu importe le code appelant.
  • Métier (publication, activation, clôture…) — déclenchés explicitement par le service concerné, là où la sémantique fait sens.

Résultat : vos équipes tech étendent le produit en écrivant un EventSubscriber dans un dossier dédié. Elles ne touchent ni au cœur, ni à la doctrine d'upgrade. Les migrations futures restent sans friction.

6. Audit, purge et conformité RGPD par attribut

  • #[Auditable] sur une entité → chaque création, modification, suppression est journalisée automatiquement avec acteur, champs modifiés, IP, user-agent. Aucun appel manuel dans les services.
  • #[Purgeable] → une commande planifiée purge les entités expirées selon la politique de rétention (ex. logs après 3 mois, utilisateurs supprimés depuis 1 an, etc.), avec une trace d'audit de chaque purge.
  • #[Notifiable] → les utilisateurs concernés reçoivent une notification temps réel pour chaque événement métier pertinent (ex. page publiée → admins org notifiés).

Ces attributs transforment des besoins réglementaires récurrents (RGPD article 17, conservation limitée, journalisation des accès) en une ligne de code sur l'entité.

7. Performance multi-tenant pensée pour des centaines d'organisations

  • Prefetch request-scoped : au début de chaque requête HTTP, les features et paramètres de l'utilisateur sont chargés en 2 requêtes SQL puis accessibles sans DB jusqu'à la fin de la requête.
  • Filtres Doctrine multi-tenant : garantissent l'isolation des données entre organisations. Une requête mal écrite ne peut pas lire les données d'une autre organisation — le filtre est appliqué globalement.
  • Pagination Select2 côté API pour chaque dropdown d'organisation ou d'utilisateur : aucun dropdown ne charge plus de 20 éléments à la fois.
  • Cache HTTP standardisé sur les endpoints API (max-age, shared-max-age) — prêt pour Varnish / CDN.

8. Paramétrage par organisation, sans déploiement

Le système de paramètres hiérarchiques (global → organisation → module) permet aux super-admins d'ajuster la configuration d'un client sans redéployer :

  • Quotas médias, limites d'envoi email, taux de TVA par défaut, jours de congés, fuseau horaire…
  • Chaque module déclare ses paramètres avec des valeurs par défaut auto-provisionnées à l'activation de la feature correspondante.
  • Interface d'administration cross-org : visualisez la configuration de n'importe quel tenant en 2 clics, éditez en place, l'audit logger trace tout.

9. Saisie ultra-rapide au clavier pour vos opérationnels

Les équipes qui saisissent 30 contacts d'affilée ou 50 lignes de stock par jour ne devraient jamais avoir à toucher une souris. La plateforme expose une convention clavier cohérente sur tous les modules :

Touche Action
n Ouvre l'écran « Nouveau X » depuis n'importe quel listing
? Affiche un cheat-sheet listant tous les raccourcis disponibles sur la page courante
Ctrl/⌘ + Enter Soumet le formulaire en cours
Ctrl/⌘ + Shift + Enter Soumet et ré-ouvre un formulaire vide pour enchaîner
Esc Ferme l'overlay d'aide (et tout autre overlay réactif)

Et côté formulaires :

  • Autofocus automatique sur le premier champ — pas de clic obligatoire pour démarrer la saisie.
  • Bouton « Enregistrer et créer un nouveau » rendu à côté du bouton primaire, masqué intelligemment (édition d'un objet existant, ou création contextualisée — créer une activité depuis un contact ne propose pas d'enchaîner sans contexte).
  • Ordre de tabulation naturel, validé par tests : Tab + Entrée envoie toujours la sauvegarde, jamais l'annulation.

Concrètement : un commercial qui ajoute 30 prospects gagne 3 à 5 secondes par formulaire (~2 minutes sur la séance), un opérateur ERP qui crée des références produit fait défiler ses saisies sans jamais quitter le clavier, et l'aide est toujours à un appui de touche (?) sans avoir à mémoriser quoi que ce soit.

L'argument est étroit mais payant : c'est ce que vos utilisateurs ressentent comme « cette plateforme est rapide ». Pour les équipes en saisie intensive, c'est la fonctionnalité qui se voit en premier.


Les modules fonctionnels

Disponibles en v1

Module Valeur business
CMS Site public par org (sous-domaine), thèmes, blog, formulaires, menus, SEO, redirections, commentaires modérés. Votre vitrine et votre blog dans la même plateforme que vos opérations.
CRM Contacts, entreprises, deals, pipeline commercial configurable, activités, champs personnalisés, tags. Vue d'équipe ou vue individuelle (owner_only) par paramètre.
ERP Facturation (devis → facture → paiement), catalogue produits, stocks, achats, comptabilité, RH, projets, export PDF. Sous-modules activables indépendamment.
SIRH Dossier salarié, contrats, congés, temps de travail, paie, notes de frais, entretiens annuels, formations, recrutement, portail collaborateur en self-service.
Agenda Calendriers partagés et individuels, événements récurrents, rappels, invités internes/externes. Intégré aux activités CRM, congés SIRH, échéances ERP.
Emailing Listes avec consentement RGPD, templates MJML responsives, campagnes planifiées, tracking ouvertures/clics/bounces/désabonnements, analytics.
Reporting Dashboards drag-and-drop avec widgets cross-modules, rapports planifiés, export PDF/Excel/CSV. Respect strict des permissions du module source.
Chat Messagerie instantanée interne (canaux, DM, mentions, fichiers, emojis), intégrable aux modules métier (partage de deals, documents…).
GED / Documents Arborescence de dossiers, versioning, partage interne/externe, recherche, intégré au CRM/ERP/SIRH.

Activation par plan

Chaque organisation est sur un plan (Free, Pro, Enterprise) qui définit le périmètre par défaut des modules disponibles. Un super-admin peut sur-allouer un module hors plan au cas par cas, tracé dans l'audit log, sans changer de plan.


Les fondations techniques qui font la différence

Vous ne les verrez pas depuis l'interface, mais vos équipes IT les apprécieront :

  • Isolation stricte multi-tenant au niveau SQL, pas applicatif.
  • Modèle d'auth en 3 couches : subscription → feature → permission, vérifié sur chaque route.
  • Tests automatisés : la plateforme est livrée avec plus de 660 tests unitaires et fonctionnels.
  • Audit de sécurité : composer audit CI, sanitization HTML, CSP, HSTS, nosniff, rate-limiting login/register, tokens de réinitialisation hashés au repos.
  • Mode sombre natif sur toutes les interfaces backoffice.
  • Internationalisation — traductions par domaine fonctionnel, locale par utilisateur, prêt pour l'ajout de nouvelles langues.

Pour vos équipes techniques

Si vous souhaitez voir concrètement comment vos développeurs branchent leur logique métier, étendent les modules, ajoutent une permission ou écoutent un événement :

👉 Guide de démarrage technique

Le guide technique complète cette présentation avec des exemples de code, les conventions du projet, et les points d'extension documentés.


Contact

Pour une démonstration, un devis, ou un accès d'essai : demandez au contact commercial en charge de votre dossier.