Sten Spårvagnhög a écrit 490 commentaires

  • [^] # Re: Pensez a votre Ange Gardien

    Posté par  (site web personnel) . En réponse au journal Diaspora moulesque. Évalué à 5.

    \o/

    Je signale de plus à l'aimable assistance que tous les bouchots cités dans ce journal bénéficient de l'auto-configuration sous pyCoinCoin : il suffit de taper le nom du bouchot dans l'assistant "Nouveau Bouchot". Eh oui, grâce au RTT imposé par les fonctionnaires preneurs d'otages, j'ai eu le temps de mettre enfin à jour les fichiers d'auto-configuration sur le site.

    Rappel des urls utiles :
    - PyCoinCoin : http://chrisix.free.fr/pycoincoin
    - Liste des tribunes pré-configurées : http://chrisix.free.fr/pycoincoin/config/
    - Le Wiki : http://pycoincoin.free.fr/wikini/ (bien buggué et pas complet mais accepte avec plaisir les contributions)
    - (nouveau !) Pour les rapports de bug et les fritures rik ouest : http://chrisix.free.fr/mantis/
  • # [:aloy]

    Posté par  (site web personnel) . En réponse au journal Hot line de matinée.... Évalué à 10.

    Je pense que ce que tu as entendu, c'était une douce voix. La douce voie féminine en revanche, c'est peut-être justement celle que tu aurais plutôt aimé prendre /o\
  • # Couvrons-nous la tête de cendres.

    Posté par  (site web personnel) . En réponse au journal Le complot. Évalué à 10.

    le chagrin m'accable

    ... Ethernet ?
  • [^] # Re: Guwiv

    Posté par  (site web personnel) . En réponse au journal Microsoft France se lance dans le communautaire. Évalué à 6.

    De toute façon, en ce moment je ne sais pas ce qu'ils fument chez MS mais ça a l'air costaud :
    http://www.microsoft.com/france/technet/complexit/
  • # Plussoire

    Posté par  (site web personnel) . En réponse au journal De l'appropriation du mot "moule" par les usagers de base de LinuxFR. Évalué à 8.

    Bravo, je ne peux qu'appuyer ce rappel salutaire et cette saine réaction face à la dégénérescence ambiante et au galvaudage déplorable d'un terme dont la seule évocation devrait éveiller chez les "newbies" une crainte respectueuse et tout empreinte de déférence envers les plus nobles artisans du succès d'un site qui doit sa plopularité autant que sa forte charge à ces valeureux pionniers précurseurs et apôtres d'un monde nouveau où le moulage, objet de la plus haute considération, est élevé au rang d'art de vivre.

    Longtemps avons-nous déploré la perte de ces valeurs, hélas non subjective mais bel et bien corroborée par la brutalité des statistiques, malgré un récent sursaut que même mon optimisme proverbial refuse de voir autrement que comme un chant du cygne : http://chrisix.free.fr/moulage/stats_cc_hits.png

    Haut les coeurs, cependant, harangué-je la moulosphère de toutes mes forces, il n'est jamais trop tard pour jeter son dévolu à la propagation de la connaissance exacte, à l'instar de ce journal ; et peut-être même vivrons-nous encore assez longtemps pour voir le jour où du contenu nouveau apparaîtra sur http://moules.org/ !
  • [^] # Re: pas d'accord...

    Posté par  (site web personnel) . En réponse au journal Et le président des libristes est.... Évalué à 0.

    Correction Maître Capello !
    devise eusse été de bon aloi.


    De bon [:aloy], même. [:aloy] [:aloy2] [:aloyd] [::yveleu]
  • [^] # Re: C'est triste

    Posté par  (site web personnel) . En réponse à la dépêche TuxFamily respectueux de l'écologie : suppression du PHP. Évalué à 1.

    s/avis/point de vue/ [:aloyd]
  • # Ouéééé !

    Posté par  (site web personnel) . En réponse à la dépêche Élections du responsable du projet Debian 2007. Évalué à 9.

    \o/ SAM PRAISIDAN DPL \o/

    http://sam2007.zoy.org/

    Au moins, les debiannistes auraient ainsi une chance de perdre leur réputation de gros geeks pédants et austères c. serrés enfin vous voyez ce que je veux dire.
  • # Et do bémol

    Posté par  (site web personnel) . En réponse au journal Deux réflexions du vendredi. Évalué à 5.

    Et si on pouvait moinsser les journaux ?
  • # Moi j'y ai pas accès [:calimero]

    Posté par  (site web personnel) . En réponse au journal Un nouveau bot pour la tribune!. Évalué à 2.

    PS: Pour les allergiques au https, utilisez le port 51519

    Le proxy est surtout allergique aux ports exotiques, apparemment, dommage :(
  • [^] # Re: p2p ?

    Posté par  (site web personnel) . En réponse à la dépêche Tuxfamily propose un nouveau service de téléchargement. Évalué à -1.

    Attends là, avant de critiquer, lance un service d'hébergement de projets libres de qualité, on verra si tu fais mieux qu'eux
  • [^] # Re: p2p ?

    Posté par  (site web personnel) . En réponse à la dépêche Tuxfamily propose un nouveau service de téléchargement. Évalué à -10.

    C'est triste ton point de vue sur tuxfamily
  • [^] # Re: bug ?

    Posté par  (site web personnel) . En réponse au journal DLFP social network. Évalué à 10.

    C'est bizarre que ça ait fonctionné dans ton cas, parce que sans même regarder le pseudo, à l'orthographe on te reconnaît tout de suite.
  • # Question d'interprétation

    Posté par  (site web personnel) . En réponse au journal Pilotes graphiques libres Intel : et les performances?. Évalué à 4.

    Bref, oui, Intel fournit des pilotes libres, mais fournissant 30% des performances des pilotes pour windows. Et de très mauvaise qualité

    Est-ce que c'est ça qu'il faut déduire de tes mesures, ou bien faut-il s'interroger plutôt sur les performances intrinsèques de Linux en matière graphique ? Parce que, libres ou pas, et venant des constructeurs ou pas, j'ai bien l'impression que c'est toujours la même histoire avec les pilotes graphiques. Alors, on peut toujours crier au complot anti-linux mais cette hypothèse implique quand même malveillance ou mauvaise foi des constructeurs et/ou incompétence des développeurs généralisées. Ca fait beaucoup. Une explication plus simple serait que développer des drivers pour Windows est bien moins compliqué et que l'OS offre plus de performance au niveau de sa couche graphique.
    Enfin je dis ça, je ne dis rien.
  • # Un exemple

    Posté par  (site web personnel) . En réponse au message Plugin en python. Évalué à 1.

    Je ne sais pas si ça correspond vraiment à ton besoin, mais j'ai l'impression que c'est exactement ce que fait le système de plugins de pyCoinCoin.
    Regarde dans l'archive http://pycoincoin.free.fr/download/pycc-0.8.7.tar.gz le fichier pyc2.py, il y a une fonction import_plugins qui charge tous les modules disponibles dans le répertoire plugins/
    C'est dynamique, c'est à dire que tu peux recharger les plugins ou en importer de nouveaux (via l'appel à cette fonction) alors même que l'appli est en train de tourner.
    Comme toi, j'ai une classe d'interface Plugin parente.

    Pour référence
    pyCoinCoin : http://chrisix.free.fr/pycoincoin/
    wiki doc développeur (en cours de contruction) : http://pycoincoin.free.fr/wikini/
    en particulier les plugins : http://pycoincoin.free.fr/wikini/wakka.php?wiki=ModulePlugin
  • # Le louque

    Posté par  (site web personnel) . En réponse au journal A moi les miches de la boulangères !. Évalué à 2.

    C'est marrant, ces machines ont toutes les 3 en commun un look plutôt désuet qui évoque les jeux électroniques LCD des années 80. Bah, c'est pas qu'elles sont moches hein (ça peut plaire), mais bon on voit clairement que les designers ne sortent pas de chez Apple
  • [^] # Re: Mon avis

    Posté par  (site web personnel) . En réponse au message PyGTK OU PyQT. Évalué à 2.

    Et j'oubliais : pour le côté portable, simplicité de déploiement et rapidité de développement, y'a pas mieux que Tkinter, qui est intégré dans Python. Mais en étant conscient qu'à part le fabuleux widget Text, son widget le plus évolué est la combo-box, et aussi à condition d'aimer les looks des interfaces graphiques du mésozoïque inférieur.
  • # Mon avis

    Posté par  (site web personnel) . En réponse au message PyGTK OU PyQT. Évalué à 2.

    Pour avoir tâté des deux, certes pas en profondeur du tout, mais quand même, je donne mon avis : pyQt.
    Maintenant si c'est un pinnipède que tu dois coder, l'un n'est pas mieux loti que l'autre, pas plus que wxPython d'ailleurs.
  • [^] # Re: Tout est mieux !

    Posté par  (site web personnel) . En réponse à la dépêche Nokia 770 : Internet Tablet OS 2006. Évalué à -1.

    Et est-ce que cette version accélère le temps d'attente à la boulangerie aussi ?
  • [^] # Re: Ca me rapelle Desproges...

    Posté par  (site web personnel) . En réponse au journal Mea Culpa au foot. Évalué à 3.

    Pour la référence, je suppose que tu fais allusion à ce texte http://sunderlaw.chez-alice.fr/ecriture/desproges/foot.htm
  • # Hum...

    Posté par  (site web personnel) . En réponse au message noob : fonction avec nombre de paramètres variable. Évalué à 4.

    Ce que tu cherches à faire là est impossible tel quel. On ne procède pas ainsi pour définir une fonction.
    Si ton second paramètre dépend du premier, et bien tu n'as pas besoin de le passer en paramètre ; tout simplement, tu le calcules dans le corps de ta fonction au moment où tu en as besoin.

    Donc, tu définis ta fonction ainsi :

    def nom_fonction(une_chaine="toto", autre_param=val, etc...):
      l = len(une_chaine)
      
    (ici le traitement de ta fonction, utilisant une_chaine , l, autre_param, ...)
  • # Des précisions ?

    Posté par  (site web personnel) . En réponse au message THREAD. Évalué à 3.

    C'est un peu difficile de t'aider à partir de juste ce petit bout de code, et sans savoir ce que tu cherches à faire.

    Quelques petites fautes que j'ai relevées dans ton code sont, néanmoins, peut-être à l'origine de ton souci :

    - Dans la méthode __init__, tu oublies la majuscule à Thread lors de l'appel au constructeur de la classe héritée : Thread.__init__(self). Une autre façon de faire cela, qui pourrait à l'avenir t'éviter ce genre de coquille, est de passer par la fonction super qui te renvoie directement la superclasse : super(P, self).__init__()

    - Quand tu écris proc.start, cela ne fait que retourner la méthode de ce nom, pour l'exécuter il ne faut pas oublier les parenthèses proc.start()

    - Je suppose que dans ton vrai code, tu n'as pas oublié les : à la fin des lignes commençant par class ..., if ... ou def ..., que tu as bien écrit __name__ avec 2 underscores de chaque côté, que tu fais bien un import threading au début, et que c'est correctement indenté... :-)
  • [^] # Re: Un exemple en Tkinter

    Posté par  (site web personnel) . En réponse au message Questions python. Évalué à 2.

    Bon, j'ai oublié un truc : l'initialisation de l'état de la case à cocher en fonction de la valeur dans le fichier. C'est pas très compliqué, on peut ajouter une méthode get_file_value dans la classe App avec ce code :

      def get_file_value(self):
        val = "FAUX" # valeur par défaut
        try:
          f = open("monfichier")
          lines = f.readlines()
          for line in lines:
            nom, val = line[:-1].split('=')
            if nom == "VALEUR1":
              break
          f.close()
        except:
          print "Erreur lecture fichier"
        return (val == "VRAI")

    Puis, dans la méthode __init__, remplacer la ligne d'initialisation (but_valeur1.select()) par

        if self.get_file_value():
          but_valeur1.select()
        else:
          but_valeur1.deselect()
  • # Un exemple en Tkinter

    Posté par  (site web personnel) . En réponse au message Questions python. Évalué à 2.

    Voici un exemple de ce que tu veux faire avec le toolkit Tkinter (ce toolkit est intégré de base dans Python, donc je l'ai choisi par facilité de mise en oeuvre).

    from Tkinter import *

    class App:

      def __init__(self, master):
        fr = Frame(master) # Un cadre pour englober les widgets

        # On définit le widget case à cocher
        self.valeur1 = StringVar() # Une variable pour sauvegarder l'état du widget
        but_valeur1 = Checkbutton(fr, text="Valeur1", onvalue="VRAI", offvalue="FAUX", variable=self.valeur1)
        but_valeur1.pack()
        but_valeur1.select() # Initialisation de l'état à "coché"

        Button(fr, text="Enregistrer", command=self.save).pack()
        Button(fr, text="Fermer", command=master.destroy).pack()
        fr.pack()

      def save(self):
        # Méthode de sauvegarde dans le fichier
        print "Je vais sauver VALEUR1=%s" % self.valeur1.get()
        f = open("monfichier", "w")
        f.write("VALEUR1=%s\n" % self.valeur1.get())
        f.close()

    root = Tk()
    app = App(root)
    root.mainloop()


    Si tu veux plus de renseignements sur le fonctionnement de Tkinter il y a de la doc pas trop mal foutue ici : http://www.pythonware.com/library/tkinter/introduction/index(...)

    Pour ce qui est de l'interaction avec Bash, tout dépend de ce que tu veux faire. Si c'est juste lancer des commandes, il y a l'appel system dans le module os ( http://www.python.org/doc/current/lib/module-os.html ) qui permet cela. Après, je ne sais pas, ça vaut peut-être le coup de porter tes scripts directement en Python...
  • [^] # Re: Nokia 770

    Posté par  (site web personnel) . En réponse au journal Petit plaisir solitaire.... Évalué à 9.

    Non, c'est tout aussi pitoyable, mais si il fallait rigoler de tous ceux qui téléphonent dans les magasins, le bus, le métro,... on y passerait la journée ; à la longue c'est lassant et ça finit par faire très mal aux zygomatiques et aux abdos.