Philippe F a écrit 2214 commentaires

  • [^] # Re: Upload ou download?

    Posté par  (site web personnel) . En réponse à la dépêche p2p: premières résiliations d'abonnements. Évalué à 8. Dernière modification le 06 février 2018 à 19:17.

    Cette coupure est d'autant plus surprenant qu'un jugement a ete prononce recemment en faveur d'un internaute qui n'avais pas moins de 500 films sur CD telecharges sur internet. Le juge a considere cela comme de la copie privee, deja prise en charge par la taxe sur les supports numeriques.

    Forum des Droits sur l'Internet

  • [^] # ouaah

    Posté par  (site web personnel) . En réponse à la dépêche GnomeMeeting 1.2 disponible. Évalué à 3.

    Avec des screenshots pareils, c'est sur que Gnomemeeting va faire des adeptes chez les geeks celibataires !
  • [^] # Re: Base de données

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de MyNews 1.0. Évalué à 2.

    Trop fort, c'est exactement ce que je cherchais et c'est deja chez google. Decidement, google, ils assurent.
  • [^] # Re: Base de données

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de MyNews 1.0. Évalué à 1.

    Moi ce que je voudrai, c'est un logiciel un poil plus intelligent. Je voudrai par exemple surveiller des recherches google pour voir si de nouveaux sites ou de nouvelles news sont apparues sur le net.

    Genre, je surveille "contactless smart card" sur google (mon metier) pour voir si de nouveaux liens sont apparus dans le monde qui parlent de carte a puce sans-contact.

    Il suffirait probablement d'ajouter un modele "recherche google" au bazar mais la doc m'a semble tres tres succinte. J"ai pas compris aussi si on est tout cense se connecter a mynews ou si on fait tourner notre version privee.
  • [^] # Re: Inutile sans interactivité exchange.

    Posté par  (site web personnel) . En réponse à la dépêche Novell et Netline annoncent Open Exchange en Open Source. Évalué à 10.

    J'ai deja rencontre le meme genre d'argument. Genre je dis a des co-developpeurs que avec OpenOffice + CVS, plus besoin d'avoir MsOffice et sourcesafe. La reponse qui tue : "Mais MsOffice, c'est gratuit. On l'a dans notre package annuel de licence !". De fait, tant que tu ne quittes pas _tous_ les outils microsoft, tu risques de payer encore longtemp.
  • [^] # Re: encore plus idiot

    Posté par  (site web personnel) . En réponse à la dépêche [Belgique] P2P, la Sabam gagne contre Tiscali !... Évalué à 5.

    Quand tu vois que le jour ou il a vote cette resolution, il s'est fait defonce en velo par un motard qui roulait a fond sur un couloir de bus (direct a l'hopital), tu te dis qu'il a des raisons de rester attache a son point de vue.
  • [^] # Re: Plutot decu

    Posté par  (site web personnel) . En réponse à la dépêche Thunderbird 1.0 est sorti, en français. Évalué à 2.

    j'utilise mes deux adresses from pour poster vers tous types d'adresses. En gros, j'ai une adresse pro et une adresse privee. Ca fait donc pas moins de 14 clicks par jour et par compte pour envoyer des mails. C'est vraiment lourdingue.

    Je vais etudier la solution script pour faire tout ca a la mano, ca sera peut-etre mieux.
  • [^] # Re: Plutot decu

    Posté par  (site web personnel) . En réponse à la dépêche Thunderbird 1.0 est sorti, en français. Évalué à 3.

    Oui, tres bien mais en dehors de kmail et thunderbird/enigmail, personne ne supporte le pgp/mime.

    Si je veux envoyer un document a 7 destinataires differents, sous kmail, pas de solution. Je prends mon fichier je l'encode 7 fois avec 7 cles differentes et j'envoi 7 mails avec chacun un fichier different attache. C'est hautement merdique.

    Sous thunderbird, j'attache le document et a l'envoi thunderbird va s'occuper d'encrypter automatiquement le document avec les 7 cles publiques differentes des 7 destinataires. J'ai gagne une demi-heure de mon temps.

    J'ai ouvert un bug sur kmail pour ca. Il me semble que la reponse a ete du genre "oui, mais pgp/mime est mieux donc on le fera pas".
  • # Plutot decu

    Posté par  (site web personnel) . En réponse à la dépêche Thunderbird 1.0 est sorti, en français. Évalué à 6.

    Je dois avouer que plus j'utilise Thunderbird, plus je lui trouve de defauts. J'ai pas trop le choix puisque je suis sous windows, mais je trouvais kmail beaucoup plus fonctionnel.

    Les trucs qui m'agacent le plus:
    - sous kmail, c'est hyper facile de passer au message suivant et precedent, tout en scrollant chaque message, et sans quitter les doigts du clavier: ca se fait avec les fleches. Les racourcis thunderbird sont beaucoup moins pratiques et sous conditionnes au focus.
    - plutot lent a se lancer sous windows
    - j'ai deux comptes pop3 et je dois gerer deux jeux de filtres. Je trouve ca completement hallucinant. J'ai fait l'erreur d'avoir une mailbox globale pensant que ca allait ameliorer la situation. Que nenni, maintenant, j'ai trois jeux de filtres a gerer !
    - je comprends pas du tout l'interet de la separation entre plusieurs comptes pop3. Ca me cree plein de problemes et aucun avantages
    - il me faut qqch comme 7 click pour changer le smtp qui me sert a envoyer des mails. C'est une operation que je fais deux fois par jour, je trouve ca super penible
    - gestion des mailing list completement inexistante. Sous kmail, je prend un message que j'ai recu d'une mailing list, je fais "creer un filtre pour cettte mailing list" et il me cree un filtre en utilisant le champ X-Mailing-List du message. Sous thunderbird, rien de tout ca. Comme les champs X-Mailing-List ne sont pas proposes par defaut, il faut s'en remettre a des to-or-cc ce qui n'est pas fiable. Sous kmail, je peux aussi faire un middle-click sur un folder pour envoyer un mail a un mailing-list en particulier en utilisant meme la bonne adresse d'envoi
    - pas possible de faire du drag'n drop d'adresse entre messages

    Bon, il a quand meme de tres bon cotes:
    - bonne gestion de pgp, alors que kmail impose le pgp/mime, que personne sur la planete ne supporte. Les regles pgp sont quand meme un peu chiant a definir.
    - excellent filtre antispam. Il a renvoye bogofilter aux oubliettes tellement il est efficace.
  • [^] # Re: Métaphore

    Posté par  (site web personnel) . En réponse à la dépêche Il n'y a pas que le traitement de texte pour manipuler du texte !. Évalué à 4.

    <<
    qui scannent des photos avec Word, d'autres qui tapent des rapports avec Powerpoint, ou qui dessinent des plans avec Photoshop ... y'en a même qui codent avec vi !
    >>

    Je vois pas le probleme. C'est vrai, ca nous choque de voir ca parce qu'on sait qu'on n'a pas besoin de word pour le faire, mais les utilisateurs sont plus rapides et plus efficaces avec cet outil, c'est normal que ce soit celui qu'ils choisissent systematiquement.

    Pour beaucoup d'utilisateurs, l'apprentissage de word a ete douloureux et ils ne veulent pas remettre le couvert une deuxieme fois. En plus, ils risque de se perdre apres entre deux logiciels. Ce sont leurs a priori, je ne sais pas si ils sont tous fondes.

    C'est clair que pour beaucoup, works (livre par defaut souvent avec windows) suffit largement mais quand tu parles autour de toi, tout le monde de parle de msoffice et de word, pas de works.
  • [^] # Re: Bof, pas convaincu par l'article

    Posté par  (site web personnel) . En réponse à la dépêche Il n'y a pas que le traitement de texte pour manipuler du texte !. Évalué à 1.

    Je suis sur que qq'un prenant la peine d'apprendre le langage de macro de OpenOffice peut reussir a faire la meme chose. Au final, a mon avis, il n'investirait pas moins de temps que toi tu en as mis pour apprendre Latex.

    Perso, depuis que j'utilise OpenOffice, c'est le bonheur. Je ne fais que de la doc d'entreprise. Les template sont super facile a manipuler, en 3 secondes, je peux changer le style de tous mes titres, etc etc.
  • [^] # Re: pourquoi ne pas utiliser l'API crypto du noyau ?

    Posté par  (site web personnel) . En réponse au journal les nouveautés de KDE 3.4. Évalué à 3.

    C'est quoi l'api crypto de linux ? Linux permet de generer des cles RSA ? De faire des verifications de signature RSA ? D'encrypters des donnes en triple DES et AES ?

    ==> NON !

    Je ne sais pas de quelle api crypto tu parles, mais clarement, linux ne suffit pas pour coder une application avec de la crypto. Il faut utiliser utiliser une lib qui code tous les algos. En general, on utilise openssl (www.openssl.org) mais rien n'empeche de le re-ecrire.
  • [^] # Re: Pour memoire

    Posté par  (site web personnel) . En réponse à la dépêche Sortie officielle de Flumotion. Évalué à 4.

    > T'es gentil et tu me montres où j'ai écris ça ?

    Je n'ai rien dit de tel. Je te fais remarquer que ton voeu pieu va avec une charge de travail telle que ca me parait peu probable qu'il soit realise. Mais j'aimerai qu'on me prouve que j'ai tort.

    C'est justement ce genre d'interview ou la retranscription va prendre encore plus de temps que les 10 minutes par minutes, et que seul une minorite de gens pourront faire.
  • [^] # Re: Ah, la Chine

    Posté par  (site web personnel) . En réponse à la dépêche La municipalité de Pékin opte pour des logiciels "nationaux" libres et non libres. Évalué à 5.

    Il est clair que les editeurs chinois ont du aussi faire jouer leurs relations. Mais je doute que les editeurs associes arrivent au 10 000 e de la puissance de Microsoft, que celle-ci soit commerciale, financiere ou de lobbying.

    Donc pour moi, c'est bien une victoire du petit contre le grand, et la seule raison qui puisse expliquer cette victoire c'est l'application d'une loi de preference nationale.
  • [^] # Re: Quel éditeur/IDE pour python ?

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de Python 2.4. Évalué à 2.

    Moi ce que je cherche, c'est vraiment un bon debuggeur python portable. Pour l'instant, j'ai que dalle. J"arrive pas a me faire a pdb et je n'ai pas trouve de debugger potable. Je compte essayer eclipse prochainement, j'espere qu'il s'en sortira bien...
  • # Ah, la Chine

    Posté par  (site web personnel) . En réponse à la dépêche La municipalité de Pékin opte pour des logiciels "nationaux" libres et non libres. Évalué à 10.

    La Chine est en pleine mutation, et on y retrouve deux systemes qui s'affrontent, d'un cote l'ancien systeme gouvernemental, corrompu, qui marche a coup de relations, de reseaux et de pots de vins. De l'autre, les lois que la Chine fait passer pour se transformer en pays moderne (et ultraliberal).

    Honnetement, je suis surpris que ce soit les petits editeurs Linux qui reussisent a l'emporter en invoquant une loi, face a la corruption + la machine Microsoft.

    C'est une tres tres bonne nouvelle, d'une part pour le logiciel libre, d'autre part pour la Chine puisque ca montre son entree (certe, chaotique, difficile et imparfaite) dans un etat de droit.

    Pour une fois, la technique du dealer de drogue de Microsoft n'a pas marche: tiens, prends mes premieres licences, elles coutent pas cher.

    Esperons d'autre transitions vers le logiciel libre, et d'autres lois appliquees plus fidelement.
  • # Incompatible ?

    Posté par  (site web personnel) . En réponse à la dépêche SPT : Une alternative au système historique de partitionnement des PC. Évalué à 4.

    Ce qui me chagrine, c'est qu'il n'y a pas comme objectif d'avoir un driver/bootloader/machin truc pour le faire marcher sous windows. C'est vraiment impossible ou c'est juste trop complique a faire pour l'instant ?

    Quand je vois des programmes qui sous windows, creent des lecteurs de DVD virtuels, je me dis que ca doit pas etre impossible au moins de rendre les partitions visibles, et au mieux d'y installer windows.

    Certe, on est sur linuxfr mais l'interet d'avoir plusieurs partitions, c'est bien d'avoir plusieurs OS disponibles.
  • [^] # Re: le python c'est bon

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de Python 2.4. Évalué à 6.

    Chuis vert, j'ai passe 10 minutes a mettre ce post en forme et tout est nique parce que j'ai appuye sur le mauvais bouton au mauvais moment.
    
    Ca sert aussi dans le cas de test unitaires pour faire des objets 
    moqueurs (www.easymock.org).
    
    Exemple:
    def my_communication_protocol( my_interface, data ):
        # call many methods of my_interface
        # depending on the execution of each of them, handle
        # the communication protocol
        # return the result
    
    Maintenant, comment on teste un bazar pareil ? J'ai justement eu le 
    probleme recemment ou j'ai du ecrire exactement ce genre de code, 
    une fois en C++ et une fois en python. 
    
    En C++, j'ai du creer une interface generique, rajouter des 
    methodes virtuelles, passer pas mal de temps a memoriser les 
    echanges et pas mal de temps a tester mon objet de test. En 
    python, c'est 10 fois plus simple. Tu passes un objet mock qui va 
    enregistrer tous les appels qui seront faits sur ton interface et qui 
    peut eventuellement retourner des donnees fictives. 
    
    Exemple reel tire de mon code de test:
       # correct data, correct sw my_rd = Mock( 
       { "exchangeApdu": data + sw, 
          "powerOn": [0x3B, 0] } ) 
       sp = ScriptPlayerBase( my_rd ) 
       sp.setUnexpectedRaisesException( 0 ) 
       my_rd.clearCalls() 
       self.assertEquals( sp.send( cmd, sw=sw ), data + sw ) 
       allCalls = my_rd.getAllCalls() 
       self.assertEquals( len(allCalls), 1 ) 
       self.assertEquals( allCalls[0].params[0], cmd ) 
    
    
    - my_rd est un objet fictif qui retournera data+sw a la methode 
    exchangeApdu, et la liste [0x3B, 0x00] a la methode powerOn. 
    - je le passe a ScriptPlayerBase en lieu et place d'un objet lecteur 
    reel 
    - j'appelle la methode send sur my_rd. Derriere mon dos, sp va 
    appeler my_rd et recevoir les reponses qu'il attend 
    - je verifie que la reponse est correct de send est correcte 
    - ensuite, je liste tous les appels effectues sur my_rd et je verifie 
    qu'ils sont bien ce qu'ils doivent etre. Les capacites dynamiques de 
    python permettent de faire facilement ce genre de chose. Le code 
    pour la classe Mock fait 80 lignes commentaires et documenation 
    comprise. 
    
    Pour faire le meme test en utilisant une methode a la 
    EasyMock, on aurait: 
      # correct data, correct sw 
      my_rd = EasyMock() 
      my_rd.record() 
      my_rd.powerOn() 
      my_rd.setReturn( [0x3B, 0 ] ) 
      my_rd.exchangeApdu( cmd ) 
      my_rd.setReturn( data+sw ) 
      my_rd.replay() 
      sp = ScriptPlayerBase( my_rd ) 
      sp.setUnexpectedRaisesException( 0 ) 
      self.assertEquals( sp.send( cmd, sw=sw ), data + sw ) 
      # if something went wrong, an exception would have been raised 
    
    Malheureusement, personne n'a encore ecrit d'easymock pour 
    python. Mais ca doit bien demander une heure de travail a tout 
    casser.
  • [^] # Re: Pour memoire

    Posté par  (site web personnel) . En réponse à la dépêche Sortie officielle de Flumotion. Évalué à 4.

    Ben voyons. Et ca va s'ecrire tout seul ?

    Pour faire une retranscription d'une interview audio, il faut compter 10 minutes pour retranscrire une minute d'interview (experience vecue, http://dot.kde.org/1081772638/(...)). Pour de la video, c'est encore plus complique puisqu'il faut apres synchroniser les sous-titres.

    La, il y avait une quinzaine de video de 45 minutes a l'akademy: 15 * 45 * 10 = 6750 minutes = 110 heures a quelques poils pres, uniquement sur la partie audio.

    A mon avis, c'est plus rapide d'apprendre l'anglais.
  • [^] # Re: le python c'est bon

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de Python 2.4. Évalué à 1.

    Ca sert aussi dans le cas de test unitaires pour faire des objets 
    moqueurs (www.easymock.org).
    
    Exemple:
    def my_communication_protocol( my_interface, data ):
        # call many methods of my_interface
        # depending on the execution of each of them, handle
        # the communication protocol
        # return the result
    
    Maintenant, comment on teste un bazar pareil ? J'ai justement eu le probleme recemment ou j'ai du ecrire exactement ce genre de code, une fois en C++ et une fois en python. En C++, j'ai du creer une interface generique, rajouter des methodes virtuelles, passer pas mal de temps a memoriser les echanges et pas mal de temps a tester mon objet de test. En python, c'est 10 fois plus simple. Tu passes un objet mock qui va enregistrer tous les appels qui seront faits sur ton interface et qui peut eventuellement retourner des donnees fictives. Exemple reel tire de mon code de test: # correct data, correct sw my_rd = Mock( { "exchangeApdu": data + sw, "powerOn": [0x3B, 0] } ) sp = ScriptPlayerBase( my_rd ) sp.setUnexpectedRaisesException( 0 ) my_rd.clearCalls() self.assertEquals( sp.send( cmd, sw=sw ), data + sw ) allCalls = my_rd.getAllCalls() self.assertEquals( len(allCalls), 1 ) self.assertEquals( allCalls[0].params[0], cmd ) - my_rd est un objet fictif qui retournera data+sw a la methode exchangeApdu, et la liste [0x3B, 0x00] a la methode powerOn. - je le passe a ScriptPlayerBase en lieu et place d'un objet lecteur reel - j'appelle la methode send sur my_rd. Derriere mon dos, sp va appeler my_rd et recevoir les reponses qu'il attend - je verifie que la reponse est correct de send est correcte - ensuite, je liste tous les appels effectues sur my_rd et je verifie qu'ils sont bien ce qu'ils doivent etre. Les capacites dynamiques de python permettent de faire facilement ce genre de chose. Le code pour la classe Mock fait 80 lignes commentaires et documenation comprise. Pour faire le meme test en utilisant une methode a la EasyMock, on aurait: # correct data, correct sw my_rd = EasyMock() my_rd.record() my_rd.powerOn() my_rd.setReturn( [0x3B, 0 ] ) my_rd.exchangeApdu( cmd ) my_rd.setReturn( data+sw ) my_rd.replay() sp = ScriptPlayerBase( my_rd ) sp.setUnexpectedRaisesException( 0 ) self.assertEquals( sp.send( cmd, sw=sw ), data + sw ) # if something went wrong, an exception would have been raised Malheureusement, personne n'a encore ecrit d'easymock pour python. Mais ca doit bien demander une heure de travail a tout casser.
  • [^] # Re: Pourquoi tous ces self ?

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de Python 2.4. Évalué à 3.

    << Le 'Explicit is better than implicit' est un argument creux: si c'était le cas, on programmerait toujours en assembleur: il n'y a pas plus explicite comme language. >>

    Au contraire, l'assembleur est plutot obscur comme langage. Python est d'une clarte limpide a la lecture et ca, ca vaut cher.

    J'avoue que ca me gonflait aussi un peu au debut, maintenant, je m'y suis fait meme si je l'oublie de temps en temps, ou si je le rajoute sur des fonctions qui n'en ont pas besoin.

    Note que ce n'est pas le seul langage qui demande a declarer explicitement l'instance de l'objet. C'est le cas aussi pour lua, il me semble que c'est aussi le cas pour javascript et je suis sur qu'on peut en exhiber un certtain nombre comme ca.
  • [^] # Re: le python c'est bon

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de Python 2.4. Évalué à 2.

    C'est difficile de faire des tests unitaires qui couvrent tout. C'est tres tres facile de faire des tests unitaires en python mais sur mes programmes, malgre la palanquee de test, il y a toujours des cas non testes.

    On peut eventuellement utiliser des outils de couverture de code (valider que les tests unitaires exercent tous les chemins) mais je ne suis pas sur ca suffise.

    Typiquement, comme les type sont dynamiques, je me retrouve souvent a abuser un peu de ca, et ca peut faire mal:

    def f( a ):
    if not type(a) is type([]): a = [ a ]
    # now, treat a as a list

    def g( b ):
    if type(b) is type([]):
    for e in b:
    g(b)

    Dans ces deux cas, g et f acceptent deja deux types d'arguments (a noter pour les pythonistes que g peut s'ecrire plus simplement avec map).

    En fait, je pense que ce n'est pas un bon style de programmation parce que c'est un peu dangereux. C'est avec ce genre de connerie qu'on se retrouve avec des chemins d'execution hyper complexes et qu'on peut lever une exception au mauvais moment.
  • [^] # Re: le python c'est bon

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de Python 2.4. Évalué à 8.

    Tu peux faire des trucs du type:

    if KDE_SUPPORTED:
    XMainWindow = KMainWindow
    else:
    XMainWidow = QMainWindow


    class MyMainWindow( XMainWindow ):
    ....


    En fait, ces possibilites tres dynamiques ne sont pas tant un besoin qu'une possibilite naturelle offerte par le langage.

    Les methodes d'une classe sont stockees par exemple dans un dictionnaire attache a la classe, dictionnaire que tu peux manipuler a ta guise. Quel interet de les stocker dans un dictionnaire ? Il fallait bien les stocker quelque part. Quel interet de rendre le dictioninaire accessible ? Ben ca peut s'averer pratique dans certains cas mais Guido n'a pas vu de bonne raison de ne pas le faire.

    Par exemple, tu peux faire beaucoup d'introspection en python en passant justement par ce dictionnaire. Alors que en C++, c'est particulierement lourd a faire. Meme en Java ou en .NET, l'api d'introspection est beaucoup plus limitee.

    Les caracteristiques hautement dynamiques de python le rendent vraiment adapte pour faire des trucs un peu tordus ou des trucs complexes. Par exemple, la programmation oriente Aspect est hyper facile a mettre en place en python.

    Mais faut pas croire que parce que il y a des super fonctionnalites, on doit les utiliser. Perso, je n'utilise que les fonctionnalites de base, je me sert de python comme d'un C++ leger et rapide, avec beaucoup de types de bases tres elabores et une large bibliotheque de fonctions.
  • [^] # Re: Complément

    Posté par  (site web personnel) . En réponse au journal Projets et licences. Évalué à 4.

    Oui, Xemacs/emacs.

    La version actuelle de gcc est issue d'un fork du gcc de la FSF, fork qui se nommait egcs. Dans ce cas, egcs a carrement remplace gcc, parce qu'il marchait beaucoup mieux. Cela dit, gcc n'est pas mort, les developpeurs se sont apercus de leur erreur et ont rejoint la nouvelle branche (au bout de deux ans si je me souviens bien).

    Pour XEmacs, je ne suis pas un expert mais des gens informes m'ont dit que XEmacs etait beaucoup mieux que emacs. Ca n'empeche pas emacs de continuer sa belle vie.

    Les forks sont lies soient a des problemes de personnes, soit a des visions differentes sur ce que doit etre le futur du logiciel (et en general un peu des deux). Les forks reussis sont tres tres rares. Le developpeur initial d'un projet a su amener le projet jusqu'a sa version actuelle garde beaucoup de pouvoir implicite et de respect de la part des autres developpeurs. Beaucoup de fork finissent dans l'oubli parce que le forkeur avait surtout une grande gueule et n'a pas reussi a amener l'ecosysteme minimal pour faire vivre un logiciel.

    Inkscape est un fork qui reussit bien.

    A mon avis, il ne faut pas avoir peur d'un fork parce que il a tres peu de chance de marcher. C'etait la peur no 1 de trolltech avant de mettre Qt en GPL et ils sont maintenant persuades que personne ne pourra developper Qt mieux qu'eux.
  • # le python c'est bon

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de Python 2.4. Évalué à 6.

    Bon, j'aime beaucoup ce langage. Simple, rapide a aprrendre, une lib de base tres tres complete permettant de faire a peu pres n'importe quoi.

    Sa faiblesse vient a mon avis de son caractere hautement dynamique, qui l'autorise malheureusement a laisser des exceptions dans des coins tres sournois, qui ne seront peut-tres jamais mise en evidence durant les tests mais finiront par se lever en prod dans des condeitions bizarres.

    Des outils comme pychecker ou peak aident a gerer ce genre de probleme mais je ne suis pas encore satisfait des limitations restantes.

    Je reve d'un module qui aurait la force du compilateur de ocaml pour extraire l'ensemble des contraintes appliquees a chaque variable et qui en retirerait des erreurs, un peu comme ce qu'on a a la compile en C++.