Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
utilisateurs:yannick_lm [Le 07/02/2008, 04:56] Yannick_LM |
utilisateurs:yannick_lm [Le 01/09/2022, 00:13] (Version actuelle) moths-art Passage de http à https sur les liens externes (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Yannick_LM ====== | ====== Yannick_LM ====== | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
===== Moi : ===== | ===== Moi : ===== | ||
Ligne 22: | Ligne 10: | ||
Je continue à apprendre sans arrêt, et je ne compte plus m'arrêter... | Je continue à apprendre sans arrêt, et je ne compte plus m'arrêter... | ||
- | Voir aussi ma page sur [[htpp://www.lauchpad.net/~yannick-lm|Launchpad]] | + | Voir aussi ma page sur [[https://launchpad.net/~yannick-lm|Launchpad]] |
=== Quelques programmes à découvrir : === | === Quelques programmes à découvrir : === | ||
- | * [[:screen:|Screen]], le multiplexeur de terminal. | + | * [[:screen|Screen]], le multiplexeur de terminal. |
* Zsh , ou comment donner un coup de vieux à Bash. | * Zsh , ou comment donner un coup de vieux à Bash. | ||
* WindowMaker, un gestionnaire de fenêtres qu'il est bien. | * WindowMaker, un gestionnaire de fenêtres qu'il est bien. | ||
- | * [[:irssi:|Irssi ]], le client IRC en mode texte. | + | * [[:irssi|Irssi ]], le client IRC en mode texte. |
- | * [[:mpd:|Mpd ]], un serveur son pour votre ordi. | + | * [[:mpd|Mpd ]], un serveur son pour votre ordi. |
=== Un petit bout de mon fichier ~/.aliases === | === Un petit bout de mon fichier ~/.aliases === | ||
Ligne 70: | Ligne 58: | ||
=== Contributions : === | === Contributions : === | ||
- | * Quelque chose de complètement inutile, donc indispensable : [[:horloge_son:| un Big Ben dans votre ordi]] | + | * Quelque chose de complètement inutile, donc indispensable : [[:horloge_son| un Big Ben dans votre ordi]] |
* Membre du groupe traducteur d'Ubuntu | * Membre du groupe traducteur d'Ubuntu | ||
* Traduction de la LHU. (venez nous rejoindre !) | * Traduction de la LHU. (venez nous rejoindre !) | ||
- | * Réécriture d'un script pour irssi (recherche google). Inutile, vu que la plupart des bots sur les chans ont une commande !google | + | * Réécriture d'un script pour irssi (recherche google). Inutile, vu que la plupart des bots sur les champs ont une commande !google |
- | * Customisation du /whois, basé sur ip-to-country.pl et worldtimeserver, pour savoir l'heure à laquelle vivent les gens avec qui vous parlez. | + | * Customisation du /whois, basé sur ip-to-country.pl et worldtimeserver, pour savoir (à peu près) où vivent les gens avec qui vous parlez et l'heure qu'il est chez eux. Inspiré aussi de country.pl par Timo Sirainen. Le script se trouve sur ce [[https://forum.ubuntu-fr.org/viewtopic.php?pid=1520946|fil]]. |
- | + | Merci aux gens du canal #irssi pour leur aide précieuse | |
- | <code perl> | + | |
- | #!/usr/bin/perl | + | |
- | # - whois_localtime.pl | + | |
- | + | ||
- | use warnings; | + | |
- | use strict; | + | |
- | use LWP::UserAgent; | + | |
- | use Irssi; | + | |
- | use Shell; | + | |
- | + | ||
- | my $host="ip-80-236-218-145.dsl.scarlet.be"; | + | |
- | our $HOME_DIR = $ENV{HOME}; | + | |
- | our $GEOFILE = "$HOME_DIR/.irssi/scripts/ip-to-country.csv"; | + | |
- | our $URL="http://www.worldtimeserver.com/"; | + | |
- | + | ||
- | + | ||
- | # The last version of the file can be obtained there: | + | |
- | # http://ip-to-country.webhosting.info/downloads/ip-to-country.csv.zip | + | |
- | + | ||
- | + | ||
- | sub ip_to_number { # IP => Number | + | |
- | my $ip = shift; | + | |
- | my (@octets, $ip_num); | + | |
- | $ip =~ s/\n//g; | + | |
- | @octets = split /\./, $ip; | + | |
- | $ip_num = 0; | + | |
- | foreach (@octets) { | + | |
- | $ip_num <<= 8; | + | |
- | $ip_num |= $_; | + | |
- | } | + | |
- | return $ip_num; | + | |
- | } | + | |
- | + | ||
- | + | ||
- | sub find_country { | + | |
- | my $ip=shift; | + | |
- | $ip = &ip_to_number($ip); | + | |
- | open GF, "<$GEOFILE" or die "Can't open $GEOFILE $!"; | + | |
- | while (<GF>){ | + | |
- | $_ =~ s/"//g; | + | |
- | $_ =~ s/\n//; | + | |
- | my ($start, $end, $CC, $CTRY, $COUNTRY); | + | |
- | ($start, $end, $CC, $CTRY, $COUNTRY) = split /,/, $_; | + | |
- | if (($ip >= $start) and ($ip <= $end)){ | + | |
- | Irssi::active_win->print("Country: $COUNTRY"); | + | |
- | # print "Country : $COUNTRY"; | + | |
- | return "$CC"; | + | |
- | last; | + | |
- | } | + | |
- | } | + | |
- | Irssi::active_win->print("Country not found"); | + | |
- | # print "not found"; | + | |
- | close GF; | + | |
- | return "pouet"; | + | |
- | } | + | |
- | + | ||
- | + | ||
- | + | ||
- | sub find_time { | + | |
- | my $CC=shift; | + | |
- | my $ua = new LWP::UserAgent; | + | |
- | $ua->agent("AgentName/0.1 " . $ua->agent); | + | |
- | my $req = new HTTP::Request GET => "$URL/current_time_in_$CC.aspx"; | + | |
- | my $res = $ua->request($req); | + | |
- | my $content = $res->content; | + | |
- | my @lines = split("\n", $content); | + | |
- | foreach(@lines) { | + | |
- | if ( $_ =~ /\s+(\d\d?:\d\d (A|P)M)/ ) { | + | |
- | return $1; | + | |
- | } | + | |
- | } | + | |
- | } | + | |
- | + | ||
- | + | ||
- | sub cmd_showtime { | + | |
- | my $whois=shift; | + | |
- | my $ping=ping("-c 1 $whois"); | + | |
- | $ping =~ m/((\d{1,3}\.){3}\d{1,3})/ ; | + | |
- | my $ip = $1; | + | |
- | my $CC = &find_country($ip); | + | |
- | my $time = &find_time($CC); | + | |
- | Irssi::active_win->print("Time: $time"); | + | |
- | # print("Time: $time"); | + | |
- | } | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | #print cmd_showtime $host; | + | |
- | Irssi::command_bind('showtime', 'cmd_showtime'); | + | |
- | </code> | + | |
- | |||