Récits d'un GeekTrotter Carnet de bord binaire

15mai/121

(English) Mobile Applications in HTML5/CSS3 with Sencha Touch

28févr./121

Sauvez vos captures d’écran dans un fichier avec Python

Python permet de créer rapidement des applications utiles.
Disons que vous êtes sous papi Windows XP et avez besoin de prendre de captures d'écran et de sauver directement dans un fichier.
Peut-être que souvent vous ouvrez Paint, collez, sauver (en sélectionnant le format dans lequel vous voulez sauver).
Bon c'est pas très lent non plus, mais pourrait-t-on améliorer rapidement ça ?

Le bout de code suivant récupère l'image dans votre presse-papier et vous demande directement où sauver le fichier.
En fonction du nom que vous donnez au fichier, la compression adéquate sera automatiquement appliquée (bmp/png/jpeg...) grâce à la bibliothèque Python Image Library (PIL).

En plus des bibliothèques intégrées à Python, nous n'avons besoin que de cette dernière, soit via PIL ou via PILLOW.

J'ai personellement choisi pillow :

$ pypm install pillow
The following packages will be installed into "%APPDATA%\Python" (2.7):
 pillow-1.7.6
Hit: [pypm-free.activestate.com] pillow 1.7.6
Installing pillow-1.7.6
Fixing script %APPDATA%\Python\Scripts\pilconvert.py
Fixing script %APPDATA%\Python\Scripts\pildriver.py
Fixing script %APPDATA%\Python\Scripts\pilfile.py
Fixing script %APPDATA%\Python\Scripts\pilprint.py

Vous êtes maintenant prêts à exécuter le script :

import os
from PIL import ImageGrab # from PIL or PILLOW
from Tkinter import Tk
from tkFileDialog import asksaveasfile
import tkMessageBox
import subprocess

if __name__=='__main__':
    
    # hide the Tk window
    root = Tk()
    root.withdraw()
    
    # grab the image from the clipboard
    myimage = ImageGrab.grabclipboard()
    
    # quit if it's not an image
    if myimage is None:
        msg = "The clipboard does not contain an image."
        tkMessageBox.showwarning("Error", msg)
        exit()
    
    # choose where to save the file
    fout = asksaveasfile(mode='w', defaultextension=".png")
    
    # quit if the user canceled saving the file
    if fout is None:
        exit()
    
    # finally, save the file (extension will dictate the compression)
    try:
        output = fout.name
        myimage.save(output)
    except Exception, e:
        msg = "Error: %s" % e
        tkMessageBox.showerror("Error", msg)
    else:
        filePath = os.path.abspath(output)
        #tkMessageBox.showinfo("Saved", filePath)
        subprocess.Popen(r'explorer /select,"'+filePath+'"')

Pour utiliser le script, appuyez sur "capture d'écran" et lancez le script.
Lancer le script n'est pas vraiment plus rapide que de lancer Paint, donc je conseille de créer un raccourcit sur le bureau et de lui associer une touche raccourcit.

Par exemple pour lancer le script en tapant "Ctrl + Alt + P":

Maintenant, prenez une capture d'écran et tapez "Ctrl + Alt + P".
Il vous suffit alors de choisir où sauver la capture d'écran.
C'est tout !

4févr./120

Lancer Django dans une VM et accédez-y depuis l’hôte

Si vous essayez de lancer Django en mode développement depuis une machine virtuelle et que vous tentez d'y accéder depuis la machine hôte, vous devez lancer le serveur en spécifiant l'adresse globale de votre machine virtuelle quand vous invoquez "runserver".

Par exemple, si votre VM a pour adresse 192.168.31.128 (en mode NAT) :
IP_address_of_the_VM

Vous devez lancer le serveur ainsi (vous pouvez changer le port bien sûr) :

python manage.py runserver 192.168.31.128:8000

Run_server_from_VM

Maintenant vous devez vous connecter à votre site en spécifiant l'addresse : http://192.168.31.128:8000.

A la fois depuis la machine virtuelle :
Access_server_in_VM

Ou la machine hôte :
Access_server_from_host

Le serveur sous Linux est bien plus rapide que son équivalent sous Windows 😉
1déc./110

Empaqueter un programme Python Qt (PySide) sous Windows (.exe)

C'est assez simple de créer des exécutables de programmes Python utilisant le framework de GUI Qt (PySide) sous Windows (et encore plus simple sous Linux avec cxfreeze).

Voyons deux façon de faire.

14oct./115

Installer le navigateur web Google Chrome dans Ubuntu 11.10 Oneiric Ocelot

Ubuntu 11.10 version finale est de sortie !

Mais certains d'entre vous ont peut-être des problèmes pour installer le navigateur web Google Chrome.
Il vous suffit de suivre les 3 étapes suivantes :

1. Téléchargez le paquet .deb sur http://www.google.com/chrome
2. Lancez un invité de commandes et tentez de l'installer : sudo dpkg -i google-chrome-stable_current_amd64.deb

Vous allez avoir les erreurs normales suivantes :
Selecting previously deselected package google-chrome-stable.
(Reading database ... 127754 files and directories currently installed.)
Unpacking google-chrome-stable (from .../google-chrome-stable_current_amd64.deb) ...
dpkg: dependency problems prevent configuration of google-chrome-stable:
google-chrome-stable depends on libnspr4-0d (>= 4.7.3-0ubuntu1~); however:
Package libnspr4-0d is not installed.
google-chrome-stable depends on libxss1; however:
Package libxss1 is not installed.
google-chrome-stable depends on libcurl3; however:
Package libcurl3 is not installed.
dpkg: error processing google-chrome-stable (--install):
dependency problems - leaving unconfigured
Processing triggers for gnome-menus ...
Processing triggers for desktop-file-utils ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for man-db ...
Errors were encountered while processing:
google-chrome-stable

3. Il ne vous reste plus qu'à entrer la commande suivante : sudo apt-get install -f

Et Google Chrome s'installera !

Page 1 sur 141234510Dernière page »