Compare commits
2 Commits
78303bc77e
...
8df4d6448d
| Author | SHA1 | Date | |
|---|---|---|---|
| 8df4d6448d | |||
| 2aff93fb92 |
52
.gitea/workflows/deploy.yml
Normal file
52
.gitea/workflows/deploy.yml
Normal file
@@ -0,0 +1,52 @@
|
||||
name: Deploy MinIO Explorer
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
create:
|
||||
tags:
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install MinIO Client
|
||||
run: |
|
||||
wget https://dl.min.io/client/mc/release/linux-amd64/mc
|
||||
chmod +x mc
|
||||
sudo mv mc /usr/local/bin/
|
||||
|
||||
- name: Prepare files for production
|
||||
run: |
|
||||
# Créer un dossier temporaire pour les fichiers de production
|
||||
mkdir -p dist
|
||||
|
||||
# Copier style.css et script.js sans modification
|
||||
cp style.css dist/
|
||||
cp script.js dist/
|
||||
|
||||
# Traiter index.html : supprimer la section de développement
|
||||
# Utiliser awk pour supprimer les lignes 15-25 (section dev-form)
|
||||
awk 'NR < 15 || NR > 25' index.html > dist/index.html
|
||||
|
||||
# Vérifier que les fichiers sont créés
|
||||
ls -la dist/
|
||||
|
||||
- name: Configure MinIO Client
|
||||
run: |
|
||||
mc alias set minio ${{ secrets.MINIO_ENDPOINT }} ${{ secrets.MINIO_ACCESS_KEY }} ${{ secrets.MINIO_SECRET_KEY }}
|
||||
|
||||
- name: Deploy to MinIO
|
||||
run: |
|
||||
# Déployer les fichiers sur le bucket
|
||||
mc cp dist/index.html minio/${{ secrets.MINIO_BUCKET }}/
|
||||
mc cp dist/style.css minio/${{ secrets.MINIO_BUCKET }}/
|
||||
mc cp dist/script.js minio/${{ secrets.MINIO_BUCKET }}/
|
||||
|
||||
# Vérifier le déploiement
|
||||
mc ls minio/${{ secrets.MINIO_BUCKET }}/
|
||||
|
||||
68
README.md
Normal file
68
README.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# MinIO Explorer
|
||||
|
||||
Application web simple pour explorer les fichiers d'un bucket MinIO, style "Index of" Apache.
|
||||
|
||||
## Fonctionnalités
|
||||
|
||||
- 🌐 **Navigation en lecture seule** dans l'arborescence MinIO
|
||||
- 🔍 **Prévisualisation** des fichiers (images, texte, markdown, PDF, vidéo, audio)
|
||||
- 📋 **Copie des liens directs** vers les ressources
|
||||
- 📱 **Interface responsive** (desktop et mobile)
|
||||
- ⚡ **Auto-configuration** depuis l'URL de déploiement
|
||||
- 🗂️ **Auto-ouverture** des fichiers index.rst
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
/
|
||||
├── index.html # Interface principale
|
||||
├── style.css # Styles responsive type "Index of"
|
||||
├── script.js # Logique de navigation et parsing XML
|
||||
├── CLAUDE.md # preuve de la flemme
|
||||
└── README.md # Ce fichier
|
||||
```
|
||||
|
||||
## Utilisation
|
||||
|
||||
### Déploiement
|
||||
|
||||
1. Placez les fichiers à la racine du bucket MinIO
|
||||
2. Configurez le bucket en lecture publique
|
||||
3. Activez CORS sur MinIO
|
||||
4. Accédez via `https://votre-minio.com/votre-bucket/index.html`
|
||||
|
||||
### Mode développement
|
||||
|
||||
L'interface inclut un formulaire pour tester différentes URLs MinIO directement depuis le navigateur.
|
||||
|
||||
## Prérequis MinIO
|
||||
|
||||
- Bucket accessible publiquement en lecture
|
||||
- Configuration CORS appropriée :
|
||||
```
|
||||
Access-Control-Allow-Origin: *
|
||||
Access-Control-Allow-Methods: GET
|
||||
Access-Control-Allow-Headers: *
|
||||
```
|
||||
|
||||
## Types de fichiers supportés
|
||||
|
||||
- **Images** : JPG, PNG, GIF, SVG, WebP...
|
||||
- **Texte/Code** : TXT, JSON, XML, HTML, JS, Python...
|
||||
- **Documentation** : Markdown (.md), reStructuredText (.rst)
|
||||
- **Médias** : PDF, MP4, MP3...
|
||||
|
||||
## Navigation
|
||||
|
||||
- Clic sur dossier → navigation
|
||||
- Clic sur fichier → prévisualisation
|
||||
- Bouton "Copier lien" → lien direct dans le presse-papier
|
||||
- Lien ".." → remontée dans l'arborescence
|
||||
|
||||
## Notes techniques
|
||||
|
||||
- **Frontend only** : HTML/CSS/JavaScript vanilla
|
||||
- **API MinIO** : Appels directs à l'API REST ListBucket
|
||||
- **Pas de serveur** : hébergé statiquement dans le bucket
|
||||
- **Historique navigateur** : navigation avec URL fragments (#/path)
|
||||
|
||||
Reference in New Issue
Block a user