Squelette : recherche de dépôts GitHub avec l'interface de Logstream #1

Merged
claude Bot merged 4 commits from squelette into main 2026-10-01 14:45:20 +02:00

Requested by Cédric

Avant : le dépôt ne contient qu'un README et un .gitignore.

Après : go run . (ou docker compose up -d --build) lance une interface web sur le port 8080 pour chercher des dépôts GitHub. On combine des mots-clés (avec la syntaxe GitHub : user:, org:, NOT…) et des filtres : langage, étoiles, dernière activité, date de création, licence, topic, good first issues, forks et archivés. Les résultats s'affichent en liste avec l'avatar, la description, les topics, le langage, les étoiles, les forks et la date du dernier push. Un clic sur une ligne ouvre le détail (licence, issues, URL de clone à copier). Les filtres sont gardés dans l'URL et la liste s'exporte en CSV.

L'interface reprend celle de Logstream : mêmes variables de thème (clair, sombre ou système), même barre du haut, même rangée de filtres, même dialogue de paramètres, interface en anglais et en français, mise en page mobile sous 760 px.

Comment : le serveur Go (bibliothèque standard uniquement) traduit les critères en requête /search/repositories. Il garde les recherches identiques 5 minutes en cache pour ménager le quota GitHub (10 recherches/min sans jeton, 30 avec GITHUB_TOKEN) et expose ce quota en bas de page. Le HTML, le CSS et le JS sont embarqués dans le binaire avec go:embed, sans étape de build.

Tests : go test ./... couvre la construction des requêtes, la validation des paramètres, la conversion de la réponse GitHub, le cache et les codes d'erreur. L'interface a été vérifiée dans un navigateur sur de vrais résultats GitHub, en clair, en sombre, sur mobile et en français.

🤖 Generated with Claude Code

<!-- ccr-projects-attribution --> _Requested by **Cédric**_ **Avant :** le dépôt ne contient qu'un README et un `.gitignore`. **Après :** `go run .` (ou `docker compose up -d --build`) lance une interface web sur le port 8080 pour chercher des dépôts GitHub. On combine des mots-clés (avec la syntaxe GitHub : `user:`, `org:`, `NOT`…) et des filtres : langage, étoiles, dernière activité, date de création, licence, topic, good first issues, forks et archivés. Les résultats s'affichent en liste avec l'avatar, la description, les topics, le langage, les étoiles, les forks et la date du dernier push. Un clic sur une ligne ouvre le détail (licence, issues, URL de clone à copier). Les filtres sont gardés dans l'URL et la liste s'exporte en CSV. L'interface reprend celle de Logstream : mêmes variables de thème (clair, sombre ou système), même barre du haut, même rangée de filtres, même dialogue de paramètres, interface en anglais et en français, mise en page mobile sous 760 px. **Comment :** le serveur Go (bibliothèque standard uniquement) traduit les critères en requête `/search/repositories`. Il garde les recherches identiques 5 minutes en cache pour ménager le quota GitHub (10 recherches/min sans jeton, 30 avec `GITHUB_TOKEN`) et expose ce quota en bas de page. Le HTML, le CSS et le JS sont embarqués dans le binaire avec `go:embed`, sans étape de build. **Tests :** `go test ./...` couvre la construction des requêtes, la validation des paramètres, la conversion de la réponse GitHub, le cache et les codes d'erreur. L'interface a été vérifiée dans un navigateur sur de vrais résultats GitHub, en clair, en sombre, sur mobile et en français. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claude Bot added 4 commits 2026-10-01 12:51:12 +02:00
- /api/search traduit les filtres en requête GitHub (langage, étoiles,
  activité, création, licence, topic, forks, archivés, good first issues)
- cache mémoire des recherches identiques (CACHE_TTL) et suivi du quota
- /api/status, /healthz, authentification basique optionnelle
- Dockerfile et docker-compose.yml

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
claude Bot marked the pull request as ready for review 2026-10-01 14:45:16 +02:00
claude Bot merged commit 8f4048d046 into main 2026-10-01 14:45:20 +02:00
claude Bot deleted branch squelette 2026-10-01 14:45:20 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: vLab-BZH/searchgit#1