# Tools

# Composer

# Méthode 1 Installation

Command-line installation :
```
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
```

Binary PATH :
```
sudo mv composer.phar /usr/local/bin/composer
```

### Notable Installer Options

--install-dir

```
You can install composer to a specific directory by using the --install-dir option and providing a target directory. Example:
php composer-setup.php --install-dir=bin
```

--filename
```
You can specify the filename (default: composer.phar) using the --filename option. Example:

php composer-setup.php --filename=composer
```

--version
```
You can install composer to a specific release by using the --version option and providing a target release. Example:

php composer-setup.php --version=1.0.0-alpha8
```

# Méthode 2 Installation

Install Composer In Your Project
Run this in your command line:
```
curl -sS https://getcomposer.org/installer | php
```

Install Dependencies
```
php composer.phar install
```
Autoload Dependencies
```
require 'vendor/autoload.php';
```

# Install PHPX.X on Debian

```
apt install php8.1-{apcu,bcmath,bz2,cli,common,curl,fpm,gd,gmp,igbinary,imagick,imap,mbstring,mysql,odbc,opcache,pgsql,readline,redis,soap,sqlite3,sybase,xml,xmlrpc,zip,intl}
```

# Snapcraft

## Installation 
## Command Line

* Voir les installations en cours/terminées
```
snap changes
```

Result:
```
Identifiant  État   Descendance                               Prêt                                      Résumé
1            Done   aujourd'hui à 21h13, heure des Rocheuses  aujourd'hui à 21h13, heure des Rocheuses  Initialize system state
2            Error  aujourd'hui à 21h23, heure des Rocheuses  aujourd'hui à 21h57, heure des Rocheuses  Installer le paquet Snap "obs-studio" from "latest/stable" channel
3            Done   aujourd'hui à 21h23, heure des Rocheuses  aujourd'hui à 21h23, heure des Rocheuses  Initialiser l'appareil
4            Done   aujourd'hui à 21h23, heure des Rocheuses  aujourd'hui à 21h54, heure des Rocheuses  Installer le paquet Snap "discord" from "latest/stable" channel
5            Error  aujourd'hui à 21h23, heure des Rocheuses  aujourd'hui à 21h58, heure des Rocheuses  Installer le paquet Snap "thunderbird" from "latest/stable" channel
6            Doing  aujourd'hui à 22h03, heure des Rocheuses  -                                         Installer le paquet Snap "obs-studio" from "latest/stable" channel
```

* Afficher les l'avancées des actions d'une tâche/identifiant 
```
snap task $identifiant
snap task 3
```

Result : 
```
État  Descendance                               Prêt                                      Résumé
Done  aujourd'hui à 21h23, heure des Rocheuses  aujourd'hui à 21h23, heure des Rocheuses  Générer la clé du périphérique
Done  aujourd'hui à 21h23, heure des Rocheuses  aujourd'hui à 21h23, heure des Rocheuses  Demander le numéro de série de l'appareil
```

* Abord a task :
```
snap abord $identifiant
```

* refresh a task :
```
snap refresh $identifiant
```

# ldap

ldap-utils
https://wiki.debian.org/LDAP/LDAPUtils

# Outillage

## Réseau
- iperf
- nuttcp

# Monter un volume Google Drive avec Rclone

#### **Pré-requis**
- Curl
- Accès WAN
- Un compte Google
#### Installation de Rclone
```bash
curl -fsSL https://rclone.org/install.sh | bash
```

Tunnel SSH
```
ssh -L 53682:localhost:53682 root@192.168.1.200
```