Réseau CPC BIENDEBUTER.NET Crunchez vos adresses URL
|
Calculez la conso électrique de votre PC
|
Hébergez vos photos
+ Reply to Thread
Page 191 of 191 FirstFirst ... 91 141 181 183 184 185 186 187 188 189 190 191
Results 5,701 to 5,725 of 5725
  1. #5701
    Pour les besoins de mon boulot, je vais développer un logiciel desktop. En python (haters gonna hate).
    Ce qui est intéressant, c'est la bibliothèque que je vais utiliser : kivy.
    Ça fait un moment qu'elle me fait de l'oeil, mais je n'ai pas encore eu le temps de la tester. Ça sera l'occasion.
    Jusqu'à aujourd'hui, j'utilisais Qt (via le binding pyside). Qui est très bien (quoi que la documentation est un peu confuse, mais on s'y habitue, j'ai déjà vu pire), mais un peu trop overkill et verbeuse pour mon besoin (c'est vraiment des besoins très simple. Afficher une arborescence, et effectuer des actions diverses et variés sur les noeuds ou sur la racine. Cette arborescence est une abstraction de fichiers divers et variés sur le disque).

    Kivy me fait de l'oeil surtout pour son coté "pythonesque" et ses fichiers de descriptions des interfaces, qui ressemble à un mélange entre yaml et python. En ce moment, je commence aussi mon passage de python 2.7 -> 3.x. Un bon prétexte pour développer uniquement en vue de python3.
    La documentation, je l'ai pas mal survolé et ça m'a l'air clair et bourré d'exemples simple et un peu plus complexe (sans jamais être inutilement verbeux). Je verrais à l'utilisation réelle, mais la documentation est vraiment un gros point fort et est très bien. À priori, ça a la même qualité que les documentations requests/flask/jinja (et tout ce qui a été fait de près ou de loin par la poocoo-team).

    Qt propose un logiciel pour faire le descriptif de la gui, mais c'est vraiment très complexe. On s'y habitue, mais j'aime bien la simplicité des fichiers de descriptions de kivy.

    À noter que les logiciels fait à partir de kivy sont portable android. Dans mon cas, je m'en fous (c'est à destination windows/linux et peut-être mac, mais pour ce dernier, c'est loin d'être sur). Mais c'est toujours bon à savoir.


    Je ferais un retour après avoir fini mon logiciel, pour voir si mon à priori très positif sur cette bibliothèque est justifié.
    J'ai raison et vous avez tort.

  2. #5702
    Je vais en faire gueuler certains, mais niveau interface pour Python, vous devriez pouvoir utiliser le XAML via Iron Python. La doc est ultra fournie sur le XAML, et ça permet de développer des interfaces très soignées sans se prendre trop la tête comme avec QT.

  3. #5703
    MVVM et GUI descriptive (avec data binding) > all

    T'façon dans 5 ans on fera tous du web embarqué, alors faites comme moi partez sur AngularJS.

  4. #5704
    Exemple d'un pong (tirée d'ici pour kivy et tirée d'ici pour xaml). Ils ne sont pas équivalent, mais peu importe, c'est pas l'essentiel.
    D'un coté, j'ai un descriptif type:
    Code:
    #:kivy 1.0.9
    
    <PongBall>:
        size: 50, 50 
        canvas:
            Ellipse:
                pos: self.pos
                size: self.size          
    
    <PongPaddle>:
        size: 25, 200
        canvas:
            Rectangle:
                pos:self.pos
                size:self.size
    
    <PongGame>:
        ball: pong_ball
        player1: player_left
        player2: player_right
        
        canvas:
            Rectangle:
                pos: self.center_x-5, 0
                size: 10, self.height
        
        Label:
            font_size: 70  
            center_x: root.width / 4
            top: root.top - 50
            text: str(root.player1.score)
            
        Label:
            font_size: 70  
            center_x: root.width * 3 / 4
            top: root.top - 50
            text: str(root.player2.score)
        
        PongBall:
            id: pong_ball
            center: self.parent.center
            
        PongPaddle:
            id: player_left
            x: root.x
            center_y: root.center_y
            
        PongPaddle:
            id: player_right
            x: root.width-self.width
            center_y: root.center_y
    De l'autre :
    Code:
    <Window x:Class="PongGame.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=System"
        KeyDown="MainWindow_OnKeyDown"
        Title="MainWindow" Height="503" Width="824" ResizeMode="NoResize">
    <Canvas Width="800" Height="475" Name="MainCanvas" Background="#FFD1D1D1">
    
        <Rectangle Height="80" Width="20" Fill="Blue"
                   Canvas.Top="{Binding YPosition}"
    
                   Name="LeftPad"></Rectangle>
        <Rectangle Height="80" Width="20" Fill="Brown" 
                   Canvas.Top="{Binding YPosition}" 
                   Canvas.Left="780" 
                   Name="RightPad"></Rectangle>
        <Line X1="400" X2="400" Y2="500" Y1="0" StrokeThickness="2" Stroke="#FFDBB062"></Line>
        <Ellipse Width="20" Height="20" Canvas.Left="{Binding X}"
                 Canvas.Top="{Binding Y}" Name="Ball" DataContext="{Binding Path=ball}" StrokeThickness="0.1" Fill="#FFF84949">
    
        </Ellipse>
        <Label Canvas.Left="630" Canvas.Top="34" Content="{Binding Y}" Height="28" Name="label1" />
        <Label Canvas.Left="565" Canvas.Top="34" Content="Y of ball" Height="28" Name="label2" />
        <Label Canvas.Left="535" Canvas.Top="68" Content="Y of right pad" Height="28" Name="label3" />
        <Label Canvas.Left="630" Canvas.Top="68" Content="{Binding YPosition}" Height="28" Name="label4" />
        <Label Canvas.Left="638" Canvas.Top="128" Content="{Binding MovingRight}" Height="28" Name="label5" />
        <Label Canvas.Left="184" Canvas.Top="34" Content="{Binding X}" Height="28" Name="label6" />
        <Label Canvas.Left="119" Canvas.Top="34" Content="X of ball" Height="28" Name="label7" />
        <Label Canvas.Left="89" Canvas.Top="68" Content="X of right pad" Height="28" Name="label8" />
        <Label Canvas.Left="184" Canvas.Top="68" Content="{Binding YPosition}" Height="28" Name="label9" />
        <Label Canvas.Left="349" Canvas.Top="35" Content="{Binding LeftResult}" Height="auto" Name="label10" 
               FontSize="40" Foreground="Blue"/>
        <Label Canvas.Left="421" Canvas.Top="35" Content="{Binding RightResult}" Height="auto" Name="label11" 
               FontSize="40" Foreground="Brown"/>
    </Canvas>
    Je comprend bien le deuxième aussi, et il est lisible (si on met de coté l'indentation à l'ouest, mais c'est l'utilisateur qui a défini ça). Mais autant j'aime le xml pour les données et l'aspect sémantique (et à mon boulot, 90% du temps, je traite du xml pour les données et ça me convient très bien), autant ça me gave pour le descriptif/configuration et l'édition à la main. Y a des avantages (principalement tous ce qui gravite autour de xml), mais l'utilisabilité et l'édition du truc est primordial pour ce que je fais.

    Je passe aussi que je n'y connais rien à l'implémentation IronPython (ça s'apprend ceci dit) et je me méfie aussi de tout ce qui est techno Microsoft (pas pour des raisons idéologique, j'en ai rien à carrer, mais pour des raisons de développement). Je bosse sous environnement linux et c'est la principale cible. Les non-développeurs sont sous Windows, c'est pour cela que je cible aussi cette plate-forme. Avec xaml/IronPython, est-ce que ça ne risque pas d'être galère sous linux ?
    Et puis, très honnêtement, quand je regarde les exemples sur le net avec xaml, je ne vois pas ce que ça m'apporte de convivial par rapport à Qt. De première impression, c'est kif-kif. Je me plante peut-être ceci dit.
    J'ai raison et vous avez tort.

  5. #5705
    Le XAML que t'as posté est un peu dégueulasse aussi

  6. #5706
    Dites, j'ai pas mal de fichiers textes que j'aimerai mettre en page de manière très basique sous forme d'odt. Pour ça j'ai créé un petit script python:

    Code:
    file_src = "toto.txt"
    file_out = "toto.odt"
    
    # We initiate the html code with the font
    html = """<font face="Times New Roman">"""
    
    # We open the document
    lines = []
    with open(file_src, 'r') as sources:
    	lines = sources.readlines()
    
    #=== Title ===
    # We know that the first line is the title
    title = lines[0]
    
    # We add the title to the html code
    title_html = ""
    title_html += "<center>"
    title_html += "<b>" + title + "</b>"
    title_html += "</center><br /><br />"
    
    html += title_html
    
    
    #=== Text ===
    for i in range(1, len(lines)):
    	# We add the current line to the html code
    	line = lines[i]
    	line_html = ""
    	line_html += """<p align="justify">"""
    	line_html += line
    	line_html += "</p>"
    
    	html += line_html
    
    #=== We close the font
    html += "</font>"
    
    #=== Document writing===
    # We create the document
    doc = QtGui.QTextDocument()
    doc.setHtml(html)
    
    
    
    # We save the QTextDocument as an ODT file
    writer = QtGui.QTextDocumentWriter()
    writer.setFormat(writer.supportedDocumentFormats()[1])
    writer.setFileName(file_out)
    writer.write(doc)
    Grossomodo, je crée un QTextDocument à partir d'HTML, et je sauves en odt (j'ai fait ça à partir d'un script trouvé sur stackoverflow).

    Ça fonctionne très bien, je peux ouvrir mon document avec libre office, mais ensuite, quand je veux ajouter la numérotation des pages via docutils j'obtiens les erreurs suivantes:

    Code:
    $: rst2odt2 --custom-odt-footer="Page %p% of %P%" toto.odt toto2.odt
    toto.odt:1: (WARNING/2) Inline interpreted text or phrase reference start-string without end-string.
    toto.odt:1: (WARNING/2) Inline emphasis start-string without end-string.
    toto2.odt est bien créé, mais impossible de le lire. Est-ce que j'ai mal créé mon odt à la base, ou bien c'est l'utilitaire de docutils qui a du mal avec certains fichiers odt-? Je n'utilise jamais libreoffice (je l'ai installé pour l'occasion), du coup je suis un peu perdu.

  7. #5707
    Il me semble que LibreOffice sait faire ça directement dans un script sans passer par Python.
    une balle, un imp (Newstuff #455, MAYhem 2013, Edge, Doom retro, DoomeD again)
    Canard zizique : ?, , Φ, , € ¤ , PL, , , , , , 💩, , 🎮, 🎸 𝄢 🎹, 🎼, , , blues, BO, , 👅, 👄, 🎻, 2, 80, 🎹, , , funk, fusion, 🎸, , 🏭, 🗻, 🎷, 🌴, 🍔, 💀 , noise, pop, , , $ $, , et ⚑, soul, , 🍄, (allez là si vous ne voyez pas les miquets)

  8. #5708
    Ah merci, je vais chercher ça

  9. #5709
    C’est dans ure, il me semble.
    une balle, un imp (Newstuff #455, MAYhem 2013, Edge, Doom retro, DoomeD again)
    Canard zizique : ?, , Φ, , € ¤ , PL, , , , , , 💩, , 🎮, 🎸 𝄢 🎹, 🎼, , , blues, BO, , 👅, 👄, 🎻, 2, 80, 🎹, , , funk, fusion, 🎸, , 🏭, 🗻, 🎷, 🌴, 🍔, 💀 , noise, pop, , , $ $, , et ⚑, soul, , 🍄, (allez là si vous ne voyez pas les miquets)

  10. #5710
    Profil Steam - Déteste le Java et les épinards

  11. #5711
    Comme c'est trivial pourtant

  12. #5712
    Quote Originally Posted by Tomaka17 View Post
    Je vois pas ce qu'il dit de mal, cela me semble juste assez franc et directe... Mais on sait tous, je crois que Linus est comme ça non ?
    Quote Originally Posted by Baalim View Post
    C'est quoi cette signature contrefaite ?
    Quote Originally Posted by Gordor View Post
    Vu ce que je trimballe je conseille a personne une nuit avec moi ...

  13. #5713
    Mais non, Linus il a dit qu'il fallait pas faire de C++ parce qu'avec le C, on peut prévoir l'output du compilo!
    It's the moped lads, they like to think they're bad
    It's the moped lads, if you hit 'em they'll tell their dads

  14. #5714
    Quote Originally Posted by deathdigger View Post
    Je lui ai proposé de passer ici d'ailleurs, s'il avait des questions. Par contre, les langages comme le R ne sont pas très répandus en dehors de votre domaine spécifique
    Et je te remercie sincèrement ( si ce n'était pas un guet apens ! )

    Alors là je sèche un peu sur la solution d'un petit problème.

    J'ai trois variables, (var1, var2,var3) eux même découpés en deux autres variables qui est la date du début et la date de fin.

    Mon but c'est de créer une durée totale en prenant en compte les chevauchements de durée s'il y a chevauchement de durée ...

    ( genre pour une observation : var1 : 1998-2011 et var2 2000-2014; Ben là j'ai envie que ça fasse comme totale 16 ans et non 27 ans. ).
    Je bosse sur SAS, si quelqu'un est expert en expertise de programmation là dessus... ! Sinon je veux bien le principe général s'il existe...

  15. #5715
    Quote Originally Posted by Molina View Post
    Et je te remercie sincèrement ( si ce n'était pas un guet apens ! )

    Alors là je sèche un peu sur la solution d'un petit problème.

    J'ai trois variables, (var1, var2,var3) eux même découpés en deux autres variables qui est la date du début et la date de fin.

    Mon but c'est de créer une durée totale en prenant en compte les chevauchements de durée s'il y a chevauchement de durée ...

    ( genre pour une observation : var1 : 1998-2011 et var2 2000-2014; Ben là j'ai envie que ça fasse comme totale 16 ans et non 27 ans. ).
    Je bosse sur SAS, si quelqu'un est expert en expertise de programmation là dessus... ! Sinon je veux bien le principe général s'il existe...
    Perso j'utilise R mais je pense que tu devrais utiliser quelques choses comme range + une liste :
    => avec range tu découpes tes périodes en année et tu stock ces années dans une liste si elles n'y sont pas déjà
    => tu prends la taille de la liste = nombre d'année et tu la retournes à l'user car c'est ce que tu veux si j'ai bien compris non ?

    N'hésite pas à me dire si j'ai mal cerné le problème en tout cas c'est intéressant
    Quote Originally Posted by Baalim View Post
    C'est quoi cette signature contrefaite ?
    Quote Originally Posted by Gordor View Post
    Vu ce que je trimballe je conseille a personne une nuit avec moi ...

  16. #5716
    Quote Originally Posted by Molina View Post
    J'ai trois variables, (var1, var2,var3) eux même découpés en deux autres variables qui est la date du début et la date de fin.

    Mon but c'est de créer une durée totale en prenant en compte les chevauchements de durée s'il y a chevauchement de durée ...
    Le plus simple, ça doit être de trier les dates de début et les dates de fin. Par exemple, tu peux faire des couples (date, delta) ou delta vaut +1 pour une date de début et -1 pour une date de fin, tout mettre dans la même liste/tableau et trier en fonction des dates :
    [(1998, +1), (2000, +1), (2011, -1), (2014, -1)]

    Ensuite tu parcours la liste triée dans l'ordre, avec une variable height qui part de zéro, et qui accumule la case delta de chaque élément de la liste. Ça représente le nombre d'intervalles superposés sur la plage de dates que tu parcours.
    Ici height vaudra successivement 0 (avant 1998), 1 (entre 1998 et 2000), 2 (entre 2000 et 2011), 1 (entre 2011 et 2014), 0 (après 2014).
    Quand height vaut 0, c'est que l'intervalle de dates que tu es en train de parcourir n'est pas dans l'union, et quand il est >0 c'est qu'il est contenu par au moins un de tes intervalles.
    Du coup tu n'as plus qu'à cumuler les durées dans une autre variable lorsque height>0.

  17. #5717
    Quote Originally Posted by ook4mi View Post
    Perso j'utilise R mais je pense que tu devrais utiliser quelques choses comme range + une liste :
    => avec range tu découpes tes périodes en année et tu stock ces années dans une liste si elles n'y sont pas déjà
    => tu prends la taille de la liste = nombre d'année et tu la retournes à l'user car c'est ce que tu veux si j'ai bien compris non ?

    N'hésite pas à me dire si j'ai mal cerné le problème en tout cas c'est intéressant
    Erf, désolé je me suis mal exprimé (la bonne nouvelle, c'est que cpc n'est pas bloqué au boulot donc je peux être plus généreux en information )

    En fait j'ai six variables complètes : Var1début, Var1fin,Var2début, Var2fin, Var3début, Var3fin qui correspondent à la date du début et fin de traitement (pour 3 traitements). Le but du jeu c'est de savoir la durée totale de thérapeutiques quelque soit le traitement pris (enfin moi je m'en fous, mais ma tutrice voulait l'info... )

    Le truc, c'est que s'il n'y a pas de chevauchement de date, c'est assez facile, je somme les durées des traitements, et hop c'est fini. Sauf que :
    1° C'est le bordel cosmique il n'y a pas de suite logique à la prise de ces traitements.
    2 Je ne sais pas s'il y a des chevauchements. Et s'il y a des chevauchements ça me faussera positivement ma durée totale...


    Avec un beau dessin

    J'essaye de trouver une solution "mathématique", mais bon je dois avouer qu'après une nuit blanche dans les bouges de paris, c'est hard !

    ---------- Post added at 10h41 ---------- Previous post was at 10h32 ----------

    Quote Originally Posted by Møgluglu View Post
    Le plus simple, ça doit être de trier les dates de début et les dates de fin. Par exemple, tu peux faire des couples (date, delta) ou delta vaut +1 pour une date de début et -1 pour une date de fin, tout mettre dans la même liste/tableau et trier en fonction des dates :
    [(1998, +1), (2000, +1), (2011, -1), (2014, -1)]

    Ensuite tu parcours la liste triée dans l'ordre, avec une variable height qui part de zéro, et qui accumule la case delta de chaque élément de la liste. Ça représente le nombre d'intervalles superposés sur la plage de dates que tu parcours.
    Ici height vaudra successivement 0 (avant 1998), 1 (entre 1998 et 2000), 2 (entre 2000 et 2011), 1 (entre 2011 et 2014), 0 (après 2014).
    Quand height vaut 0, c'est que l'intervalle de dates que tu es en train de parcourir n'est pas dans l'union, et quand il est >0 c'est qu'il est contenu par au moins un de tes intervalles.
    Du coup tu n'as plus qu'à cumuler les durées dans une autre variable lorsque height>0.
    Je comprends le principe ! Merci. J'vais essayer de mettre ça en application. Je te dis ça ce soir

  18. #5718
    Quote Originally Posted by Molina View Post
    Erf, désolé je me suis mal exprimé (la bonne nouvelle, c'est que cpc n'est pas bloqué au boulot donc je peux être plus généreux en information )

    En fait j'ai six variables complètes : Var1début, Var1fin,Var2début, Var2fin, Var3début, Var3fin qui correspondent à la date du début et fin de traitement (pour 3 traitements). Le but du jeu c'est de savoir la durée totale de thérapeutiques quelque soit le traitement pris (enfin moi je m'en fous, mais ma tutrice voulait l'info... )

    Le truc, c'est que s'il n'y a pas de chevauchement de date, c'est assez facile, je somme les durées des traitements, et hop c'est fini. Sauf que :
    1° C'est le bordel cosmique il n'y a pas de suite logique à la prise de ces traitements.
    2 Je ne sais pas s'il y a des chevauchements. Et s'il y a des chevauchements ça me faussera positivement ma durée totale...
    http://blog.developpez.com/media/Int...ing_packed.jpg

    Avec un beau dessin

    J'essaye de trouver une solution "mathématique", mais bon je dois avouer qu'après une nuit blanche dans les bouges de paris, c'est hard !
    Oula cela se complique et je serais tenter de dire qu'un script qui prend la liste et imprime les différentes "suite" possible en reprenant mon idée précédente et ajoutant un bout de code qui test si la valeur à n est égal à la valeur -1 de n+1 pour voir si les années se suivent si oui, on continue à parcourir la liste sinon on imprime la durée de ce traitement et on vide la variable qui a la durée traitement + on continue à parcourir la liste...

    Tu en penses quoi ? Ou j'ai une idée de merde ?
    Quote Originally Posted by Baalim View Post
    C'est quoi cette signature contrefaite ?
    Quote Originally Posted by Gordor View Post
    Vu ce que je trimballe je conseille a personne une nuit avec moi ...

  19. #5719
    Solutions idiotes:

    Tu fais un tableau de dates de début triées par ordre chronologique.
    Tu fais un tableau de dates de fin triées de même.

    Tu utilises un algorithme itératif qui calcule la durée de chaque traitement et ne compte qu'une seule fois les durées spannées par d'autres traitements. Comme ça, tu gères les trous.

    alternativement, tu fais dernière date fin - première date début, et tu déduis la longueur des trous de traitement qu'il te reste à caractériser.

  20. #5720
    Et pourquoi tout simplement ne pas déterminer la date de début min et date fin max de tes trois traitements puis faire

    faire DatefinMax - DateDebutMin ?

  21. #5721
    Quote Originally Posted by JosephOrdure View Post
    Et pourquoi tout simplement ne pas déterminer la date de début min et date fin max de tes trois traitements puis faire

    faire DatefinMax - DateDebutMin ?
    Il faudra faire gaffe qu'il n'y a pas de "trou" dans ces périodes =$
    Quote Originally Posted by Baalim View Post
    C'est quoi cette signature contrefaite ?
    Quote Originally Posted by Gordor View Post
    Vu ce que je trimballe je conseille a personne une nuit avec moi ...

  22. #5722
    En R, j'utiliserais la fonction unique qui supprime les éléments dupliqués dans un vecteur :

    Code:
    #créations des vecteurs contenant les années
    > v1 <- c(1998:2011)
    > v2 <- c(2000:2014)
    > c(v1,v2)  #concaténation de deux vecteurs
     [1] 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014
    > unique(c(v1,v2)) #vire les duplicats
     [1] 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014
    > length(unique(c(v1,v2))) #compte le nombre d'années
    [1] 17
    >

  23. #5723
    Quote Originally Posted by Came Yon View Post
    En R, j'utiliserais la fonction unique qui supprime les éléments dupliqués dans un vecteur :

    Code:
    #créations des vecteurs contenant les années
    > v1 <- c(1998:2011)
    > v2 <- c(2000:2014)
    > c(v1,v2)  #concaténation de deux vecteurs
     [1] 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014
    > unique(c(v1,v2)) #vire les duplicats
     [1] 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014
    > length(unique(c(v1,v2))) #compte le nombre d'années
    [1] 17
    >
    je suis pas le seul à faire du R !

    Quote Originally Posted by Molina View Post
    Je bosse sur SAS, si quelqu'un est expert en expertise de programmation là dessus... ! Sinon je veux bien le principe général s'il existe...
    Si tu sais lui faire en SAS, je crois qu'il serait très heureux... Désolé perso je connais pas SAS =$
    Quote Originally Posted by Baalim View Post
    C'est quoi cette signature contrefaite ?
    Quote Originally Posted by Gordor View Post
    Vu ce que je trimballe je conseille a personne une nuit avec moi ...

  24. #5724
    Il doit exister des fonctions équivalentes, mais j'avais jamais entendu parler de SAS jusqu'à aujourd'hui.

  25. #5725
    Nouvelle du front:
    Vous allez rire

    J'ai fouiné mes données, et en fait, je suis incapable d'avoir une date de fin... parce que le questionnaire est tout pourri et mal ficelé. parce que personne n'a pensé qu'un patient pouvait prendre un médoc pendant plus de 10 ans.... Or la moitié le font, et je suis bien avancé de savoir qu'ils l'ont pris pendant plus de 10 ans.

    Bon par contre, j'vais quand même essayer de résoudre ce menu problème, ça pourra toujours me servir dans l'avenir. Je vous remercie tous pour vos réponses

    ---------- Post added at 18h31 ---------- Previous post was at 18h22 ----------

    Quote Originally Posted by ook4mi View Post
    je suis pas le seul à faire du R !
    Tu n'es pas le seul à être dans un labo de pauvre, ça non

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts