---
title: PicoShare
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, file-sharing, simple, sharing, minimal]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=File+Sharing, https://github.com/mtlynch/picoshare]
---

# 📁 PicoShare

> Partage minimaliste de fichiers et d'images avec URLs permanentes, sans authentification côté visiteur.

## 📋 Informations Générales

| Attribut | Valeur |
|----------|--------|
| **Nom** | PicoShare |
| **Slug** | picoshare |
| **Description** | Service de partage de fichiers minimaliste avec URLs persistantes |
| **Site officiel** | https://picoshare.net |
| **Repository** | https://github.com/mtlynch/picoshare |
| **Stars** | 2 945 ⭐ |
| **Licence** | AGPL-3.0 |
| **Langage principal** | Go |
| **Catégorie** | File Sharing |
| **Tags** | [catalogue, file-sharing, simple, sharing, minimal] |

## 📝 Description
PicoShare est un service de partage de fichiers conçu dans un esprit KISS (Keep It Simple, Stupid) : pas de système d'utilisateurs complexe, pas de quotas élaborés, pas de tracking. L'administrateur uploade des fichiers (via interface web ou CLI `picoshare` standalone) et obtient une URL permanente à partager.

L'originalité de PicoShare réside dans son modèle d'URLs personnalisables (par défaut lisibles comme `nom-de-fichier-abc123`) et dans son absence volontaire de comptes utilisateurs. L'authentification est limitée à l'administrateur (single-user) qui gère tous les fichiers. Cela en fait un outil idéal pour remplacer un Pastebin ou Imgur personnel pour des usages légers.

L'application est écrite en Go (binaire statique performant) avec SQLite pour le stockage des métadonnées. La galerie publique permet de lister tous les fichiers partagés, avec prévisualisation pour les formats courants. Des entry types spéciaux permettent même d'uploader du texte comme un mini-pastebin.

## 🚀 Installation
### Via Docker (recommandé)
```yaml
# docker-compose.yml
services:
  picoshare:
    image: mtlynch/picoshare:latest
    container_name: picoshare
    restart: unless-stopped
    ports:
      - "1222:1222"
    environment:
      - PS_SHARED_SECRET=changeme
      - PS_DATABASE_PATH=/data/store.db
      - PS_LITE_MODE=false
    volumes:
      - picoshare_data:/data
volumes:
  picoshare_data:
```

### Installation manuelle
```bash
# Binaire Go unique
curl -L -o picoshare https://github.com/mtlynch/picoshare/releases/latest/download/picoshare-linux-amd64
chmod +x picoshare
./picoshare -port 1222
```

## ⚙️ Configuration
- `PS_SHARED_SECRET` : mot de passe administrateur
- `PS_DATABASE_PATH` : chemin SQLite
- `PS_LITE_MODE` : active un mode ultra-épuré sans galerie
- `PS_MAX_FILE_SIZE` : taille maximale par fichier

## 🔗 Alternatives
- **PsiTransfer** — orienté éphémère, pas permanent
- **copyparty** — plus polyvalent mais plus complexe
- **FilePizza** — WebRTC pair-à-pair

## 🔒 Sécurité
- Authentification admin par shared secret (cookies)
- HTTPS obligatoire via reverse proxy
- Pas d'authentification visiteur (URLs = secret)
- Pas d'exécution côté serveur des fichiers uploadés

## 📚 Ressources
- [Site officiel](https://picoshare.net)
- [Documentation](https://github.com/mtlynch/picoshare#readme)
- [CLI picoshare](https://github.com/mtlynch/picoshare#command-line-tool)

## 🔗 Pages Liées
- [[cat-file-sharing]] (n'existe pas encore, OK)
- [[app-copyparty]]
- [[app-traefik]]
- [[recettes-docker-compose]]
- [[securisation-home-lab]]
- [[cat-storage]] (n'existe pas, OK)
