Le présent document constitue le code source du site web officiel de documentation du SophiaHackLab, un hackerspace collaboratif regroupant ingénieurs, artistes, scientifiques et entrepreneurs, situé à Sophia-Antipolis, France.
Ce site est développé avec Docusaurus, un générateur de sites web statiques moderne. Il permet de gérer aisément du contenu, comme des articles de blog ou de la documentation pour les projets du SHL: ajouter/modifier/supprimer des fichiers markdowns dans ce répertoire sur la branche main déploiera automatiquement ces changements sur le site web https://sophiahacklab.github.io/docusaurus/.
.
├── docs/ # Fichiers markdown de documentation
│ ├── intro.md # Page d'introduction
│ ├── contributing.md # Guide de contribution (dans la sidebar)
│ ├── test-reports.md # Documentation des rapports de tests
│ └── projects/ # Documentation des projets
│ ├── fete_de_la_science/
│ ├── rov/
│ └── triviak/
│ ├── mini/
│ └── real/
├── blog/ # Articles de blog
│ ├── 2025-01-06-campagne-dons-2025.md
│ ├── 2024-12-15-innovation-hackerspaces.md
│ ├── 2025-01-05-open-talks-rust.md
│ ├── authors.yml # Auteurs du blog
│ └── tags.yml # Tags du blog
├── src/ # Composants React et pages
├── static/ # Ressources statiques
├── tests/ # Tests e2e Playwright
│ ├── homepage.spec.ts
│ ├── sidebar.spec.ts
│ └── projects.spec.ts
├── scripts/ # Scripts utilitaires
│ └── test-local.sh # Script de test local
├── docusaurus.config.ts # Configuration Docusaurus
├── playwright.config.ts # Configuration Playwright
├── sidebars.ts # Configuration de la sidebar (autogénérée)
└── DEPLOYMENT.md # Instructions de déploiement
Le fichier CONTRIBUTING.md donne des détails concernant les contributions.
npm installnpm startCette commande lance un serveur de développement local à l'adresse http://localhost:3000 et ouvre une fenêtre de navigateur à cette adresse. La plupart des modifications sont reflétées instantanément sans nécessiter le redémarrage du serveur.
npm run buildCette commande génère le contenu statique dans le répertoire build et peut être déployée via tout service d'hébergement de contenu statique.
Playwright est utilisé pour les tests de bout en bout (end-to-end) sur les navigateurs Chromium, Firefox et WebKit.
Exécuter les tests sur le serveur de développement:
npm start # Dans un premier terminal
npm run test:e2e # Dans un second terminalBuild, déploiement, tests et génération de rapports en une seule commande:
npm run test:localCe script exécute les opérations suivantes:
- Build du site Docusaurus
- Démarrage d'un serveur de production local
- Attente de la disponibilité du serveur
- Exécution des tests e2e Playwright
- Génération des rapports JUnit XML et HTML
- Arrêt du serveur et affichage des résultats
Rapports de tests:
- JUnit XML:
test-results/junit.xml - Rapport HTML:
test-results/html/index.html
Ouvrir le rapport de tests HTML dans votre navigateur:
npm run test:reportLe site est automatiquement déployé sur sur une GitHub Page lors des modifications poussées sur la branche main (via GitHub Actions).
URL de production: https://sophiahacklab.github.io/docusaurus/
Deux workflows automatisés:
1. Workflow de déploiement (.github/workflows/deploy.yml)
- Déclenchement: Push sur la branche
main - Étapes:
- Checkout du code
- Installation de Node.js 20
- Installation des dépendances
- Build Docusaurus
- Upload de l'artefact de build
- Déploiement sur GitHub Pages
- Statut:
2. Workflow de tests E2E (.github/workflows/test.yml)
- Déclenchement: Push sur
main, Pull requests, déclenchement manuel - Étapes:
- Checkout du code
- Installation de Node.js 20 avec cache npm
- Installation des dépendances via
npm ci - Installation des navigateurs Playwright avec dépendances
- Build Docusaurus
- Exécution des tests Playwright avec reporters JUnit, HTML et list
- Upload des résultats de tests (JUnit XML et HTML)
- Upload des captures d'écran en cas d'échec
- Publication du résumé des tests sur GitHub
- Timeout: 15 minutes maximum
- Rapports: Disponibles en tant qu'artefacts GitHub Actions pendant 30 jours
- Statut:
Les GitHub Pages sont activées (projet Open Source):
- Accéder à Settings → Pages
- Définir Source sur "GitHub Actions"
- Le site sera déployé automatiquement au prochain push
Via SSH:
USE_SSH=true npm run deploySans SSH:
GIT_USER=<Votre nom d'utilisateur GitHub> npm run deployLe site utilise une configuration d'URL basée sur l'environnement:
- Développement local:
baseURL: '/'àhttp://localhost:3000 - GitHub Pages:
baseURL: '/docusaurus/'àhttps://sophiahacklab.github.io/docusaurus/
Cette configuration est détectée automatiquement via la variable d'environnement BUILD_FOR_GITHUB_PAGES.
Le site est configuré en français (fr) comme locale par défaut:
i18n: {
defaultLocale: 'fr',
locales: ['fr'],
}Mode sombre forcé: Le site utilise un thème sombre monochrome personnalisé avec commutation du mode couleur désactivée:
colorMode: {
defaultMode: 'dark',
disableSwitch: true,
respectPrefersColorScheme: false,
}Stylisation personnalisée:
- Design monochrome ultra-minimaliste avec arrière-plans noir pur (#000000)
- Contraste maximum avec texte blanc/gris
- CSS personnalisé dans
src/css/custom.csspour une esthétique minimaliste
Le site intègre des capacités de rendu de diagrammes Mermaid via @docusaurus/theme-mermaid:
themes: ['@docusaurus/theme-mermaid'],
markdown: {
mermaid: true,
}Il est possible de créer des diagrammes directement dans le markdown en utilisant des blocs de code mermaid.
La sidebar est automatiquement générée à partir de la structure du système de fichiers dans le répertoire docs/. Pour personnaliser l'ordre:
- Utiliser
sidebar_positiondans le frontmatter markdown - Ajouter des fichiers
_category_.jsondans les répertoires - Consulter la documentation sidebar de Docusaurus
| Script | Description |
|---|---|
npm start |
Démarrer le serveur de développement |
npm run build |
Build pour la production |
npm run serve |
Servir le build de production localement |
npm run test:e2e |
Exécuter les tests e2e Playwright |
npm run test:local |
Build, servir, tester et générer un rapport |
npm run test:report |
Ouvrir le rapport de tests HTML |
npm run clear |
Effacer le cache Docusaurus |
npm run deploy |
Déployer sur GitHub Pages |
Le site comprend des articles de blog spécifiques au SHL, tels que:
- Campagne de dons 2025 - Informations sur le soutien au SHL via les dons
- Innovation dans les hackerspaces - Comment les hackerspaces catalysent les écosystèmes technologiques
- Open Talks: Rust - Annonce d'événement pour la présentation Rust (14 janvier 2025)
Tous les articles de blog comportent le branding SHL et sont correctement tagués pour une navigation facilitée.
Le SophiaHackLab regroupe des ingénieurs, artistes, scientifiques, entrepreneurs et créatifs, qui partagent un espace de travail et de socialisation à Sophia-Antipolis, France.
- Site web: https://www.shl.contact/
- Localisation: Space Antipolis, Bâtiment 9, Sophia-Antipolis
- Contact: [email protected]
Cette documentation de projet est maintenue par le SophiaHackLab.