À propos du projet

Ceci est le dépôt du code source du site officiel de la communauté Open Source Design (opensourcedesign.net). Le site est construit avec le générateur de sites statiques Hugo et Tailwind CSS, déployé sur GitHub Pages, et les builds, aperçus et diverses tâches automatisées sont assurés via GitHub Actions. Organisation du contenu Le contenu du site est stocké au format Markdown dans le répertoire content/, principalement réparti en : About Us (à propos, manifeste, objectifs, gouvernance, charte, code de conduite, panneau de modération), Events (annonces et rétrospectives d'événements), Jobs (liste des offres d'emploi), Resources (centre de ressources, incluant un répertoire de liens sélectionnés, une bibliographie et des articles communautaires), ainsi que des pages indépendantes telles que imprint, brand et la page d'accueil. Le contenu dynamique est piloté par des fichiers YAML dans data/, par exemple data/resources.yaml gère les outils et liens sélectionnés, et data/bibliography.yaml gère les entrées bibliographiques. Comment contribuer Le README propose trois moyens de modification : modifier directement les fichiers via l'éditeur web de GitHub, utiliser l'environnement de développement cloud GitHub Codespaces (préconfiguré avec Hugo et l'aperçu en temps réel), ou configurer un environnement local. Le développement local nécessite uniquement l'installation de Hugo Extended et Git ; l'usage quotidien ne dépend ni de Node.js ni de npm ; le CLI autonome de Tailwind et Pagefind sont des binaires optionnels. Le processus de contribution recommande d'ouvrir d'abord une issue pour discussion, puis de soumettre une pull request ; les PR de contenu doivent être examinées par deux membres de la communauté. Le projet exige explicitement de ne pas soumettre de code, d'issues, de documentation ou de revues de code générés par IA. Styles et build L'apparence des pages provient des classes utilitaires Tailwind dans les templates layouts/ et des règles personnalisées dans assets/css/main.css, les deux étant compilés en assets/css/compiled.css (non versionné, généré par la CI). Lors de l'exécution locale de hugo server, si ce fichier est absent, le site se rabat sur le CDN Tailwind Play pour générer les styles instantanément dans le navigateur ; il est également possible de compiler à l'avance avec le CLI Tailwind pour correspondre à l'environnement de production. Les styles de couverture du mode sombre sont chargés séparément, et la typographie des articles utilise typography.css précompilé. Fonctionnalités des offres d'emploi et des événements Les offres d'emploi et les événements peuvent être soumis via un formulaire en ligne, traités par un Cloudflare Worker qui génère une pull request soumise à modération. Les offres d'emploi prennent en charge des champs de salaire structurés, la reconnaissance automatique des icônes de service pour les liens de candidature, la détection des offres en double, des e-mails de rappel après environ six semaines, un mécanisme d'expiration basé sur la date limite (une Action quotidienne soumet automatiquement une PR d'expiration), des flux RSS distinguant payant/bénévole, ainsi que des cartes de partage social générées automatiquement. Les événements prennent en charge le marquage par l'auteur pour distinguer les annonces des rétrospectives, l'archivage automatique via endDate, et le statut d'annulation. Automatisation et assurance qualité La CI ignore les builds Hugo non pertinents grâce à une liste blanche de chemins dans path-filters.yml. Le lint de contenu ne vérifie que les fichiers modifiés, valide les champs obligatoires du front matter, les énumérations de statut, les dates ISO, et bloque les pièges Markdown courants. La vérification du dépôt, la vérification d'accessibilité et le lint de contenu sont des contrôles de statut obligatoires pour la branche main. Après la fusion d'une nouvelle offre d'emploi, un script la publie automatiquement sur Mastodon et Bluesky (clés de configuration optionnelles pour chaque plateforme, déclenchement manuel et dry-run pris en charge). D'autres workflows existent : rappel hebdomadaire des offres d'emploi, cache du forum toutes les 12 heures, vérification des liens deux fois par mois. Recherche et images La recherche interne est une fenêtre modale sur tout le site, accessible via Ctrl/⌘+K ou le raccourci /, fournie par Pagefind, l'index étant généré après le build et chargé en différé. Les images Markdown sont traitées par le pipeline de ressources Hugo ; les images raster locales sont automatiquement redimensionnées et exportées en AVIF et WebP, avec un repli au format original et des dimensions intrinsèques pour éviter les décalages de mise en page ; les SVG, GIF et liens externes restent inchangés. Licence Le code est sous AGPLv3, le contenu sous Creative Commons Attribution-ShareAlike 4.0 ; toute utilisation ou modification doit créditer Open Source Design et appliquer la même licence aux œuvres dérivées.