netsurfeur a écrit 682 commentaires

  • [^] # Re: Etonnant..

    Posté par  . En réponse au journal Redevance TV. Évalué à 5.

    Extrait de http://www.finances.gouv.fr/Tresor_public/bocp/bocp0507/icd0(...) :

    1.2. LE FAIT GÉNÉRATEUR
    Le fait générateur de la redevance est constitué par la détention d'un appareil récepteur de télévision ou
    d'un dispositif assimilé permettant la réception de la télévision, appréciée au 1er janvier de l'année au titre
    de laquelle la redevance audiovisuelle est due.

    Il est question de détention pas de possession. Or tu détiens une Freebox à ton domicile bien que tu n'en sois pas propriétaire; c'est donc à toi de payer :(
  • # mkdir -p

    Posté par  . En réponse au message Problème de création de directoires. Évalué à 2.

    La commande mkdir a une option -p qui permet de créer les répertoires intermédiaires si nécessaire.
    Tu as donc 2 solutions:
    1. méthode "bourrin"
    Tu remplaces l'appel de la fonction mkdir par un appel de system("mkdir ...").
    C'est lourd mais simple et ça marche.

    2. Tu récupères le source de la commande mkdir (ça sert aussi à ça l'open source) et tu t'en inspire pour intégrer la fonctionnalité équivalente à l'option -p à ton programme.
  • [^] # Re: Virgules ?

    Posté par  . En réponse à la dépêche Réunion-débat le 10 décembre à Nantes: Les enjeux du projet de loi DADVSI. Évalué à 5.

    une phrase de 11 lignes ça se lit pas tout seul.
    Tout à fait d'accord ! Une légère remise en forme m'a aidé à comprendre:

    Concrètement, le projet DADVSI verrouille juridiquement les dispositifs anti-copie sur tout support numérique:
    * ils seront créés, déployés et contrôlés selon des critères arbitraires par les seuls industriels du disque, du film et du logiciel propriétaire,
    * ils permettront de:
    - surveiller, contrôler les pratiques numériques de tout utilisateur
    - interdire à distance tout accès aux oeuvres et toute utilisation des matériels numériques et électroniques.

    Toute personne contournant, de manière directe ou indirecte, un dispositif sera présumée coupable du délit de contrefaçon (3 ans de prison et 300.000 euros d'amende).

    Cette sanction s'appliquera:
    * à toute personne 'non autorisée' qui communiquera de manière directe ou indirecte sur les dispositifs anti-copie (analyses et études de sécurité informatique, promotion de logiciels libres, etc),
    * au fait de développer, de présenter ou d'utiliser un logiciel libre ou un logiciel autre que celui choisi (et vendu) par l'éditeur. ...
  • [^] # Re: On pouvait déja le faire!

    Posté par  . En réponse au journal Flux MPEG2 bientôt accessible sur la FreeBox. Évalué à 4.

    voila le tour est joué? non?
    Non ! Pour deux raisons:
    1. Pas besoin de carte d'acquisition video sur le PC
    2. Récupération directe du flux numérique (pas de conversion numérique->analogique par la freebox puis analogique->numérique par la carte d'acquisition vidéo)
    Mais je ne fais que répéter ce qui a déjà été dit plus haut...
  • # "chez moi ça marche" !

    Posté par  . En réponse au message SSH, lancer des applications X distantes, sans X. Évalué à 2.

    Petit test avec xterm :
    ssh machine
    DISPLAY=:0 xterm

    et j'ai une fenêtre xterm sur la machine distante !

    Peux-tu donner plus de détails ?
    - commande(s) exacte(s) que tu lances
    - message(s) d'erreur
  • [^] # Re: Clamwin ? Avast ?

    Posté par  . En réponse à la dépêche Le GET rend votre Bureau Libre !. Évalué à 4.

    Le CD s'appelant Bureau Libre, on peut penser que le critère logiciel libre est le critère de sélection. Un logiciel gratuit mais pas libre n'a donc rien à faire sur ce CD.
    D'ailleurs, Avast, bien que gratuit comporte néanmoins des restrictions qui vont à l'encontre de l'esprit du libre:
    - enregistrement obligatoire après 60 jours
    - utilisation personnelle et non commerciale : impossible de l'utiliser sur son ordinateur personnel si celui-ci sert pour une activité commerciale ("Home Edition free of charge for home users who do not use their computer for profit")
    - interdiction d'utilisation dans le cadre d'une organisation même à but non lucratif ("Institutions (even non-commercial ones) are not allowed to use avast! Home Edition. ")
    Et ce ne sont que les restrictions visibles sur le site d'Avast. Il y a peut-être d'autres restrictions dans la licence qui n'apparaissent qu'à l'installation (je ne peut pas le vérifier, je n'ai pas Windows).

    Finalement, une bien belle illustration de la différence entre libre et gratuit.
  • [^] # Re: man limit

    Posté par  . En réponse au message Trop de fichiers ouverts .... Évalué à 3.

    Normalement, ça doit marcher.
    Par contre, les limites ne sont prises en compte qu'à la connexion.
    T'es tu déconnecté et reconnecté après avoir modifié /etc/security/limits.conf ?
  • [^] # Re: man limit

    Posté par  . En réponse au message Trop de fichiers ouverts .... Évalué à 3.

    Le "truc dans le genre" c'est ulimit

    ulimit -n pour avoir la limite du nombre max de fichiers ouverts.
    "man bash" et rechercher la description de la commande ulimit pour plus de détails.

    Si les limites par défaut ne sont pas suffisantes, il faut modifier le fichier /etc/security/limits.conf
  • [^] # Re: &

    Posté par  . En réponse au message Processus en arriere plan + formatage html. Évalué à 2.

    (echo "$var"; cat file) > filetmp
    mv filetmp file

    Ca évite une copie inutile du contenu de file dans filetmp
  • # Re: Comparaison de fichier - access.log de Squid

    Posté par  . En réponse au message Comparaison de fichier - access.log de Squid. Évalué à 2.

    Il suffit de mémoriser la ligne complète avant d'en extraire le nom de domaine:
    tail -n20 access.log | while read ligne
    do
            domaine=`echo $ligne | sed "s|.*http://\(www\.\)\?\([^/]*\).*|\2|"`
            if grep -q ^$domaine$ domains.txt
            then
                    echo $ligne | sed 's/HTTP.*$//'
            fi
    done
    
  • # Mauvaise syntaxe

    Posté par  . En réponse au message Problème avec les métacaractères. Évalué à 8.

    [A-CD] signifie "un caractère dans l'intervalle A-C ou D" et est équivalent à [A-D].
    Ce que tu veux correspond plutôt à :
    du -sch 0[A-B]* 0C[A-D]*
  • # Re: script de prise de personnalité

    Posté par  . En réponse au message script de prise de personnalité. Évalué à 4.

    Deux remarques:
    1. Linux ne tient pas compte du bit SUID sur les scripts.
    D'ailleurs, si le mode SUID était vraiment pris en compte, le script s'exécuterait avec les droits de root et ne demanderait aucun mot de passe !

    2. As-tu vraiment configuré le compte maven1 de la même façon sur les deux machines ?
    En particulier, as-tu défini le mot de passe avec la commande 'passwd maven1' (copier la ligne dans /etc/passwd ne suffit pas, le mot de passe est dans /etc/shadow) ?
  • [^] # Re: printf

    Posté par  . En réponse au message Formattage de requettes snmp, probleme de sed. Évalué à 2.

    Oublie cette réponse avec printf.
    Comme je n'ai pas ton équipement, j'ai cru qu'adresse MAC était traitée par le print dans awk ce qui n'est manifestement pas le cas. J'ai répondu plus bas pour le reformatage de l'adresse MAC avec sed.
    \n siginifie "newline" (passage à la ligne suivante). printf est utile pour faire des impressions plus sophistiquées que print (voir 'man awk')
  • [^] # Re: nouveau probleme

    Posté par  . En réponse au message Formattage de requettes snmp, probleme de sed. Évalué à 3.

    Pour que ça marche, il faut répéter le sed.
    Pour traiter tous les chiffres, tu peux utiliser la commande:

    echo :0:0:c:7:ac:1: | sed 's/:\([0-9a-f]\):/:0\1:/g' | sed 's/:\([0-9a-f]\):/:0\1:/g'

    qui donne comme résultat:

    :00:00:0c:07:ac:01:

    Il faut répéter la commande sed car chaque caractère en entrée n'est traité qu'une fois. Si on prend la chaine de caractères :0:1:, le premier traitement prend bien en compte les trois caractères :0: mais il ne reste ensuite que 1: qui ne peut pas être reconnu.
    Le premier sed va donc traiter au mieux un octet sur deux et le second les autres.
  • # printf

    Posté par  . En réponse au message Formattage de requettes snmp, probleme de sed. Évalué à 3.

    En utilisant printf au lieu de print tu peux te passer des sed qui ajoutent un 0.

    snmpwalk -c $community -v 1 monequip ipNetToMediaPhysAddress | awk -F "." '{printf "%02d.%02d.%02d.%02d:\n",$3,$4,$5,$6}' | sed 's/ = STRING: / :/g'

    PS: On peut utiliser un seul sed avec l'option -e:

    sed -e 's/ = STRING: / :/g' -e 's/:0:/:00:/g' -e 's/:1:/:01:/g' -e 's/:2:/:02:/g' -e 's/:3:/:03:/g'

    au lieu de

    sed 's/ = STRING: / :/g' | sed 's/:0:/:00:/g' | sed 's/:1:/:01:/g' | sed 's/:2:/:02:/g' | sed 's/:3:/:03:/g'
  • # En plusieurs lignes

    Posté par  . En réponse au message Majuscule arborescence et repertoire. Évalué à 6.


    find x -depth -mindepth 1 -type d | while read p
    do
    d=`dirname "$p"`
    f=`basename "$p" | tr [:lower:] [:upper:]`
    mv "$p" "$d/$f"
    done
  • [^] # Re: Euh Sony-BMG, c'est pas Sony! [HS]

    Posté par  . En réponse à la dépêche Du code de VLC dans le rootkit de Sony. Évalué à 9.

    Un peu comme Citroën pour PSA.
    Ta comparaison avec Sony-Ericsson est correcte mais pas celle avec Citroen/PSA. En effet, Citroen est une marque du groupe "PSA Peugeot Citroen" (au même titre que Peugeot), il n'y a pas (plus) de société Citroen.
  • [^] # Re: ...

    Posté par  . En réponse au message Limiter la mémoire vive utilisé par un processus. Évalué à 2.

    Si on change les limites dans un shell (avec la commande ulimit), tous les process lancés à partir de ce shell héritent des nouvelles limites.
    La seule limitation quand on n'est pas superuser est qu'on ne peut que réduire les limites.
    Il suffit donc de faire:
    (ulimit -v NNN; commande)
    pour que commande ait son espace mémoire virtuel limité à NNN.
  • # Un éditeur de texte ?

    Posté par  . En réponse au message fichier texte. Évalué à -2.

    Si tu veux faire de la saisie interactive, le plus simple est un éditeur de texte. Regardes du cé de gedit ou Kate.
  • [^] # Re: A éviter

    Posté par  . En réponse au message utiliser le même WInXP en émulation et dual boot. Évalué à 2.

    Il y a peut-être d'autres problèmes mais je ne les connais pas.
    Pour moi, l'intérêt de VMware est plus de pouvoir passer rapidement d'une configuration de Windows à une autre pour des tests (ex: W2K+IE5.5, W2K3+IE6,..) que le partage avec un Windows natif que j'ai rapidement cessé d'utiliser (et de maintenir !).

    J'ai aussi commencé avec un portable (PIII 650MHz, 256Mo RAM, 20Go disque) et l'espace disque n'a jamais été un problème.
    Il suffit d'être un peu organisé: n'installer dans le disque virtuel Windows que le système et les applications et mettre les données dans le système de fichiers Linux (accédé via samba) ou dans une partition séparée. On peut alors configurer un Windows+IE+MSoffice avec un disque virtuel de 2Go.
  • # A éviter

    Posté par  . En réponse au message utiliser le même WInXP en émulation et dual boot. Évalué à 2.

    Mon expérience avec VMware (mais c'est probablement le cas avec d'autres émulateurs) est qu'il ne faut pas partager le système entre le mode natif et le mode émulé.
    En effet, lorsque tu installes Windows en natif, il va installer les drivers correspondant à la configuration matérielle réelle de ta machine; par contre dans l'émulateur, Windows ne voit pas ce matériel mais celui émulé. Par exemple, dans VMware l'interface réseau émulée est une AMD PCnet qui est certainement différente de celle physiquement présente dans la machine.
    Donc quand tu bootes Windows dans l'émulateur, il reconnait du nouveau matériel charge les drivers correspondants et désactive le matériel "réel" qui n'est plus reconnu. Comme ces reconfigurations ne se font pas toujours sans douleur, il est possible que ton système ne soit plus utilisable.

    Si tu veux partager des données entre le mode natif et le mode émulé, il me semble plus judicieux de:
    - créer deux partitions pour WinXP en natif: une système et une de données
    - installer un deuxième système pour l'émulation et partager uniquement la partition de données

    J'utilise régulièrement VMware depuis 5 ans.
    J'ai deux utilisations principales:
    - MSoffice occasionnellement pour échanger des fichiers avec des correspondants n'ayant pas OOo (quoi qu'on en dise, la compatibilité n'est pas parfaite et je ne suis pas forcément en position d'imposer OOo)
    - tester la mise en page sous IE des sites Web que je développe sans utiliser une deuxième machine.
    (en plus avec VMware, je peux avoir plusieurs machines virtuelles ce qui permet de tester rapidement avec différentes versions de IE).

    Je n'ai jamais eu de problème de stabilité. Quant à la performance, j'ai commencé avec VMWare 2.x sur un Pentium 650 et les performances étaient déjà suffisantes pour faire tourner MSoffice ou naviguer sur Internet.
  • [^] # Re: gnuplot depuis C

    Posté par  . En réponse au message gnuplot depuis C. Évalué à 2.

    Je viens de tester. Le programme complet suivant fonctionne:
    #include <stdio.h>
    main()
    {
        FILE * f;
        // Ouverture du shell et lancement de gnuplot
        f = popen("gnuplot", "w");
        // exécution de la commande gnuplot
        fprintf(f, " plot \"toto.dat\" with lines\n");
        fflush(f);
        // terminer l'envoi de commandes et fermer gnuplot
        sleep(100);
        pclose(f);
    }
    
    Les différences avec l'embryon de programme que je t'avais donné sont:
      - ajout du \n dans à la fin de la commande plot
      - attente (sleep) avant le pclose pour avoir le temps de voir le tracé
  • [^] # Re: gnuplot depuis C

    Posté par  . En réponse au message gnuplot depuis C. Évalué à 2.

    Les réponses étaient dans les deux premiers messages (bien que très succintes):

    // Ouverture du shell et lancement de gnuplot
    f = popen("gnuplot", "w");
    // exécution de la commande gnuplot
    fprintf(f, " plot \"toto.dat\" with lines");
    fflush(f);
    // terminer l'envoi de commandes et fermer gnuplot
    pclose(f);


    Donc, 'man popen' est ton ami ;)
  • # tr

    Posté par  . En réponse au message supprimer le code hexa 0A dans une variable. Évalué à 3.

    Avec tr, tu peux enlever les blancs et les sauts de lignes avec:
    tr -d ' \n'
    ou
    tr -d '[:space:]'
    :space: représente tous les caractères d'espacement; tu retires donc les espaces, sauts de lignes et tabulations.
  • [^] # Re: plein de solutions

    Posté par  . En réponse au message routine xterm. Évalué à 3.

    Le "quelque chose (je sais pas ce que c'est une fonction, routine ou autre chose?...)" s'appelle un script (on dit souvent shell script en référence à l'interpréteur de commandes appelé "shell").
    Tu donnes le nom que tu veux à ce script (gcc1 ou build.sh ou autre) en évitant quand même d'utiliser le nom d'une commande existante.

    Toutes les informations pour créer un script sont données ci-dessus.
    Reprenons pas à pas:

    1. Créer le script build.sh
    Avec ton éditeur préféré, tu crées le fichier build.sh en y mettant les deux lignes:

    #!/bin/bash
    gcc $1.c -o $1 -I . -L . -lgraphdsu -lm -lrt -L /usr/X11R6/lib -lX11


    2. Tu rends ce fichier exécutable pour pouvoir l'utiliser comme un programme:
    chmod +x build.sh
    (chmod = "change mode" +x = "exécutable")

    3. Tu compiles ton programme projet.c en utilisant le script:
    ./build.sh projet

    4. Si tout s'est bien passé (sinon tu devrais voir des messages d'erreur), il ne te reste plus qu'à lancer ton programme
    ./projet.

    Avec ces indications, tu devrais pouvoir créer ton premier script ;)
    Si tu veux aller plus loin, tu peux consulter un tutoriel sur bash:
    http://abs.traduc.org/abs-3.4-fr/index.html
    Ca va beaucoup plus loin que ce qui t'est nécessaire pour ton premier script mais te permettra de découvrir la richesse de l'interpréteur de commandes.