5.2 KiB
Open Source Setup
Date: December 2024 Auteur: Équipe 4NK
Objectif
Mise en place complète du projet en open source avec documentation des contributions, code de conduite, politique de sécurité et templates pour issues et pull requests.
Motivations
- Faciliter les contributions externes au projet
- Standardiser le processus de contribution
- Assurer la sécurité et la qualité du code
- Créer un environnement accueillant pour les contributeurs
- Documenter les bonnes pratiques et les guidelines
Modifications
Fichiers créés
-
LICENSE : Licence MIT pour le projet
- Permet l'utilisation, modification et distribution libre
- Standard pour les projets open source
-
README.md : Amélioration avec sections open source
- Badges (License, TypeScript, Next.js)
- Table of contents
- Section Contributing avec workflow
- Section Documentation
- Section License
-
CONTRIBUTING.md : Guide complet de contribution
- Code of Conduct
- Getting Started
- Development Setup
- Coding Guidelines détaillées
- Workflow complet (branches, commits, PRs)
- Commit Guidelines avec format structuré
- Checklist avant soumission
- What Not to Do
-
CODE_OF_CONDUCT.md : Code de conduite
- Basé sur Contributor Covenant v2.0
- Standards de comportement
- Processus d'enforcement
- Guidelines d'impact communautaire
-
SECURITY.md : Politique de sécurité
- Processus de reporting des vulnérabilités
- Timeline de réponse
- Best practices de sécurité
- Considérations de sécurité spécifiques au projet
- Checklist de sécurité pour les PRs
-
.gitea/ISSUE_TEMPLATE/ : Templates pour issues (Gitea)
bug_report.md: Template pour rapports de bugsfeature_request.md: Template pour demandes de fonctionnalitésquestion.md: Template pour questions
-
.gitea/PULL_REQUEST_TEMPLATE.md : Template pour pull requests (Gitea)
- Format structuré avec sections Motivations, Root causes, Correctifs, Evolutions, Pages affectées
- Checklist de validation
- Sections de testing et documentation
Structure des templates
Issue Templates
- Bug Report : Sections pour description, étapes de reproduction, environnement, erreurs console
- Feature Request : Sections pour description, use cases, considérations techniques
- Question : Format simple pour questions et contexte
Pull Request Template
- Format aligné avec les guidelines de commit du projet
- Sections structurées (Motivations, Root causes, Correctifs, Evolutions, Pages affectées)
- Checklist complète de validation
- Sections pour testing et documentation
Guidelines de contribution
Principes fondamentaux
- Pas de fallbacks ou échecs silencieux
- Pas d'analytics
- Pas de tests ad-hoc (sauf demande explicite)
- TypeScript strict (pas de
any, pas dets-ignore) - Gestion d'erreurs explicite
- Accessibilité (ARIA, clavier, contraste)
Workflow standardisé
- Fork du repository
- Création de branche feature/fix
- Développement suivant les guidelines
- Lint et type-check
- Commit avec format structuré
- Pull Request avec template
- Review et merge
Format de commit
Commits exhaustifs et synthétiques avec :
- Motivations
- Root causes
- Correctifs
- Evolutions
- Pages affectées
Sécurité
Processus de reporting
- Utilisation d'issues privées sur Gitea (préfixées [SECURITY])
- Reporting privé (pas d'issues publiques)
- Timeline de réponse définie
- Crédit des chercheurs en sécurité
Considérations spécifiques
- Authentification Nostr (NIP-07 via Alby)
- Paiements Lightning (WebLN)
- Stockage chiffré (IndexedDB avec AES-GCM)
- Pas de secrets en clair
Accessibilité
- Respect ARIA
- Navigation clavier
- Contraste WCAG
- Pas de régressions
Documentation
- Documentation des fixes dans
fixKnowledge/ - Documentation des features dans
features/ - Format structuré avec sections claires
- Attribution (Équipe 4NK)
Modalités de déploiement
Aucun déploiement nécessaire. Les fichiers sont directement dans le repository et seront visibles sur Gitea lors du push.
Repository Gitea : https://git.4nkweb.com/4nk/story-research-zapwall
Modalités d'analyse
Vérifications à effectuer
- LICENSE : Vérifier que la licence MIT est appropriée
- README.md : Vérifier les liens et badges
- CONTRIBUTING.md : Vérifier la cohérence avec les règles du projet et les URLs Gitea
- Templates : Tester la création d'issues et PRs sur Gitea
- SECURITY.md : Vérifier les références Gitea
Points d'attention
- Les URLs dans CONTRIBUTING.md pointent vers git.4nkweb.com
- Les templates sont dans
.gitea/pour compatibilité Gitea - Les références GitHub ont été remplacées par Gitea
- Le repository est : https://git.4nkweb.com/4nk/story-research-zapwall
Prochaines étapes
- Tester la création d'issues et PRs sur Gitea avec les templates
- Vérifier que Gitea reconnaît les templates dans
.gitea/ - Ajouter des labels Gitea si nécessaire (bug, enhancement, question, etc.)
- Configurer les branch protection rules sur Gitea si nécessaire
- Vérifier que les permissions du repository permettent le fork et les contributions