# Yapyt - Faciliter l'installation de paquets

**URL:** <https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761 "2016-02-21T03:17:32Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/1 "2016-02-21T03:17:32Z")

</div>

Bonjour!  
J’avais entamé il y a un moment un script bash pour utiliser apt un peu à la façon de yaourt sous archlinux. Le machin n’était pas au top et j’avais un peu laché l’affaire.  
Voici donc le retour de ce script en version python, sous le nom de yapyt.

Comme d’habitude, vos idées/critiques/corrections seront les bienvenues, surtout que c’est jeune comme script.

Vous pourrez le trouver ici : [yapyt.py](https://bitbucket.org/Thuban/coolrepo/downloads/yapyt.py)[size=150] \<== LIEN[/size]  
Ou le dernier commit [ici](https://bitbucket.org/Thuban/coolrepo/src/246c91ba24ce/yapyt/yapyt.py) en cas de problème avec le lien au dessus.

Le résultat ressemble à ça :  
[![](http://pix.toile-libre.org/upload/img/1314864923.png)](http://pix.toile-libre.org/?img=1314864923.png)

[![](http://pix.toile-libre.org/upload/img/1314864926.png)](http://pix.toile-libre.org/?img=1314864926.png)

[![](http://pix.toile-libre.org/upload/img/1314864929.png)](http://pix.toile-libre.org/?img=1314864929.png)

Edit de MisterFreez : Pour une fois que quelqu’un utilise une forge autant en profiter : [bitbucket.org/Thuban/coolrepo/overview](https://bitbucket.org/Thuban/coolrepo/overview)

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/2 "2016-02-21T03:17:47Z")

</div>

Si plusieurs versions sont disponibles, on peut désormais choisir celle qui nous intéresse : (besoin de testeurs!)

Ne rien spécifier pour avoir directement la version candidate par défaut.

[![](http://pix.toile-libre.org/upload/img/1314954551.png)](http://pix.toile-libre.org/?img=1314954551.png)

---

<div class="post-metadata">

**Author:** ![ggoodluck47](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@ggoodluck47](https://www.debian-fr.org/u/ggoodluck47)\
**Post date:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/3 "2016-02-21T03:17:50Z")

</div>

Salut,

Pourquoi le fournis tu sous la forme \*.html ?

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/4 "2016-02-21T03:17:51Z")

</div>

Hein? Mais pas du tout, le lien au dessus dirige vers le programme python directement. Ou alors je ne comprends pas bien ta question.

EDIT : Oh Purée, j’ai compris ce que tu voulais dire. Le Boulet!!! C’est corrigé, merci!

---

<div class="post-metadata">

**Author:** ![ggoodluck47](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@ggoodluck47](https://www.debian-fr.org/u/ggoodluck47)\
**Post date:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/5 "2016-02-21T03:17:51Z")

</div>

Re,

Mes sources.list se trouvent en /etc/apt/sources.list.d/\*.list ? 😠

---

<div class="post-metadata">

**Author:** ![ggoodluck47](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@ggoodluck47](https://www.debian-fr.org/u/ggoodluck47)\
**Post date:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/6 "2016-02-21T03:17:51Z")

</div>

> [@thuban](#):
>
> Hein? Mais pas du tout, le lien au dessus dirige vers le programme python directement. Ou alors je ne comprends pas bien ta question.

Ce que j’ai téléchargé se nomme bien yapyt.py mais c’est du html.  
Je l’ai donc affiché avec iceweasel puis copié/collé de la partie script ! C’est pas cela qui va m’arrêter 🙂

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/7 "2016-02-21T03:17:51Z")

</div>

Oh Purée, le gros boulet que je suis! C’est corrigé normalement. Merci à toi!

> [@](#):
>
> Mes sources.list se trouvent en /etc/apt/sources.list.d/\*.list

Pas de souci, sauf si tu choisis l’option -e qui sert uniquement à éditer un sources.list, mais c’est vraiment pas utile comme option.

---

<div class="post-metadata">

**Author:** ![ggoodluck47](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@ggoodluck47](https://www.debian-fr.org/u/ggoodluck47)\
**Post date:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/8 "2016-02-21T03:17:52Z")

</div>

[quote]Pas de souci, sauf si tu choisis l’option -e qui sert uniquement à éditer un sources.list, mais c’est vraiment pas utile comme option.  
[/quote]

Mais j’ai eu un coup au coeur en voyant apparaitre un message en bleu inhabituel sous nano 😃

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/9 "2016-02-21T03:17:53Z")

</div>

J’ai vu nous avions des avis divergeant sur la manière d’avoir un bon gestionnaire de paquet.

Je regarderais ton script mais j’aurais probablement peu de remarques, faudras quand j’aurais un peu de temps que je travail sur mon apt-search qui est un peu lent.

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/10 "2016-02-21T03:17:53Z")

</div>

[quote=“MisterFreez”]J’ai vu nous avions des avis divergeant sur la manière d’avoir un bon gestionnaire de paquet.

Je regarderais ton script mais j’aurais probablement peu de remarques, faudras quand j’aurais un peu de temps que je travail sur mon apt-search qui est un peu lent.[/quote]

Ce n’est pas un nouveau gestionnaire de paquet, c’est juste pour se simplifier la vie avec apt-get, apt-cache, et rendre les recherches plus claires.

D’ailleurs j’ai voulu retrouver ton apt-search dont on avait parlé autrefois, mais il ne semble plus sur ta forge indefero?

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/11 "2016-02-21T03:17:54Z")

</div>

[quote=“thuban”][quote=“MisterFreez”]J’ai vu nous avions des avis divergeant sur la manière d’avoir un bon gestionnaire de paquet.

Je regarderais ton script mais j’aurais probablement peu de remarques, faudras quand j’aurais un peu de temps que je travail sur mon apt-search qui est un peu lent.[/quote]

Ce n’est pas un nouveau gestionnaire de paquet, c’est juste pour se simplifier la vie avec apt-get, apt-cache, et rendre les recherches plus claires.

D’ailleurs j’ai voulu retrouver ton apt-search dont on avait parlé autrefois, mais il ne semble plus sur ta forge indefero?[/quote]

Attends-toi au pire, il dit ça pour que tu ne te sauves pas en claquant la porte 😆😆😆 [quote=“MisterFreez”]Je regarderais ton script mais j’aurais probablement peu de remarques, [/quote]

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/12 "2016-02-21T03:17:55Z")

</div>

[quote=«&nbsp;thuban&nbsp;»][quote=«&nbsp;MisterFreez&nbsp;»]J’ai vu nous avions des avis divergeant sur la manière d’avoir un bon gestionnaire de paquet.

Je regarderais ton script mais j’aurais probablement peu de remarques, faudras quand j’aurais un peu de temps que je travail sur mon apt-search qui est un peu lent.[/quote]

Ce n’est pas un nouveau gestionnaire de paquet, c’est juste pour se simplifier la vie avec apt-get, apt-cache, et rendre les recherches plus claires.

D’ailleurs j’ai voulu retrouver ton apt-search dont on avait parlé autrefois, mais il ne semble plus sur ta forge indefero?[/quote]  
Tu as raison il n’y ai pas, je le mettrais dans la soirée (pas trop eu accès à git ces derniers mois).

> [@ricardo](#):
>
> Attends-toi au pire, il dit ça pour que tu ne te sauves pas en claquant la porte 😆 😆 😆

Tu as vraiment était traumatisé ? 🙂

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/13 "2016-02-21T03:17:55Z")

</div>

Je te préviens d’avance, je ne suis pas particulièrement bon en python. Et le code est tout frais. Je le laisse reposer un peu histoire que la rentrée se passe et je m’y remet ensuite pour le corriger.  
Mais tes astuces de programmeur confirmé sont toujours les bienvenues 🙂

On dirait bien que oui, Ricardo ne s’en est pas remis!

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/14 "2016-02-21T03:17:56Z")

</div>

> [@thuban](#):
>
> Mais tes astuces de programmeur confirmé sont toujours les bienvenues 🙂

%s/confirmé/junior/

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 3:17 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/15 "2016-02-21T03:17:57Z")

</div>

Non, je dis ça pour rire, J’y reviendrai d’ailleurs quand l’occasion sera là.  
 ![:023](https://www.debian-fr.org/uploads/default/original/1X/3c587556c0cc11389317c03a60788d77ceebd307.gif "OK")  
J’ai bien en fait car je suis aussi un perfectionniste dans d’autres domaines.

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 3:18 UTC](https://www.debian-fr.org/t/yapyt-faciliter-linstallation-de-paquets/33761/16 "2016-02-21T03:18:10Z")

</div>

Voici apt-search :

[code]#!/usr/bin/zsh

autoload -U colors  
colors

function install-ask () {  
echo "Voulez vous installer $1 ? (y/n)"  
read rep  
if [[“$rep” = ‘y’]]; then  
sudo apt-get install "$1"  
fi  
}

pkgs=() # list of unstalled packages  
integer match=0 # 1 if a package not installed with same name

# We parse the list of packages find

readonly old\_IFS=$IFS  
IFS=’  
'  
for line in ${(oSI:N:)$(apt-cache search “$@”)#lib} ; do  
pkg="${line%% _}"  
if [[-n ${(M)$(dpkg -s “${pkg}” 2\> /dev/null)#Status: install ok installed}]]; then  
col='red’  
else  
# The package is not installed  
pkgs=($pkgs $pkg)  
[[${pkg} = "$_"]] && match=1  
col='green’  
fi  
echo "$fg[$col]${line/ - /$reset\_color $fg[blue]}$reset\_color"  
done  
IFS=$old\_IFS

# Propositions

if [[“${#pkgs}” -eq 1]]; then  
install-ask "${pkgs[1]}"  
elif [[$match -eq 1]]; then  
install-ask "$\*"  
fi[/code]
