Taurre a écrit 68 commentaires

  • [^] # Re: Au travail les vaches à lait !

    Posté par  . En réponse au journal Quadrature is dying. Évalué à 8.

    Si tu utilise du logiciel libre, tu code, documente ou tu peux payer, il en va te ton devoir moral d'utilisateur.

    Désolé, mais cela ne correspond pas à ma vision des choses. Le fait qu'un individu partage quelque chose avec toi n'implique pas que tu lui dois quelque chose, même sur le plan moral. S'il a pris la décision de partager, c'est logiquement qu'il a déjà un motif derrière qui lui suffit.

    J'aime pour ma part aider les débutants et moins débutants en informatique, tout spécialement en C, ce n'est pas pour autant que j'attends quelque chose en retour ni que je considère que ces personnes ont une quelconque dette envers moi. Je prends plaisir à le faire, c'est tout.

    Après, je ne dis bien entendu pas que le financement de projets sans but lucratif est inutile ni qu'il n'est pas bon de rappeller leurs existences au public de manière régulière ni qu'il est mauvais de réaliser des campagnes de dons. Je m'oppose simplement aux discours moralisateurs.

  • # Au travail les vaches à lait !

    Posté par  . En réponse au journal Quadrature is dying. Évalué à 10.

    Salut,

    En lisant le message j'ai juste l'impression de lire « bande de vaches à lait, vous ne pouvez pas faire votre boulot » ? Je peux comprendre la frustration de cet homme en voyant son association couler par manque de dons, mais ce n'est clairement pas une raison pour dénigrer les gens qui n'ont pas souhaités faire un don ou qui n'ont pas eu vent des activités de l'association. Si chaque responsable d'une ASBL/Fondation/ONG/Agence de l'ONU/etc devait faire pareil, on en finirait plus avec les messages d'insultes…

  • [^] # Re: 150k€

    Posté par  . En réponse au journal Quadrature is dying. Évalué à 8.

    Salut,

    Il me semble que gnumdk critiques le nombre de salariés et non l'estimation du coût de ceux-ci.

  • [^] # Re: Pour mieux comprendre le traité transatlantique

    Posté par  . En réponse au journal Pros - Cons TTIP ?. Évalué à 10.

    Salut,

    _PhiX_ a écrit:

    Le traité transatlantique, parachèvement du plan Marshall et de la construction européenne, vise à créer une zone de libre-échange UE-USA, dans laquelle les USA imposerait leur droit et leur normes dans tous les domaines.

    Heu… Non. Le traité transatlantique, parachèvement de l'idéologie néolibérale, vise à créer une zone de libre échange entre l'Union européenne et les États-Unis dans laquelle les entreprises imposeront leurs intérêts aux signataires dudit traité.

  • # Et la clef usb ?

    Posté par  . En réponse au journal World Backup Day. Évalué à 0.

    Salut,

    Pour ma part, je produis une simple archive tar de temps à autres que je stocke sur deux clés usb (une qui reste chez moi et une qui est toujours avec moi). Également, mais plus rarement, je sauvegarde le tout sur CD ou DVD (oui, je n'ai pas énormément de données).

    rakoo a écrit:

    tout ça c'est bien beau, mais si mon appart brûle, je l'ai dans l'os.

    Tu peux toujours conserver le plus important sur une clé usb que tu gardes toujours avec toi.

  • [^] # Re: Organisation d'un projet écrit en C ?

    Posté par  . En réponse au journal Quelques langages de programmation pour GNOME. Évalué à 2.

    Merci pour vos réponses, je vais regarder tout cela de plus près. ;)

  • # Organisation d'un projet écrit en C ?

    Posté par  . En réponse au journal Quelques langages de programmation pour GNOME. Évalué à 2. Dernière modification le 15 décembre 2013 à 15:01.

    Salut,

    Merci pour cette petite dépêche.
    J'aurais une question étant donné que l'utilisation du C est plébiscitée : comment organiser correctement un projet ? Je veux dire, la quantité d'objets à allouer peut vite devenir assez importante (et, en conséquence, la quantité de pointeurs) ce qui rend la gestion assez fastidieuse, notamment lorsqu'il s'agit de gérer les relations entre ceux-ci.

    Sinon, le lien pointant vers le dépôt git du projet GNOME ne fonctionne pas (celui amenant au fichier gtksourcesearchcontext.h), il produit une erreur 403.

  • [^] # Re: bah alors

    Posté par  . En réponse au journal Contre la phobie du root. Évalué à -2. Dernière modification le 17 novembre 2013 à 14:09.

    […] but at least they can't install drivers without my permission.

    Même pas. Si un type à un accès physique à une machine, ce ne sera pas très difficile pour lui de prendre le contrôle du système installé dessus (à supposer que cela l'intéresse). Sinon, c'est plus un troll qu'autre chose, le type n'étant pas fort malin s'il laisse le moyen d'accéder à son compte en banque sur son ordinateur portable…

  • [^] # Re: Et c'est sans compter sudo

    Posté par  . En réponse au journal Contre la phobie du root. Évalué à 2. Dernière modification le 17 novembre 2013 à 13:23.

    neil a écrit:

    Qu’il y ait un mot de passe ou pas, un script malveillant a juste à faire alias sudo=toobad; alias su=… pour choper le mot de passe à un moment ou à un autre.

    C'est pour cela qu'il est nécessaire de spécifier le chemin complet des commandes sensibles comme su ou sudo. ;)

  • [^] # Re: Sauvegardes ?

    Posté par  . En réponse au journal Contre la phobie du root. Évalué à 2.

    Gof a écrit:

    Les distributions bien comme il faut et qui sont passée à systemd n'ont plus de /usr/bin.

    Qu'est-ce que c'est « une distribution bien comme il faut » ? Sinon, dans un tel cas, la suppression de /bin est d'autant plus problématique…

    Gof a écrit:

    $ which ln
    /usr/bin/ln
    

    J'ai peut-être loupé quelque chose, mais tu n'avais pas dit que sur « une distribution bien comme il faut » il n'y avait plus de dossier /usr/bin ?

  • [^] # Re: Sauvegardes ?

    Posté par  . En réponse au journal Contre la phobie du root. Évalué à 5.

    Gof a écrit:

    Il te faut une demi journée pour faite ln -s /usr/bin /bin ? :-)

    $ whereis ln
    ln: /bin/ln
    
  • # Un peu trop alarmiste

    Posté par  . En réponse au journal La proche fin des mots de passe. Évalué à 0. Dernière modification le 10 octobre 2013 à 09:58.

    Salut,

    Je pense que cet article est un peu trop alarmiste. En effet, ce qui est expliqué n'est jamais qu'une extension de l'attaque par dictionnaire, recourant à des phrases plutôt qu'à des mots. Alors, certes, cela rends certains mots de passe vulnérables, mais cette technique à ses limites.

    1. la première est la taille de la base de données. Je suis curieux de voir une base de données reprenant l'ensemble des phrases stockées sur Wikipédia et le temps nécessaire pour la parcourir ne fût-ce qu'une fois ;
    2. la seconde est la notion de phrase elle-même. Qu'est-ce que l'on stocke dans la base de données ? Une suite de caractères commençant par une majuscule et finissant par un point ? Pour les chansons, on stocke les couplets, les phrases, les paragraphes ? Que fait-on des dialogues dans les livres ? Bref, il est nécessaire de fixer un critère afin savoir ce qui va être stocké et ce dernier limite fortement les mots de passe qui peuvent être découvert.

    Sinon, de mon côté, j'utilise des mots de passe générés aléatoirement pour les comptes triviaux et trois ou quatre mots de passe de mon invention pour les comptes sensibles. Les mots de passe aléatoires sont stockés sur mon disque et sont chiffrés suivant l'algorithme AES-256 à l'aide d'OpenSSL.

  • [^] # Re: Sans pointeurs de fonction

    Posté par  . En réponse au journal C(++) ?. Évalué à 2.

    Francesco a écrit:

    En quoi est-ce redondant ? En C++, le langage le fait pour nous, et c'est le pointeur this. En C, il faut le faire manuellement.

    Je veux dire par là que la référence vers la structure est utilisée deux fois : d'abord pour obtenir le champ souhaité, ensuite comme argument de la fonction appelée. En bref, cela donne par exemple ceci :

    s.open(&s, "www.linuxfr.org",443);

    s est utilisé deux fois.

    Francesco a écrit:

    Tout dépend de comment est fait la structure. Si dans la structure, tu copies tous les pointeurs de fonction, alors oui, il y a gaspillage de mémoire. Maintenant, si dans la structure, tu mets un pointeur vers une autre structure contenant l'ensemble des pointeurs de fonction, alors non, il n'y a pas de perte de place, car il y aura alors une seule structure de pointeurs par "classe" et chaque occurrence de la classe pointera sur cette structure.

    En effet, c'est une solution envisageable, mais le code sera nettement moins lisible.

    s.method->open(&s, "www.linuxfr.org",443);
    

    Francesco a écrit:

    L'intérêt ? Le polymorphisme. Chose que tu ne pourras pas avoir en appelant directement la fonction, puisque la "résolution" de la fonction se fait à la compilation et que le polymorphisme impose une résolution dynamique (i.e., durant l'exécution).

    Il est tout à fait possible d'utiliser le polymorphisme en C sans utiliser massivement les pointeurs de fonctions. En fait, ils ne sont nécessaire que pour les fonctions virtuelles. Pour reprendre ton exemple, en C, cela donne :

    #include <stdio.h>
    #include <stdlib.h>
    
    struct forme_geometrique {
        struct forme_geometrique_vtable *vtable;
    };
    
    struct forme_geometrique_vtable {
        float (*area)(void *);
    };
    
    struct carre {
        struct carre_vtable *vtable;
        float len;
    };
    
    struct carre_vtable {
        struct forme_geometrique_vtable super;
    };
    
    struct circle {
        struct circle_vtable *vtable;
        float radius;
    };
    
    struct circle_vtable {
        struct forme_geometrique_vtable super;
    };
    
    extern struct carre *carre_create(float);
    extern void carre_destroy(struct carre *);
    extern float carre_area(void *);
    extern struct circle *circle_create(float);
    extern void circle_destroy(struct circle *);
    extern float circle_area(void *);
    extern float forme_geometrique_area(void *);
    
    
    struct carre *
    carre_create(float len)
    {
        static struct carre_vtable vtable = { { &carre_area } };
        struct carre *self;
    
        self = malloc(sizeof *self);
        if (self == NULL) {
            return NULL;
        }
        self->vtable = &vtable;
        self->len = len;
        return self;
    }
    
    
    void
    carre_destroy(struct carre *self)
    {
        if (self != NULL) {
            free(self);
        }
    }
    
    
    float
    carre_area(void *p)
    {
        struct carre *self;
    
        self = p;
        return self->len * self->len;
    }
    
    
    struct circle *
    circle_create(float radius)
    {
        static struct circle_vtable vtable = { { &circle_area } };
        struct circle *self;
    
        self = malloc(sizeof *self);
        if (self == NULL) {
            return NULL;
        }
        self->vtable = &vtable;
        self->radius = radius;
        return self;
    }
    
    
    void
    circle_destroy(struct circle *self)
    {
        if (self != NULL) {
            free(self);
        }
    }
    
    
    float
    circle_area(void *p)
    {
        struct circle *self;
        float const pi = 3.14F;
    
        self = p;
        return self->radius * self->radius * pi;
    }
    
    
    float
    forme_geometrique_area(void *p)
    {
        struct forme_geometrique *self;
    
        self = p;
        return self->vtable->area(p);
    }
    
    
    int
    main(void)
    {
        struct carre *carre;
        struct circle *circle;
    
        carre = carre_create(4);
        circle = circle_create(3.5);
        if (carre == NULL || circle == NULL) {
            return EXIT_FAILURE;
        }
        printf("%f\n", forme_geometrique_area(carre));
        printf("%f\n", forme_geometrique_area(circle));
        carre_destroy(carre);
        circle_destroy(circle);
        return 0;
    }
  • # Sans pointeurs de fonction

    Posté par  . En réponse au journal C(++) ?. Évalué à 3. Dernière modification le 29 septembre 2013 à 21:27.

    Salut,

    Je ne t'aiderais pas pour ce qui est du choix entre le C et le C++ ne connaissant pas suffisamment le second ; par contre, si tu choisis le C, je te déconseille d'utiliser des pointeurs de fonctions dans l'objectif de simuler de la POO. D'une part le code devient redondant puisque tu dois passer une référence vers la structure à la fonction appelée et, d'autre part, tu vas gaspiller de la mémoire puisque chaque structure contiendra x pointeurs de fonctions.

  • [^] # Re: Agencement au sein du bidon ?

    Posté par  . En réponse à la dépêche Emmabuntüs 2 (12.04). Évalué à 3. Dernière modification le 11 septembre 2013 à 22:04.

    Je me réponds à moi-même : il y a une Howto sur leur site officiel. J'adore ! :D

  • # Agencement au sein du bidon ?

    Posté par  . En réponse à la dépêche Emmabuntüs 2 (12.04). Évalué à 1.

    Salut,

    Je trouve ce projet très bien ficelé, il y a peut-être quelques logiciels en trop car certains occupent la même fonction (firefox et chromium, clementine et rhythmbox, kaffeine et VLC, etc), m'enfin ce n'est pas forcément un mal.

    Sinon, il y a juste une chose que je regrette dans cette dépêche : c'est qu'il n'est pas expliqué comment les composants sont répartis et fixé dans le fameux bidon. J'avoue que cela m'intrigue…

  • [^] # Re: en France

    Posté par  . En réponse au journal Armée Suisse, modèle ou pas ?. Évalué à 3. Dernière modification le 14 août 2013 à 20:44.

    maclag a écrit:

    J'ai quand même du mal à croire que "inoffensif" couvre les visites de vaisseaux de guerre.

    Pourtant, c'est bien le cas. Toutefois, c'est bien évidemment encadré. Le terme « passage » est défini comme la traversée de la mer territoriale de manière continue et rapide (pas question de jeter l'encre, donc). L'arrêt et le mouillage sont toutefois permis s'ils constituent des incidents ordinaires de navigation ou s'imposent de part une situation de détresse. Enfin, le passage n'est plus considéré comme inoffensif s'il y a menace ou emploi de la force. Or, si un cuirassé longe les côtes d'un peu trop près, je doute que cela soit vu comme un passage inoffensif.

    EDIT: À noter que chaque État peut aussi imposer aux navires d'emprunter uniquement certaines voies de circulations.

  • [^] # Re: en France

    Posté par  . En réponse au journal Armée Suisse, modèle ou pas ?. Évalué à 0.

    Tu peux même être plus large que cela : n'importe quel État ayant adhéré à la convention de Montego Bay sur le droit de la mer peut traverser les eaux territoriales d'un autre État dans la mesure où le passage est inoffensif. Actuellement, ils sont visiblement 163 États à l'avoir ratifiée.

  • [^] # Re: Social engineering

    Posté par  . En réponse au journal Oui, mais si on oublie la réponse à sa question secrète ?. Évalué à 2.

    maclag a écrit :

    Par "simple", je veux dire que tu n'as pas besoin de fournir mille et une preuve que c'est bien toi au bout du fil.

    Ok, de ce côté, nous sommes bien d'accord.
    Toutefois, je pense tout de même qu'il est possible de demander une ou deux informations sans pour autant rendre la procédure longue ou fastidieuse. Aussi, si Yahoo était si soucieux de la facilité et de la rapidité de la procédure de récupération de compte, je pense qu'il aurait pris la peine de mettre en place un service client francophone (parce que bon, tout le monde ne sait pas se débrouiller avec une opératrice anglophone).

  • [^] # Re: Social engineering

    Posté par  . En réponse au journal Oui, mais si on oublie la réponse à sa question secrète ?. Évalué à 1. Dernière modification le 26 juillet 2013 à 20:33.

    maclag a écrit:

    Au contraire, je pense que Yahoo a des stats, et que ces stats leur disent qu'il vaut mieux que la manœuvre soit simple:

    Tu trouves que téléphoner à Dublin pour récupérer l'accès à son compte est une manœuvre simple ? Moi pas, même si je sais me débrouiller en anglais.

  • [^] # Re: Téléphone

    Posté par  . En réponse au journal Oui, mais si on oublie la réponse à sa question secrète ?. Évalué à 3.

    J'y ai pensé, mais cela me serait revenu plus cher qu'un appel vers Dublin. :p

  • [^] # Re: Spam

    Posté par  . En réponse au journal Oui, mais si on oublie la réponse à sa question secrète ?. Évalué à 1.

    Effectivement, je n'y ai pas pensé sur le moment même, mais c'est bien possible.

  • [^] # Re: Yahoo est pas vraiment sérieux

    Posté par  . En réponse au journal Oui, mais si on oublie la réponse à sa question secrète ?. Évalué à 0.

    Marotte a écrit:

    Je suppose qu'elle y a été un peu au juger, après tout quand tu as appelés tu étais sincère et tu voulais juste la solution pour récupérer le compte, tu as peut-être laissé passer quelques trucs :)

    Non non, je n'ai vraiment fourni aucune information si ce n'est le compte indisponible, l'adresse de secours et le fait que ma langue maternelle est le français. Bon, elle aurait peut-être eu des doutes si j'avais eu un accent russe, m'enfin en l'occurrence elle n'a pas eu d'autres informations.

    Marotte a écrit:

    Mais l'équilibre est dur pour Yahoo entre sécurité et satisfaction client… Si t'avais du passer par deux mois de paperasses et vingt coups de fil tu aurais aussi dénoncé grave sur Yahoo :)

    Effectivement, j'aurais également râler sur Yahoo si j'avais dû attendre deux mois pour retrouver un accès au compte, mais pas pour les mêmes motifs. :p
    Cependant, je pense qu'il y a quand même moyen de s'assurer un minimum de l'identité de la personne. Il y a un exemple d'informations demandées du côté de hotmail donné par ffx un peu plus bas qui me paraissent tout à fait pertinentes.

  • # apt-get puis aptitude ?!

    Posté par  . En réponse au journal Modification d'un paquet Debian. Évalué à 7. Dernière modification le 19 juin 2013 à 17:39.

    Salut,

    Merci pour ce petit mémo.
    Il y a juste une petite question qui me taraude :

    Etienne Bagnoud a écrit :

    $ apt-get source redhat-cluster
    # aptitude build-dep redhat-cluster
    
    

    Pourquoi passer de apt-get à aptitude alors que la commande build-dep est disponible via les deux programmes ?

  • [^] # Re: Et pendent ce temps chez Microsoft...

    Posté par  . En réponse à la dépêche C++11 : sur le fil. Évalué à 1. Dernière modification le 09 juin 2013 à 20:20.

    Raphael R a écrit :

    D'un autre coté que ça soit gcc et clang, le support de C99 n'est pas non plus complet

    J'aurais plutôt dit : « que ça soit gcc ou clang, le support de c11 est ridiculement rudimentaire ». À ce sujet, je suis toujours aussi admiratif devant le grand soucis de conformité qui anime ces deux projets…