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