Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
nombre réponses : 25

#0 Re : -1 »  [RESOLU] IP dans le systray ( Unity, Gnome-Panel, Mate-Panel...) » Le 20/05/2015, à 22:00

lynn
Réponses : 25

Quelques modifications dans le script:

⇒ Nom du pays inscrit devant l'ip
⇒ Ajout de la fonction "quitter"
⇒ Traduction en français des menus

#!/usr/bin/env python
## A installer
## sudo apt-get install curl python-appindicator python-gtk2 indicator-applet-complete
##
import os
import subprocess
import appindicator
import gtk
import sys

ICON = os.path.abspath("/home/$USER/bin/unity-ip-indicator-master/images/icon.png") # Remplacer "$USER" par votre nom d'utilisateur et adapter le chemin pour charger "icon.png".
PING_FREQUENCY = 15 # seconds

def get_ip():
        ip = subprocess.check_output("curl -s getip.fr/all | grep -E 'Country:|IP' | cut -d ':' -f2 | sort -r | awk -F: '{ printf \"%s \", $1}'| sed -e \"s/ / : /\"", shell=True)
    return ip.strip()


class IPIndicator:

    def __init__(self):
    self.ip = ""
    self.ind = appindicator.Indicator("ip-indicator", ICON, \
        appindicator.CATEGORY_APPLICATION_STATUS)
        self.ind.set_status(appindicator.STATUS_ACTIVE)
        self.update()
        self.ind.set_menu(self.setup_menu())
   
    def setup_menu(self):
        menu = gtk.Menu()
    refresh = gtk.MenuItem("Actualiser")
    refresh.connect("activate", self.on_refresh)
    refresh.show()
    menu.append(refresh)
   
    quit_item = gtk.MenuItem("Quitter")
    quit_item.connect("activate", self.quit)
    quit_item.show()
    menu.append(quit_item)
    return menu

       

    def main(self):
        gtk.main()

    def update(self):
        gtk.timeout_add(PING_FREQUENCY * 1000, self.update)
    ip = get_ip()
    if ip != self.ip:
        self.ip = ip
        self.ind.set_label(ip)

    def on_refresh(self, widget):
        self.update()

    def quit(self, widget):
        sys.exit(0)

if __name__ == "__main__":
    ip = IPIndicator()
    gtk.main()

#1 Re : -1 »  [RESOLU] IP dans le systray ( Unity, Gnome-Panel, Mate-Panel...) » Le 26/05/2015, à 04:55

lynn
Réponses : 25

Modification du script

⇒ Ajout de l'icône du drapeau du pays de l'I.P en cours d'utilisation. Merci à soshi pour son aide : https://forum.ubuntu-fr.org/viewtopic.php?id=1843931

Il est nécessaire de posséder dans un dossier les icônes des pays voulus, par exemple, en les récupérant ici

#!/usr/bin/env python
import os
import subprocess
import appindicator
import gtk
import sys
## A installer
## sudo apt-get install curl python-appindicator python-gtk2 indicator-applet-complete

PING_FREQUENCY = 15 # seconds

# fonction qui retrouve le nom du pays et l'IP
def get_ip():
    ip = subprocess.check_output("curl -s getip.fr/all | grep -E 'Country:|IP' | cut -d ':' -f2 | sort -r | awk -F: '{ printf \"%s \", $1}'| sed -e \"s/ / : /\"", shell=True)
    return ip.strip()

# fonction qui retourne le code du pays
def get_country_code():
    country = subprocess.check_output("curl -s getip.fr/countrycode", shell=True)
    return country.strip()

class IPIndicator:

    def __init__(self):
        self.ip = ""
        self.ind = appindicator.Indicator(" ", " ", appindicator.CATEGORY_APPLICATION_STATUS)
        self.ind.set_status(appindicator.STATUS_ACTIVE)
        self.update()
        self.ind.set_menu(self.setup_menu())
   
    def setup_menu(self):
        menu = gtk.Menu()
        refresh = gtk.MenuItem("Actualiser")
        refresh.connect("activate", self.on_refresh)
        refresh.show()
        menu.append(refresh)
       
        quit_item = gtk.MenuItem("Quitter")
        quit_item.connect("activate", self.quit)
        quit_item.show()
        menu.append(quit_item)
        return menu
       

    def main(self):
        gtk.main()

    def update(self):
        gtk.timeout_add(PING_FREQUENCY * 1000, self.update)
        ip = get_ip()
       
        if ip != self.ip: # lorsque l'ip change
            self.ip = ip
            self.ind.set_label(ip) # on met a jour le texte
            self.ind.set_icon("/home/%s/unity-ip-indicator-master/images/png/"%(os.environ['USER']) + get_country_code() + ".png") # on met a jour l'icone
# Vérifier le format des icônes dans votre dossier ( png, jpg etc ) et modifier en conséquence cette partie  ".png".

    def on_refresh(self, widget):
        self.update()

    def quit(self, widget):
        sys.exit(0)

if __name__ == "__main__":
    ip = IPIndicator()
    gtk.main()

#2 Re : -1 »  Des avis ?.... » Le 26/05/2015, à 21:02

lynn
Réponses : 2
Foromus a écrit :

Est-ce bien prudent d'installer la bêta ?...

Bonjour,

1. C'est un logiciel propriétaire.
2. A priori, c'est pour W$ ( truc.exe )

Donc la réponse à ta question est NON!

#3 -1 »  [RESOLU] Variable dans un script python. » Le 24/05/2015, à 15:23

lynn
Réponses : 17

Bonjour,

Suite à ce sujet, j'aimerai intégrer l'icône du drapeau de l'I.P concernée dans le script afin d'obtenir ce résultat:
mini_150524030042323968.png mais je n'ai aucune idée de comment rendre cette partie variable en fonction de l'I.P du pays concerné.

Si quelqu'un a des idées ou des pistes où chercher, ça m'intéresse.

Merci.

#4 Re : -1 »  [RESOLU] Variable dans un script python. » Le 24/05/2015, à 15:59

lynn
Réponses : 17
Braun a écrit :

Bonjour,
Bouffre l'I.P. d'un pays, même concerné ...
Tu pourrais tenter une reconnaissance de texte dans le nom de domaine mais l'I.P. j'ai un doute.

Ça vient peut-être de moi mais je n'ai absolument rien compris à ce que tu as écris... tongue

#5 Re : -1 »  [RESOLU] Variable dans un script python. » Le 25/05/2015, à 16:26

lynn
Réponses : 17

Notez que j'ai bien une idée pour y arriver mais je ne sais pas comment mettre ça dans le script.

La commande "curl getip.fr/countrycode" renvoie le code du pays de l'ip; Dans mon exemple: FR.
Ensuite, il faudrait aller vérifier dans le répertoire d'icônes si un fichier s'appelle FR.png et de définir celui comme variable à la place de "icon.png"

ICON = os.path.abspath("/home/$USER/bin/unity-ip-indicator-master/images/icon.png")

NB: toutes les icônes des drapeaux que je possède ont leurs noms sous forme des codes pays internationaux
exemple FR.png IT.png DE.png etc

#6 Re : -1 »  [RESOLU] Variable dans un script python. » Le 25/05/2015, à 15:53

lynn
Réponses : 17

bonjour soshy et merci pour cette piste mais elle ne correspond pas à ce que que souhaite faire. Mon but n'est pas de me géolocaliser ( cette partie étant déjà faite ) mais d'associer une icône à un résultat.

curl getip.fr/ip me renvoie mon ip; J'aimerais y associer l'icône du pays à côté de l'ip comme dans l'image dans mon premier post. Pour les drapeaux, pas besoin de les chercher dans une base de données puisque je les ai dans un répertoire, sur le disque dur de mon pc. Au cas ou le lien de mon premier post soit passé inaperçu, je me permet de poster ici le script en question:

#!/usr/bin/env python 
## A installer 
## sudo apt-get install curl python-appindicator python-gtk2 indicator-applet-complete
##
import os
import subprocess
import appindicator
import gtk
import sys

ICON = os.path.abspath("/home/$USER/bin/unity-ip-indicator-master/images/icon.png") # Remplacer "$USER" par votre nom d'utilisateur et adapter le chemin pour charger "icon.png".
PING_FREQUENCY = 15 # seconds

def get_ip():
        ip = subprocess.check_output("curl -s getip.fr/all | grep -E 'Country:|IP' | cut -d ':' -f2 | sort -r | awk -F: '{ printf \"%s \", $1}'| sed -e \"s/ / : /\"", shell=True)
    return ip.strip()


class IPIndicator:

    def __init__(self):
    self.ip = ""
    self.ind = appindicator.Indicator("ip-indicator", ICON, \
        appindicator.CATEGORY_APPLICATION_STATUS)
        self.ind.set_status(appindicator.STATUS_ACTIVE)
        self.update()
        self.ind.set_menu(self.setup_menu())
    
    def setup_menu(self):
        menu = gtk.Menu()
    refresh = gtk.MenuItem("Actualiser")
    refresh.connect("activate", self.on_refresh)
    refresh.show()
    menu.append(refresh)
    
    quit_item = gtk.MenuItem("Quitter")
    quit_item.connect("activate", self.quit)
    quit_item.show()
    menu.append(quit_item)
    return menu
       

    def main(self):
        gtk.main()

    def update(self):
        gtk.timeout_add(PING_FREQUENCY * 1000, self.update)
    ip = get_ip()
    if ip != self.ip:
        self.ip = ip
        self.ind.set_label(ip)

    def on_refresh(self, widget):
        self.update()

    def quit(self, widget):
        sys.exit(0)

if __name__ == "__main__":
    ip = IPIndicator()
    gtk.main()

#7 Re : -1 »  [RESOLU] Variable dans un script python. » Le 25/05/2015, à 17:47

lynn
Réponses : 17

Bonjour pingouinux,

Ça me renvoie ça:

Traceback (most recent call last):
  File "./ip-dev.py", line 8, in <module>
    ICON = os.path.abspath("/home/%s/bin/unity-ip-indicator-master/images/%s.png"%(os.environ['USER'],ip))
NameError: name 'ip' is not defined

#8 Re : -1 »  [RESOLU] Variable dans un script python. » Le 25/05/2015, à 16:28

lynn
Réponses : 17
soshy a écrit :

Je ne suis du coup pas bien sûr de comprendre ton problème.

Pour moi, la logique serait :
1 - récupérer l'ip dont il faut afficher le drapeau.
2 - géolocaliser pour récupérer le nom du pays
3 - réaliser une liste de correspondance { "nom pays" => chemin_vers_l_image } (soit un "dictionnaire" , ou un bête fichier contenant les correspondances, voir autre chose...)
4 - retrouver l'image en fonction du pays retrouvé par la géolocalisation de l'IP.

Oui un truc dans le genre. smile Par contre, je ne sais pas comment intégrer cette idée dans le script... Voila mon problème.

#9 Re : -1 »  [RESOLU] Variable dans un script python. » Le 25/05/2015, à 18:11

lynn
Réponses : 17
pingouinux a écrit :

Il faut mettre à la place de ip le nom de la variable qui contient les deux lettres du pays, par exemple 'FR'.

Il faut que je crée une autre variable pour ça ? Je ne comprends pas...

#10 Re : -1 »  [RESOLU] Variable dans un script python. » Le 25/05/2015, à 18:33

lynn
Réponses : 17
pingouinux a écrit :

Si la variable contenant ce résultat n'existe pas, il faut la créer.

Oui mais comment ? De quelle façon je l'intègre dans le script ?

Je crée une nouvelle variable dans ce style ?

CCODE = ("curl getip.fr/countrycode")

#11 Re : -1 »  [RESOLU] Variable dans un script python. » Le 25/05/2015, à 19:07

lynn
Réponses : 17
pingouinux a écrit :

Ce n'est pas toi qui a écrit le script ? J'ai l'impression qu'il faudrait regarder du côté de get_ip.

Non, je n'ai pas écris le script. Je ne fait que reprendre la base que j'essai d'adapter, tant bien que mal... Enfin plutôt mal que bien. tongue

Je vais regarder pour get_ip.

#12 Re : -1 »  [RESOLU] Variable dans un script python. » Le 25/05/2015, à 20:50

lynn
Réponses : 17

Un grand merci à toi soshi. Ça fonctionne parfaitement; C'est exactement ce que je voulais obtenir. cool

Merci à toi également pingouinux d'avoir pris le temps de me répondre. smile

#14 Re : -1 »  Nouveautés dans Wily » Le 16/05/2015, à 17:28

lynn
Réponses : 93

Je rejoins dragao13 dans ses propos. Debian est très performant mais pas aussi user friendly quant à l'installation de la distribution elle même. L'interface est plus austère et peut en rebuter plus d'un.
Sans parler de l'aspect visuel ou de la partie technique de l'un ou l'autre de ces deux systèmes d'exploitations une fois installés, je pense que le côté "joli" et relativement simple de la partie installation que propose Ubuntu par rapport à sa grande sœur aurait une incidence certaine si un utilisateur lambda était amené à faire un choix entre ces deux distributions...

Après, tout dépend de l'orientation que souhaite les dev de Debian, mais il est clair que dans le domaine du desktop, si l'objectif visé est que la distribution soit connue et utilisée, il faut attirer le chaland... En somme, faire du beau, du simple et du pratique. smile

#15 Re : -1 »  StreamStudio, application streaming youtube/dailymotion/torrents... » Le 23/05/2015, à 14:03

lynn
Réponses : 1554

La recherche youtube fonctionne à nouveau.

Merci smo et happy new home. smile

#16 Re : -1 »  [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM » Le 19/05/2015, à 19:29

lynn
Réponses : 91

Bonjour,

Babdu89 a écrit :

.../...
Ce n'est pas le cas avec ce qui est expliqué dans la doc, il faut stocker les iso à la racine de la partition système de L'Os qui lance le script.
.../...

doc ubuntu a écrit :

.../...
les isos sont stockés à la racine de cette partition plutôt que dans un sous-dossier car plus facile à trouver pour grub.
.../...

C'était peut-être vrai il y'a un moment; Ça fait bien longtemps que j'amorce des fichiers iso situés sur une autre partition en me servant du fichier 40_custom.

Exemple clonezilla:

menuentry "Clonezilla live" {
search --no-floppy --fs-uuid --set fa4f07bb-718d-47be-bebc-c602a6575d7d
set isofile="/clonezilla-live-2.4.1-19-amd64.iso"
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live username=user config ocs_numlk=on ocs_live_batch=no vga=791 components noswap edd=on nodmraid noeject locales=fr_FR.UTF-8 keyboard-layouts=fr  ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile
initrd (loop)/live/initrd.img
}

N.B: Depuis les versions 2.4.* de clonezilla, je rajoute systématiquement "username=user" dans les options sinon ça ne démarre pas. Ça plante juste avant que n'arrive l'interface semi-graphique...

@Laerte
Bon courage pour la suite de ton logiciel. smile

#17 Re : -1 »  [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM » Le 20/05/2015, à 16:39

lynn
Réponses : 91
Babdu89 a écrit :

Dans la racine de l'autre partition, ou dans un répertoire, dossier et sous dossier, situés dans cette partition ??.  Çà complique le chemin de l'iso , çà marche?.

J'ai testé çà aussi depuis le menu grub d'un Os. L'iso est stockée sur un hdd usb dans une partition , mais il me semble que c'est dans la racine de la partition, pas dans un dossier.  Ce qui facilite le chemin d'accès.
Il faudrait que je teste pour voir.

Voila ce qui est ajouté dans le fichier grub.cfg de l'Os en question...

menuentry "Iso Live ubuntu-14.04.2-desktop-amd64.iso test encours" {
	insmod loopback
	insmod iso9660
	set isofile="/ubuntu-14.04.2-desktop-amd64.iso"
	#recherche de la partition dans laquelle se trouve le fichier ISO et montage de celle ci dans "/"
	#search -sf $isofile
	#Montage du fichier ISO dans (loop)	search --no-floppy --fs-uuid --set=root bbdbd261-4eb0-423d-890d-1c24dc1d9343
	loopback loop (hd4,9)/$isofile
	echo	'Chargement du noyau Linux ...'
	linux (loop)/casper/vmlinuz.efi locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash --
	echo	'Chargement du disque mémoire initial ...'
	initrd (loop)/casper/initrd.lz
}

@+.   Babdu89  .

Pour tester, j'ai modifié le chemin d'accès avec dossiers et sous dossier et ça fonctionne bien.
Pour résumer, mon iso de clonezilla est dans un sous dossier, le tout placé sur une partition qui est sur un autre disque dur que le disque où est installé Ubuntu. "mnt" est le point de montage de ma partition nommée "ISO_BOOT".

/mnt/ISO_BOOT/dossier1/dossier2/clonezilla-live-2.4.1-19-amd64.iso

Un petit coup de sudo update-grub te ça fonctionne. smile

menuentry "Clonezilla live" {
search --no-floppy --fs-uuid --set fa4f07bb-718d-47be-bebc-c602a6575d7d
set isofile="/dossier1/dossier2/clonezilla-live-2.4.1-19-amd64.iso"
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live username=user config ocs_numlk=on ocs_live_batch=no vga=791 components noswap edd=on nodmraid noeject locales=fr_FR.UTF-8 keyboard-layouts=fr  ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile
initrd (loop)/live/initrd.img
}

Par contre, dans ton grub.cfg, je ne vois pas l'utilité pour la ligne "loopback loop" de préciser "(hdX,X)" à la place de "$isofile" étant donné que cette variable a déjà été déclarée avant et que la recherche du support de l'iso se fait avec l'uuid de la partition...? Ça fait double emploi et peut-être un risque d'erreur, non ?

Pareil pour la ligne "set root='(hd4,msdos9)'". Je n'ai pas cette ligne et ça fonctionne très bien...?! Ça fonctionne autant avec clonezilla qu'avec un autre fichier iso; Ubuntu par exemple.  smile

#18 Re : -1 »  Ubuntu-fr: signaler des erreurs et aider à améliorer le site » Le 12/05/2015, à 18:58

lynn
Réponses : 1556

Chez moi, le https pour notre forum fonctionne avec firefox v 37.0.2, même après un redémarrage... Par contre, y'a pas moyen de faire accepter le certificat avec chromium-browser...?!

#19 Re : -1 »  Ubuntu-fr: signaler des erreurs et aider à améliorer le site » Le 16/05/2015, à 10:40

lynn
Réponses : 1556

Le https est dispo avec un certificat tout neuf de chez Gandi.

Merci nos admins. smile

#20 Re : -1 »  Ubuntu-fr: signaler des erreurs et aider à améliorer le site » Le 17/05/2015, à 07:54

lynn
Réponses : 1556

Il n'y a rien d'étonnant entre ces deux adresses

host cdimages.ubuntu.com
cdimages.ubuntu.com is an alias for cdimage.ubuntu.com.
cdimage.ubuntu.com has address 91.189.92.174
cdimage.ubuntu.com has IPv6 address 2001:67c:1360:8c01::1f

L'adresse cdimages est un alias de l'autre. Normal qu'il pointe au même endroit. Les sommes de contrôles seront donc forcement les mêmes.

#21 Re : -1 »  Modification des applications au démarrage sans interface graphique » Le 14/05/2015, à 16:17

lynn
Réponses : 2

Bonjour,

Tu devrais trouver ton fichier ici:

/home/$USER/.config/autostart/

#22 Re : -1 »  retrouver l'aplet indicator-workspaces sous ubuntu 12.04 » Le 14/05/2015, à 16:32

lynn
Réponses : 6

Bonjour,

Va voir dans les options de compiz... Tout d'abord, si il n'est pas présent, installer compizconfig-settings-manager puis lancer l'appli : ccsm

Allez dans OptionsOptions générales →  Taille du bureau et choisir le nombre de bureaux qui t'intéresse. smile

#23 Re : -1 »  retrouver l'aplet indicator-workspaces sous ubuntu 12.04 » Le 14/05/2015, à 17:29

lynn
Réponses : 6

Si ça fonctionne, c'est le principal. smile

N'oublie pas de passer ton sujet en [RESOLU].

#24 Re : -1 »  Notification de mail (imap) avec client fermé [Résolu] » Le 11/05/2015, à 19:32

lynn
Réponses : 3

Bonjour,

Voir ici.

Ca marche très bien sous des environnements classiques ( xfce mate etc ) mais par contre, avec le systray d'unity, ça risque d'être chaud. tongue