filyb.info

vendredi 19 janvier 2007

En vrac

  • En ce moment, j'ai des spams par trackback assez spéciaux... Un exemple :

    1. Le jeudi 18 janvier 2007 à 15:50, de wxptmwvq

    wxptmwvq

    wxptmwvq

    C'est toujours un texte formé par des lettres aléatoires, qui renvoie vers une recherche sur Google avec là aussi des lettres aléatoires, recherche qui en général n'aboutis pas. Si ce n'est simplement embêter le monde, à quoi servent ces spams ? Aucun lien vers un site mercantile pour vous expliquer comment faire augmenter le taux de natalité ou pour vous inciter à acheter des logiciels même pas libres. Si quelqu'un a une explication, je suis preneur.

  • Le Monolecte s'y j'y suis, reportage aux restos du cœur, à écouter attentivement.
  • La Minute PoliTIC # 19 > Eux : interview avec des SDF au Canal Saint Martin, à Paris, dix jours avant que l'on commence à parler de l'action des enfants de Don Quichotte. À lire aussi : En direct du Ministère de la crise au logement.
  • Découvrez Vous êtes libre ce soir ?, une émission sur les logiciels libres, sur Radio Campus Tour (via Gilles).
  • Un nouvel installeur sous Windows pour Ubuntu : un simple setup.exe qui vous télécharge l'ubuntu que vous voulez, vous l'installe dans votre partition windows, et utilise le boot loader de windows, donc en toute simplicité, mais il y a un point qui me chagrine : le fait de ne pas avoir de partition séparée empêche de changer de distribution en gardant le /home, voir de supprimer les partitions windows. Parce que les gens qui conserve linux, change de distribution voir abandonnent windows commencent bien souvent par chercher une première installation la plus simple possible. Mais ils risqueraient d'être découragés si l'installation simple se fait au détriment de l'évolution de leur système.
  • Et pour finir, un module pour le noyau linux dont on ne pourra bientôt plus se passer : IPoT. Jetez notamment un œil sur le screenchot. (via yves)

dimanche 7 janvier 2007

À propos de Vista

Il y a une petite boîte américaine qui sautille de partout pour que l'on remarque leur dernier machin, alors histoire de se tenir au courant, voici quelques liens intéressant à propos de Microsoft Windows Vista :

  • Mac OS X Shines In Comparison With Windows Vista, une bonne comparaison des différents choix d'ergonomie de Microsoft, en comparaison de ceux de Mac OS X (via Slashdot)
  • Microsoft Windows Vista : le dossier, une revue complète de la version finale de Microsoft Windows Vista, avec les améliorations positives et les négatives (oui, améliorations négatives). On notera l'aspect particulièrement stupide du presque root de Microsoft Windows Vista, qui en plus de ne servir à rien, d'embêter l'utilisateur (trois message pour l'installation d'iTunes), peut être désactivé.

    Those who do not understand UNIX are condemned to reinvent it, poorly.

    Henry Spencer
  • Analyse du coût de la protection de contenu de Windows Vista, peut-être le document le plus intéressant, qui explique les conséquences de systèmes de protection de contenu et autres DRM sur le comportement général du système, sur l'industrie des composants et matériels, et même sur vous et moi qui utilisons des systèmes alternatifs. (via Laurent Richard)

Pour finir, une citation issue de la note D du dernier document, à propos des DRM :

La protection de contenu de Windows Vista (et des DRM en général) suppose que toute ces copies peuvent se produire sans qu'il se produise réellement de copie, puisque l'intention entière des DRM est d'empêcher la copie. Si vous n'êtes pas versé dans la double pensée des DRM ce concept devient plutôt délicat à expliquer, mais en termes de mécanique quantique le contenu entre dans une superposition d'états simultanément copié et non-copié jusqu'à ce qu'un utilisateur détruise sa fonction d'onde en observant le contenu (en physique c'est appelé indétermination quantique ou paradoxe de l'observateur). Suivant que vous suivez l'interprétation de Copenhague ou celle des mondes multiples de la mécanique quantique, alors les choses sont bizarres ou très bizarres. Ainsi afin que la protection de contenu de Windows Vista fonctionne, elle doit pouvoir violer les lois de la physique et créer les nombreuses copies qui ne sont pas simultanément des copies.

vendredi 22 décembre 2006

En vrac de Noël

  • J'écoute Bénabar... au point d'être son premier fan sur sa page last.fm sur la semaine dernière :
    Capture d'écran du top des auditeurs de Bénabar
  • À propos de last.fm, comme vous avez pu le voir sur l'image précédente, le site est désormais disponible en version française. C'est tout nouveau, en bêta, mais c'est cool, et c'est sur lastfm.fr.
  • Dans la lignée du multimédia sur le web, 20minutes m'a fait découvrir Democracy Player, un agrégateur libre multi-plateforme de sites à la youtube, basé sur vlc, intégrant un client bittorrent, et programmé en python. Le logiciel possède une interface pour Microsoft Windows, une pour MacOS X, et une en GTK. Le logiciel est bien pensé, mais la traduction française est nulle, et l'inferface GTK plutôt buguée (je l'ai vu à l'œuvre sous Windows, il fonctionne nettement mieux). À noter que le logiciel est présent dans les dépôts de Ubuntu Edgy Eft, mais pas dans sa dernière version. Pour celle-ci, des paquets sont disponibles sur le site officiel. Estampillé Dapper Drake, ils fonctionnent aussi sous Edgy. Ce logiciel est prometteur (qui n'a pas laissé une page de youtube ouverte pendant deux heures pour pouvoir lire la vidéo sans coupure ?), mais la version Linux est un peu en retard. À suivre...
  • La FSF a lancé une campagne contre Microsoft Windows Vista, campagne nommé badvista.org. Autant l'idée peut être intéressante, autant citer gNewSense comme alternative est stupide : le public ciblé par gNewSense n'est pas celui de Vista, et vice-versa. Quitte à promouvoir les logiciels libres, autant aller voir sur getgnulinux/fr.
  • De toute façon, Linux contre vista donne Linux gagnant (de peu et à mon avis plus pour longtemps).

À part ça, je part demain dans ma Normandie natale y passer les fêtes, donc probablement une connectivité au réseau mondiale anecdotique durant la semaine prochaine.

Alors joyeux Noël et bonnes fêtes à vous tous !

samedi 11 novembre 2006

Créer un installateur windows pour un programme en python à l'aide des distutils - À l'usage des programmeurs perdus en dehors de leur système familier

Imaginez que vous êtes un utilisateur d'un quelconque système d'exploitation moderne, et de surcroît un programmeur . Vous vivez une vie douce et heureuse, jusqu'au jour où...

Jusqu'au jour où l'on vous demande si le programme sur lequel vous travaillez actuellement sera porté sous Microsoft Windows. Votre première réaction est immédiate : aucun support des systèmes d'exploitation exotiques n'est prévu, mais c'est libre, donc rien ne vous empêche de le faire. La seconde, quelques temps après, est : je n'utilise que des technologies portables, python, éventuellement GTK, donc pourquoi pas ? Et c'est déjà trop tard. Vous commencez à vérifier que vous n'utilisiez aucune fonction spécifique à un système d'exploitation. Vous installez python dans une machine virtuelle sur une vieille licence de Windows 98 d'un ordinateur mort à présent (restons dans la légalité, n'est-ce pas).

Vous avez terminé votre programme python. Le setup.py, construit dans les règles de l'art, est prêt. Vous êtes en période de tests intensifs sous Microsoft Windows (après avoir perdu une partie de votre chevelure à installer les dépendances - dans le bon ordre, la bonne version, et avec le bon installeur - de votre programme), vous vous mettez à écrire du code spécifique à Microsoft Windows (alors que vous en avez supprimé pour les autres systèmes), notamment pour l'internationalisation, et enfin vous considérez votre programme comme prêt.

Mais autant vous savez que votre programme finira empaqueté (dans des dépôts officiels ou non) sur toute distribution GNU/Linux, ou qu'à défaut les utilisateurs sauront lancer python setup.py install en copiant/collant la ligne du README, autant vous savez combien un utilisateur de Microsoft Windows est peu dégourdi de ses dix doigts, ignore que le clavier est utile en dehors de msn et outlook (vous le savez parce que vous en cotoyez tous les jours, n'ayez pas honte). Il faut donc faire un machin magique, le setup.exe. C'est un fichier binaire, qui permet à l'utilisateur de Microsoft Windows de retrouver le sourire alors que vous lui parliez des fonctions de votre programme, et qu'il se demandait où pourrait-il bien trouvé le crack pour faire marcher la copie warez du logiciel (ils ont un de ces jargon, les utilisateurs de Microsoft Windows, j'vous jure !). Et ce fichier binaire, vous pourrez le réaliser grâce au setup.py dans lequel vous avez mis tant d'amour !

Mais hélas, tout ne se fait pas tout seul. Cet installateur ne placera pas automatiquement un raccourcis sur le bureau, et un autre dans le menu démarrer, condition sine qua non pour que l'utilisateur de Microsoft Windows ne vous envoie pas un mail vous répondant que votre programme il marche pas. Car non, il ne suffit pas de faire ALT+F2 Windows+R et d'entrer le nom du programme en minuscule pour qu'il se lance sous Microsoft Windows. Car s'il existe bien un PATH, il ne sert à rien. Alors comment faire ces raccourcis ? Non, ne pensez pas à placer un fichier .desktop standardisé dans un dossier application standardisé. Pensez postinstallation script.

Sauf que cette documentation gagnerait à être plus étoffée. Alors voici un exemple de script d'après-installation pour créer les raccourcis vers votre programme sur le bureau et dans le menu démarrer. Ces raccourcis seront supprimés lors de la désinstallation du programme, celle-ci devant être réalisée via l'Ajout/Suppression de programmes du panneau de configuration (le programme de désinstallation est créé automatiquement par les distutils, je ne fais pas de raccourcis dans le menu démarrer pour celui-ci, car j'ai la flemme et que c'est déconseillé pour Microsoft Windows Vista - voyez comme j'anticipe).

Dans ce qui suit, on considère que votre programme sera installé dans share/coinoin et que le fichier à lancer est share/coincoin/coincoin.py. Voici le contenu du script en lui-même, ici nommé w32_postinst.py et placé dans le même dossier que le setup.py (ce qui n'est pas obligatoire, vous adapterez) :

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# La première ligne doit commencer par #! et contenir python.
# Elle sera adaptée au système de destination automatiquement

""" This is a part of CoinCoin project.

    Post installation script for win32 system
    
    This script creat a shortcut for coincoin.py in the desktop and the
    start menu, and remove them at the uninstallation
    
"""

import os
import sys

# Ce script sera aussi lancé lors de la désinstallation.
# Pour n'exécuter du code que lors de l'installation :
if sys.argv[1] == '-install':
    # On récupère le dossier où mes fichiers seront installés (dossier où python est aussi installé sous windows)
    python_path = sys.prefix
    # On récupère le chemin de pythonw.exe (l'exécutable python qui n'affiche pas de console).
    # Si vous voulez une console, remplacez pythonw.exe par python.exe
    pyw_path = os.path.abspath(os.path.join(python_path, 'pythonw.exe'))
    # On récupère le dossier coincoin
    coincoin_dir = os.path.abspath(os.path.join(python_path, 'share', \
                                                    'coincoin'))

    # On récupère les chemins de coincoin.py, et de coincoin.ico
    # (Ben oui, l'icone est au format ico, oubliez le svg, ici on en est encore à la préhistoire.
    # Heureusement que the GIMP sait faire la conversion !)
    ico_path = os.path.join(coincoin_dir, 'coincoin.ico')
    script_path = os.path.join(coincoin_dir, 'coincoin.py')
    
    # Création des raccourcis
    # Pour chaque raccourci, on essaye de le faire pour tous les utilisateurs (Windows NT/2000/XP),
    # sinon on le fait pour l'utilisateur courant (Windows 95/98/ME)
    
    # Raccourcis du bureau
    # On essaye de trouver un bureau
    try:
        desktop_path = get_special_folder_path("CSIDL_COMMON_DESKTOPDIRECTORY")
    except OSError:
        desktop_path = get_special_folder_path("CSIDL_DESKTOPDIRECTORY")
    
    # On créé le raccourcis
    create_shortcut(pyw_path, # programme à lancer
                    "powerful coincoin duke program", # Description
                    os.path.join(desktop_path, 'coincoin.lnk'),  # fichier du raccourcis (gardez le .lnk)
                    script_path, # Argument (script python)
                    coincoin_dir, # Dossier courant
                    ico_path # Fichier de l'icone
                    )
    # On va cafter au programme de désinstallation qu'on a fait un fichier, pour qu'il soit supprimé
    # lors de la désinstallation
    file_created(os.path.join(desktop_path, 'coincoin.lnk'))
    
    # Raccourcis dans le menu démarrer (idem qu'avant)
    try:
        start_path = get_special_folder_path("CSIDL_COMMON_PROGRAMS")
    except OSError:
        start_path = get_special_folder_path("CSIDL_PROGRAMS")
    
    

    # Création du dossier dans le menu programme
    programs_path = os.path.join(start_path, "Coincoin project")
    try :
        os.mkdir(programs_path)

    except OSError:

        pass
    directory_created(programs_path)
    
    create_shortcut(pyw_path, # Cible
                    "casio data manager", #Description
                    os.path.join(programs_path, 'coincoin.lnk'),  # Fichier
                    script_path, # Argument
                    coincoin_dir, # Dossier de travail
                    ico_path # Icone
                    )
    file_created(os.path.join(programs_path, 'coincoin.lnk'))
    
    # End (youpi-message)
    # Ce message sera affiché (très) furtivement dans l'installateur.
    # Vous pouvez vous en servir comme moyen de communication secret, c'est très in.
    sys.stdout.write("Shortcuts created.
")
    # Fin du bidule
    sys.exit()

Ouf ! On y est presque ! Il ne reste plus qu'à référencer notre script en ajoutant quelque part dans le setup.py :

setup(
    ...,
    scripts=['w32_postinst.py'],
    ...)

Ensuite, il vous suffit de lancer :

python setup.py bdist_wininst --install-script w32_postinst.py

Et votre installeur est fabrique dans le dossier dist. Elle est pas belle la vie ?

vendredi 3 novembre 2006

Réjouissez-vous ! Linux va tourner sous Windows

Le NouvelObs nous apprend :

Microsoft et Novell signent une trêve

Les deux groupes se sont accordés pour permettre au système d'exploitation gratuit Linux de fonctionner sous Windows.

Article Microsoft et Novell signent une trêve dans le NouvelObs, 03.11.06, 09:32.

À la lecture de l'article (qui ne rentre pas vraiment dans les détails, heureusement d'ailleurs au vu de l'incompétence de son auteur), il semblerait qu'il s'agisse plutôt d'offrir une certaine compatibilité entre les deux systèmes dans des environnement serveur, ou peut-être de permettre une meilleure virtualisation. Il s'agit à mon avis surtout d'un argument marketing pour Novell qui rassurera plus les éventuels candidats à une migration, Novell pouvant soit disant leur assurer une meilleure intégration dans un environnement Windows de Linux... au détriment des concurrents de Novell comme RedHat.

- page 2 de 3 -