# trucs_et_astuces

Quelques astuces, orientées pour perso mais qui peuvent être utile ailleurs.

# Python

## Installer un logiciel Python

S'il dispose d'un paquet pip (gestionnaire de paquets pour python), c'est facile :

```
pip install --user <le paquet>
```

Sinon, s'il dispose d'un script `setup.py`, c'est sûrement du Setuptools, qui dispose aussi d'une option `user` :

```
./setup.py install --user
```

Ces deux commandes vont télécharger et installer toutes les dépendances nécessaires dans `~/.local`. Il faut juste que vous ajoutiez `~/.local/bin/` à votre variable `$PATH`.


*Pour aller plus loin* : renseignez vous sur les venv (pour installer des dépendances dans un même workspace) et conda pour avoir un gestionnaire de workspace et limiter les dépendances entre les modules).

### Erreur 404

Si vous avez une erreur 404, il se peut que ça soit parce que le dépôt pypi est resté configuré en http alors qu'il est maintenant passé en https uniquement. Pour fixer ça, dans le fichier `~/.pip/pip.conf` ajouter :

```
index-url = https://pypi.python.org/simple/
```


Lors de votre stage, cela peut être du à la configuration d’un proxy.

Cf le man de pip, pour ajouter un proxy il faut

\#todo


# Ruby

## Installer une gem Ruby

On va utiliser [RVM](https://rvm.io "https://rvm.io"). Il nous permet de gérer différentes version de Ruby qui évolue très vite et dont le paquet dans Debian est souvent un peu vieux.

Pour l'installer et tout de suite installer Ruby aussi :

```
\curl -sSL https://get.rvm.io | bash -s stable --ruby''
```

Ensuite on utilise [RubyGem](https://rubygems.org/ "https://rubygems.org/") qui est le gestionnaire de paquets (ou gems) pour Ruby :

```
gem install <la gem>
```

Beaucoup de projets peuvent s'utiliser avec Bundle, qui installe toutes les dépendances à la bonne version. Dans le dossier du projet (après avoir installé Bundle avec RubyGem) :

```
bundle install
```

# Perl

## Installer un module Perl

Jusqu'à peu CPAN (le gestionnaire de paquet de Perl) crashait lancé par un utilisateur (pas assez de mémoire), mais ça a du changer avec l'utilisation des cgroups. Il faudrait retenter et modifier cette page en conséquence.

# Vidéo

Attention, beaucoup de tutos trouvable sur le net concernent ffmpeg. Il faut savoir que sur Debian (et donc perso) il n'y a pas ffmpeg mais avconv, un fork (la commande ffmpeg est juste là pour la compatibilité des scripts). Le comportement n'est souvent pas le même.

De plus ffmpeg est un peu complexe à utiliser. Mencoder est une alternative un peu plus simple (et en plus semble consommer moins de mémoire que ffmpeg).

## Concaténer plusieurs vidéos

Si toutes les vidéos sont dans le même format (peu importe le conteneur) :

```
mencoder -oac mp3lame -ovc copy -o merged.avi vidéo1 vidéo2 …
```