* Licence : [Zlib/libpng, GPLv2, et autres](https://github.com/PrivateBin/PrivateBin/blob/master/LICENSE.md)
* Langage : PHP
* Ansible : à venir
[PrivateBin](https://github.com/PrivateBin/PrivateBin) est une application web pour le partage sécurisé de secrets (mots de passe, etc.) ou de courts textes (code source, configuration, etc.).
## Installation
Nous installons la version **1.5.1** sous **Debian 11 (Bullseye)** en mode manuel.
PrivateBin s'appuie sur [PHP](HowtoPHP) et un serveur web (Apache, Nginx, etc.). Il est aussi possible d'utiliser un SGBD ([MariaDB/MySQL](HowtoMySQL), PostgreSQL, SQLite) pour les données bien que la configuration par défaut n'utilise que de simples fichiers (*flat files*). Dans la présente documentation, nous montrons comment installer avec Apache et sans dépendre d'un SGBD pour stocker les données.
On installe les dépendances de la manière suivante :
> **Note** : La partie SSL/TLS n'est pas développée, mais elle est essentielle au bon fonctionnement de PrivateBin. Vous pouvez par exemple générer et configurer un certificat [Let's Encrypt](HowtoLetsEncrypt) avec certbot. N'oubliez pas d'adapter les directives `SSLCertificateFile` et `SSLCertificateKeyFile` dans le vhost.
Il est aussi fortement recommandé de renforcer la sécurité de PrivateBin en déplaçant certains répertoires de l'application hors du `DocumentRoot` du vhost :
Suite à la mise à jour du code via git et au déplacement des répertoires hors du `DocumentRoot` du vhost, vous devez remodifier le fichier `index.php` afin d'indiquer à PrivateBin le nouveau chemin relatif à utiliser ( `define('PATH', '../secret/');` ). Finalement, lorsque le bon fonctionnement de l'application est confirmé, vous pouvez supprimer le répertoire `/home/privatebin/secret.back`.
> **Note** : Ces commandes ne sont parfois pas suffisantes pour compléter une mise à jour. Vous devez systématiquement lire les [notes de versions](https://github.com/PrivateBin/PrivateBin/releases).
## Configuration
La configuration initiale de l'application peut être supplantée en faisant une copie du fichier `cfg/conf.sample.php` vers `cfg/conf.php`.
Les paramètres disponibles sont documentés dans [le wiki du projet](https://github.com/PrivateBin/PrivateBin/wiki/Configuration).
## Utilisation
Un navigateur Web moderne suffit pour utiliser PrivateBin.
Le principe est de saisir ou de copier-coller le texte qu'on souhaite partager secrètement dans la boîte `Éditer` puis de cliquer sur le bouton `Envoyer`. Une URL est alors générée pour accéder au document. C'est cette URL que vous devez partager avec votre destinataire, par exemple via courriel ou via Signal ou autre moyen de communication. Il est important de ne pas partager cette URL publiquement dans les médias sociaux ou les forums : elle ne doit être disponible que par vous et votre destinataire.
Pour augmenter la sécurité de l'échange, il est possible d'ajouter un mot de passe et/ou de programmer la suppression automatique du document partagé immédiatement après sa première lecture par le destinataire.