Obsidian a écrit 5318 commentaires

  • [^] # Re: Regexps ...

    Posté par . En réponse au message Extraire un bout de chaîne. Évalué à 3.

    Bravo pour avoir fait l'effort de chercher. C'est encore trop rare. Sinon, je conçois complètement que la syntaxe de sed est obscure quand on n'a pas l'habitude.

    Côté format des expressions régulières sous Unix :

    ^ en début d'expression représente le début de la ligne. Ca permet de se référer à ce début plutôt qu'à n'importe quelle position. Juste après un crochet ouvrant, il complémente l'ensemble, sinon, c'est un caractère ordinaire.
    $ en fin d'expression représente la fin de la ligne. Sinon, c'est un caractère ordinaire.

    La syntaxe de sed pour la commande s (substitute) est :

    commande/motif à retrouver/motif de remplacement/options

    Bien que n'importe quel caractère puisse servir de séparateur, le slash est le plus fréquement utilisé. Cependant, lorsqu'une expression contient elle aussi des slashes, il faut les alors échapper avec un contre-slash "\".

    Ensuite, certains méta-caractères des expressions régulières doivent toujours êtres échappés aussi pour fonctionner, sinon, ils sont pris pour des caractères normaux. Pour d'autres, c'est le contraire.

    Les opérateurs à échapper sont +,?,{,},(,) (ainsi que le slash si utilisé comme séparateur, et les chiffres, pour rappeler les motifs).
    Les opérateurs à ne pas échapper sont *,^,[,],.

    Les parenthèses, au niveau des regexps, servent à former des groupes sur lequels on peut appliquer des opérateurs (de l'algèbre classique, quoi), mais sed reconnaît également les groupes de premier niveau (ceux qui ne sont pas déjà eux-mêmes entre parenthèses), et permet de les rappeler ensuite avec 1,円 2,円 3,円 ...

    De là :

    ^.*\/\([0-9]\{8\}\)\/.*$ correspond en fait à ^.*/([0-9]{8})/.*$, ce qui signifie "début de ligne, puis n'importe quel groupe de caractère puis un slash (échappé), puis un groupe de huit chiffrs exactement, puis un slash, puis n'importe quel groupe de caractère à nouveau, enfin une fin de ligne".

    On met le groupe de huit chiffres entre parenthèses pour pouvoir le retrouver ensuite. Et on lui accole des slashes qui sont en fait ceux du chemin d'accès, de façon à retrouver nom un répertoire qui soit effectivement formés de huit chiffres, et non qui contienne huit chiffres.

    Cette expression reconnaît la ligne entière, le motif de substition va donc la remplacer entièrement. Le 1円 dans le deuxième champ indique que le nouveau motif est la date extraite uniquement. Tout le reste disparaît, donc.

    L'option g signifie greedy. Elle sert à lever une ambigüité des expressions régulières. Quand plusieurs motifs identiques se suivent et que l'on utilise *, l'analyseur ne sait pas s'il faut s'arrêter au premier motif reconnu, ou au contraire tous les lire jusqu'à ce que ça ne corresponde plus. Par défaut, il se cantonne au premier cas, le mode greedy le fait opter pour le second.

    Dans le cas de sed, c'est différent mais quand même similaire : sed stoppe l'opération une fois que la première substitution est faite. Avec g, il lira la ligne entière et substituera chaque fois que c'est possible.
  • [^] # Re: Que vont-ils faire ?

    Posté par . En réponse à la dépêche La Commission inflige à Microsoft une amende de 899 millions € pour non-respect de la décision de mars 2004. Évalué à 4.

    Ils n'ont qu'à utiliser des timbres fiscaux, comme tout le monde :-)
  • [^] # Re: Que vont-ils faire ?

    Posté par . En réponse à la dépêche La Commission inflige à Microsoft une amende de 899 millions € pour non-respect de la décision de mars 2004. Évalué à 9.

    La grosse arnaque serait qu'ils paient (encore) en licences. Comme çà, non seulement ça ne leur coûte rien mais en plus, plus lourdement ils sont condamnés et plus largement s'accroît leur monopole !

    C'est magique, le monde du logiciel ...
  • [^] # Re: Pb date

    Posté par . En réponse à la dépêche La Commission inflige à Microsoft une amende de 899 millions € pour non-respect de la décision de mars 2004. Évalué à 5.

    Pas toute jeune, surtout ...
  • [^] # Re: Pb date

    Posté par . En réponse à la dépêche La Commission inflige à Microsoft une amende de 899 millions € pour non-respect de la décision de mars 2004. Évalué à 10.

    Fausse excuse, on a toujours le choix dans la date ...
  • # Regexps ...

    Posté par . En réponse au message Extraire un bout de chaîne. Évalué à 4.

    Hello,

    Pour extraire une date formée d'exactement huit chiffres consécutifs, tu peux utiliser un truc du style :

    date=`echo $fic | sed -e "s/^.*\/\([0-9]\{8\}\)\/.*$/1円/g`

    Mais vérifie d'abord que tu n'as jamais plus de sept chiffres consécutifs autre part dans le chemin.

    A bientôt.
  • [^] # Re: Whaou!

    Posté par . En réponse au journal Microsoft->mode=MODE_OPENSOURCE;. Évalué à 2.

    Et maintenant, ils veulent nous faire croire que l'idée d'être interopérable est une idée à eux! Et le pire c'est que certains y croiront...

    Rien de nouveau sous le soleil, quoi.

    On ne change pas un busness model qui marche, aussi immoral soit-il, d'ailleurs.
  • [^] # Re: Un peu d'exagération ne fait pas de mal

    Posté par . En réponse au message envoyer un caractère sur le port USB. Évalué à 2.

    Pour paraphraser une autre personne, le français n'est visiblement pas la langue maternelle de l'auteur de cette entrée, c'est donc normal qu'il ait du mal à expliquer clairement son problème.

    Surtout qu'ici, ce n'est pas trivial. Il s'agit bien de relier un port USB d'un côté et un port série de l'autre. Il a l'appareil idoine, il lui faut maintenant le piloter en particulier. Heureusement, ça fait partie des classes de périphériques standard, et ça se résout en deux lignes de shell.
  • [^] # Re: Point de depart

    Posté par . En réponse au message envoyer un caractère sur le port USB. Évalué à 2.

    Si tu branches sur ton décodeur un contrôleur série RS-232 USB, celui-ci va être reconnu comme tel par le noyau. Dès lors, tu n'as pas besoin d'aller piloter directement le bus USB (heureusement), mais simplement d'aller écrire dans le fichier spécial concerné, exactement comme pour un port série ordinaire :

    /dev/ttyUSB0

    $ stty litout 9600 /dev/ttyUSB0
    $ echo "Bonjour" > /dev/ttyUSB0
  • [^] # Re: un conseil

    Posté par . En réponse au journal Solaris pour les newbz'. Évalué à 3.

    En gros, c'est un halt... c'est ça ?!

    Non, le halt, c'est justement ce qui va l'appeler. Ca ressemble plus à un SysRq+"e" ou "i", mais en fait c'est au-dessus. C'est écrit en clair, d'ailleurs : au moment de démonter les disques, il faut faire le ménage en virant tous les processus mais en faisant attention d'épargner les nettoyeurs eux-mêmes. Comme ce n'est (visiblement) pas trivial, il y a un outil dédié.

    Pour ceux à qui la commande Linux killall manquerait sous Solaris, jetez un oeil du côté de pkill (et pgrep).
  • [^] # Re: Point de depart

    Posté par . En réponse au message envoyer un caractère sur le port USB. Évalué à 3.

    Je crois surtout qu'il mélange Linux, Windows, le port USB et le port série.
  • # Un caractère ?

    Posté par . En réponse au message envoyer un caractère sur le port USB. Évalué à 4.

    Un caractère à destination de quel périphérique ? Le port USB ressemble plus à une carte réseau qu'à un port série ...

    Sous Linux, on utilise beaucoup la libusb. Si tu utilises une distribution basée sur RedHat, regarde si le package libusb-devel est installé. Il est livré avec toutes les documentations.

    /usr/share/doc/libusb-devel-0.1.12/html/examples.html
    /usr/share/doc/libusb-devel-0.1.12/html/api.html
  • [^] # Re: CONTACT !

    Posté par . En réponse au journal Au secours! Rendez moi ma tranquilité !. Évalué à 2.

    "Sybase 365" ???
  • [^] # Re: black list

    Posté par . En réponse au journal Au secours! Rendez moi ma tranquilité !. Évalué à 3.

    Oui, mais envoyer un e-mail ne coûte rien, envoyer un SMS, si.

    Bon, je suis sûr que soit ils beneficient de tarifs de gros, soient ils passent par des pays où il est encore gratuit d'envoyer des SMS (à une époque, je m'envoyais mes logos persos en passant par la Suède).

    Bon, je pense que ça ne va durer qu'un temps, parce que le téléphone mobile est beaucoup moins "anonyme" que ne l'est Internet, que ces petites bêtises ont un coût, et surtout parce qu'à terme, on pourra radiolocaliser ces géneurs (sauf plateformes téléinformatiques étrangères, bien sûr).
  • # Xorg plante

    Posté par . En réponse au message Demarrage en mode console. Évalué à 4.

    Tape runlevel pour voir si tu es bien resté en niveau cinq, mais à priori, il ne devrait pas y avoir de problème.

    Si startx fonctionne, c'est que le pépin est plus subtil, mais la prochaine fois que tu démarres, loggue-toi et vérifie le contenu de /var/log/Xorg.0.log et vérifie les dernières lignes, spécialement celles qui commencent par (EE)<:B> (les erreurs).

    Bon courage.
  • [^] # Re: Ferme ton compte avant de partir...

    Posté par . En réponse au message Marre de linux pourri. Évalué à 2.

    (fais gaffe, je crois que tu as marché dedans).
  • [^] # Re: héritage multiple en diamant

    Posté par . En réponse au message Autour de l'héritage multiple et des méthodes virtuelles.. Évalué à 2.

    Car dans ton cas de Camion+benne+arrimage, j'ai du mal à croire que Camion+benne se comporte toujours exactement comme un camion, comme une benne et comme l'arrimage.

    Ah bon, et pourquoi ?

    - Un camion-benne est un camion. Même chassis, même nécessité d'immatriculation, et il se conduit de la même façon par un conducteur de poids lourds (notion de compatibilité et d'interface, justement).

    - Un camion-benne est une benne puisqu'il s'agit d'une benne traditionnelle fixée à un chassis. Un camion-benne qui reste au parking a toutes les propriétés d'une benne ordinaire.

    Les quelques différences qui vont apparaître se gèrent alors avec la redéfinition des membres concernés. C'est tout l'intérêt de l'héritage objet, d'ailleurs : ne redéfinir que le diff. Dans l'exemple qui nous intéresse, "l'arrimage" était justement les modifications et ajouts nécessaires à la nouvelle classe (pas une troisième classe héritée).


    D'une manière générale, si tu vois l'intérêt d'implémenter de plusieurs interfaces à la fois, alors il y a un intérêt à dériver de plusieurs classes à la fois également. Ca ne se voit pas beaucoup dans la Javadoc parce qu'il ont écrit cela de manière élégante, à l'aide de "*Model" et compagnie qui présentent toujours la chose comme si elle était complètement abstraite.
  • [^] # Re: Ferme ton compte avant de partir...

    Posté par . En réponse au message Marre de linux pourri. Évalué à 3.

    Sur ce, je sors

    N'oublie pas de fermer ton compte avant de partir ! :-)

    (attends-moi, j'arrive ->[]).
  • [^] # Re: Ouch !

    Posté par . En réponse au message Marre de linux pourri. Évalué à 2.

    En plus, y a pas d'outils pour dépanner :

    $ regedit
    bash: regedit: command not found


    Génial. Si un logiciel plante, on ne peut même pas aller nettoyer la base de registre :-( Bon, en même temps, comme dirait pasBill, les utilisateurs normaux ne le font jamais ...
  • [^] # Re: Ferme ton compte avant de partir...

    Posté par . En réponse au message Marre de linux pourri. Évalué à 6.

    afin de prévenir les prochains qui pourraient être tantés ...

    Des canadiens, sans doute ...
  • [^] # Re: Ouch !

    Posté par . En réponse au message Marre de linux pourri. Évalué à 2.

    Bon, sinon, blague à part, t'es sérieux ou c'est un troll ? Parce que là t'es quand même en avance de quatre jours, quand même ... :-)
  • # Ouch !

    Posté par . En réponse au message Marre de linux pourri. Évalué à 4.

    Et ne plus, je n'ai même pas plus aller sur internet, car linux il ne veut même pas lancer mon CD-rom "AOL ADSL"

    Tiens, ça existe encore, AOL ? :-)


    Bon, sinon, trop gros, passera pas.
    Et puis, dès le lundi matin (14h00), c'est quand même costaud à avaler ...
  • [^] # Re: L'un de nous deux n'as pas bien compris quelque chose.

    Posté par . En réponse à la dépêche Le président français propose aux écoliers d'adopter un projet libre mort sur SourceForge. Évalué à 9.

    Rassure-moi, c'est bien du troisième degré, là ?
  • [^] # Re: DNS...

    Posté par . En réponse au message VirtualHost : ServerAlias ne fonctionne pas. Évalué à 3.

    J'ai l'impression que tu mélanges deux choses. Il y a probablement des rewrites légitimes dans ta config', surtout si tu ne l'as pas rédigée seule, mais s'il y a trop d'URL Rewrite dans une configuration Apache, c'est souvent le signe que quelque chose n'est pas maîtrisée. Elles servent en général à contourner un problème sans le résoudre ...

    Sinon, il faut faire la différence entre les virtual hosts ordinaires et les name-based virtual hosts. « ServerAlias » sert aux seconds.

    Vérifie si ton serveur fonctionne bien en mode name-based pour les adresses IP concernées, en regardant s'il existe une directive NameVirtualHost dans ton fichier de conf'.

    Ajouter « fr.projet.local » à ton /etc/hosts n'a aucun effet si tu le fais sur ton serveur. Sur ta machine cliente, ça lui permettra effectivement d'appeler la bonne adresse, et cela doit fonctionner si, encore une fois, ton site utilise les NBVH.
  • [^] # Re: Consistent

    Posté par . En réponse au message who affiche des utilisateurs déconnectés. Évalué à 2.

    C'est surtout que le terme existe également en français et qu'il ne signifie pas du tout la même chose ...