Laboratoire R&D / Open Source

Architectures pures.
Zéro dépendance.

Un espace d'expérimentation dédié à la création de systèmes web résilients, au web-scraping automatisé et à l'exploration des capacités natives des navigateurs.

Scraper API Core CloudHub

Dépôts & Expérimentations

L'écosystème Fabricabrac est ouvert. Code source, modules isolés et cibles d'entraînement pour scripts d'automatisation.

cloudhub-spa-simulator
Public

Un gestionnaire d'abonnements complet construit en Vanilla JS. Utilise le LocalStorage, le Shadow DOM et des CSS variables. Conçu comme une cible d'entraînement pour les extensions.

JavaScript MIT
git clone https://fabricabrac.fr/cloudhub.git
Axes de développement actuels :
  • Implémentation d'un service worker hors-ligne.
  • Obfuscation CSS avancée pour le mode "Expert".
Lancer la Sandbox
stealth-scraper-core
WIP

Moteur d'extension Chromium basé sur le Manifest V3. Capable de naviguer à travers des iFrames isolées, d'attendre les mutations du DOM asynchrones et d'interagir avec les éléments du ShadowRoot.

JavaScript GPL-3.0
git clone https://fabricabrac.fr/scraper.git
Statut de l'architecture :
  • Refonte en cours pour le support des Service Workers.
  • Tests de robustesse sur des structures React.

Journal d'Ingénierie

Analyses techniques, découvertes de protocoles et retours d'expérience sur la construction de systèmes sans dépendances.

03.08.2026

L'art du "Skeleton Loading" asynchrone

Simuler la latence réseau avec précision pour améliorer l'expérience utilisateur perçue lors de la récupération de données REST, exclusivement via des variables CSS.

Bibliothèque de Snippets

Composants d'interface isolés, réutilisables instantanément dans n'importe quel projet Vanilla.

Bouton Toggle Thème (Dark/Light) + Mémorisation LocalStorage
function toggleTheme() { const html = document.documentElement; const current = html.getAttribute('data-theme'); const newTheme = current === 'dark' ? 'light' : 'dark'; html.setAttribute('data-theme', newTheme); localStorage.setItem('theme_pref', newTheme); } // Initialisation au chargement const savedTheme = localStorage.getItem('theme_pref'); if (savedTheme) { document.documentElement.setAttribute('data-theme', savedTheme); } else if (window.matchMedia('(prefers-color-scheme: dark)').matches) { document.documentElement.setAttribute('data-theme', 'dark'); }
guest@fabricabrac:~
Fabricabrac OS [Version 2.4.1]
Tapez 'help' pour afficher les commandes disponibles.
guest@fabricabrac:~$ init system... OK
guest@fabricabrac:~$