benoar a écrit 4239 commentaires

  • # Un peu comme le Fujitsu 1645 ?

    Posté par  . En réponse au message Acer Aspire 5002WLMi et Linux?. Évalué à 1.

    J'ai installé une ubuntu breezy (la preview) ya 1 semaine sur un Fujitsu Amilo 1645 qui ressemblait un peu à ça (Turion, controlleur & carte vidéo SiS) et ça marchait plutot pas mal. Attention c'était avec un kernel 2.6.12.

    Pour X le driver est bien le sis, mais il doit pas apporter grand chose de plus que le vesa vu que comme toutes les autres cartes ya pas de specs trop publiques. J'ai eu quand même un "petit" problème avec la lecture DVD/Divx : ça rame. Le proc est pourtant à 30%, le DMA activé, le MTRR aussi .... bref, toutes les astuces trouvées sur google. Apparemment ça vient du fait que la carte utilise un bout de la RAM centrale comme mémoire. Bon j'ai essayé qu'avec Totem (utilisant GStreamer) mais je compte voir avec mplayer bientôt.

    La mise en veille (suspend to ram) doit pas marcher, pas essayé et pas trouvé grand chose dans les forums.

    Le reste des périph ça doit aller sauf le lecteur de carte (classique sur tous les portables), et la carte Wifi, ha ça c'est chiant (bon j'ai vu dans un forum que ça marchait avec ndiswrapper).

    Oublié de tester le graveur par contre.

    Voila, espérant que ton modèle ressemble un peu à ça, sinon ...
  • # Peut-etre...

    Posté par  . En réponse au message configuration dns. Évalué à 1.

    Je suis pas un pro de bind, mais je vois un petit problème :
    Tu donnes jamais l'ip de agiserv.ii5.ag.
    Quand tu écris @ IN A 192.168.0.90, le "@" est remplacé par le nom de la zone, soit "ii5.ag". Donc c'est l'ip de ii5.ag, mais pas d'agiserv.
    Pour ça tu rajoutes dans ii5.local:
    agiserv.ii5.ag IN A 192.168.0.90
    Et tu peux aussi faire des "alias" pour le mail & autre si c'est la même machine :
    mail IN CNAME agiserv

    Voila
  • # activité système ?

    Posté par  . En réponse au message activité processeur a 0%. Évalué à 4.

    Regarde l'activité système si tu n'a pas déjà regardé. Peut-être que ton afficheur de ressource proc n'en tient pas compte ? Utilise top.
    Ca peut venir d'une utilisation importante du swap.
  • [^] # Re: Demande à la FNAC

    Posté par  . En réponse à la dépêche La Détaxe a besoin de témoignages. Évalué à 4.

    Je me demande, si tu avais insisté et que tu t'étais fait jarter par les gorilles du magasin (supposition venue de ta remarque du "passage à l'acte"), si tu aurais pu porter plainte; et ce qu'aurait pu répondre la fnac .... "Vous comprenez, quelqu'un qui essaye de faire respecter les droits du consommateur, en plein milieu de notre magasin ! C'est inadmissible ..."
  • [^] # Re: Et si l'ordinateur était un produit comme un autre...

    Posté par  . En réponse à la dépêche La Détaxe a besoin de témoignages. Évalué à 6.

    Ça n'a strictement rien a voir. Logiciel != matériel et le plan comptable des boites est un bon exemple montrant que c'est différent.

    Bon, pour éviter les discussions de sourds qui risquent de suivre (comme d'hab), vu que certains trouvent cette distinction "débile", je dirais plutot :

    L'ordinateur on l'achète, il est à nous, on en fait ce qu'on veut, on en est propriétaire.
    Le logiciel vendu avec, on accepte une licence (toujours avec le problème de "et comment on lit la licence dans l'emballage sans l'ouvrir ?"), ce qui n'est pas pareil, le logiciel ne nous appartient pas.

    Peut-être que certains diront que cette nuance n'est pas valable non-plus, mais moi je la trouve déjà plus crédible... c'est juste mon avis, hein, pas celui d'un avocat.
  • [^] # Re: Patience !

    Posté par  . En réponse au journal Le libre, une cause perdue ?. Évalué à 2.

    Sinon tu peux prendre un bon shell comme zsh, ainsi, le premier tab liste les suites possible, puis les tabs suivants parcourent la liste de ces suites .... comme ca si lors du premier tab tu vois que c le 3e qui t'intéresse (celui avec pleins de caractères à la con), t'appuies 3 fois sur tab et ca roule ! Ok cette méthode est pas valable quand a 10000 fichiers qui matchent ....

    Bon, je suppose que ca existe avec d'autres shells, mais c'etait juste pour m'entrainer au lancer de troll.
  • [^] # Re: Merci à tous

    Posté par  . En réponse à la dépêche Torrentule : à la recherche des torrents librement téléchargeables. Évalué à 2.

    Bon j'ai réussi à faire exploser ton script avec plein de caractères bizarres... (avec de l'UTF-8 en plus). Le preg_match() ne s'y retrouve plus. Je me demande juste pourquoi tu utilise une fonction gérant les expressions régulières alors qu'a priori ton moteur n'est pas censé les gérer ... ? (ou alors j'ai loupé l'info sur la page ?) Un strstr(), ou meme un strpos() serait suffisant, je pense.
  • # Ce n'est pas le libre qui l'intéresse

    Posté par  . En réponse au journal Est-ce que je suis trop Linuxien?. Évalué à 2.

    [mode intégriste : on]
    Ca me désole de répondre ca, mais je ne pense pas que ce soit le libre qui l'intéresse, mais uniquement la practicité/beauté/rapidité/cout de ce que tu lui a présenté.
    Firefox est pratique, sans popup, etc ... donc ta copine l'aime bien. Lui a tu parlé du fait qu'il soit libre ? Surement, mais elle a du un peu s'en moquer.

    C'est vrai que je suis surement trop intégriste : la plupart de mes connaissances n'utilisent pas linux, et je ne cherche même pas à les convertir ! Je leur parle du libre, mais voyant leur réaction/intéret, je ne préfère pas continuer. J'ai peut-être tort, et beaucoup me diront que si seuls les gens qui s'intéressent vraiment à la liberté des logiciels utilisaient linux, on serait 10 fois moins qu'aujourd'hui. Mais d'un côté ça ne me génerait pas trop (oui, on serait toujours surement avec une UI pourrie et sans driver pour le 3/4 du matos ...).
    [mode intégriste : off]

    D'un autre coté, j'écris ce message avec Safari sous OSX. Vous pouvez me moinsser.
    Mais je suis dans un paradoxe permanent, où je ne sais jamais trop jusqu'où je peux aller dans ma quète de liberté, sans vraiment avoir envie de sacrifier mon confort ... et ça me tracasse souvent.
  • [^] # Re: Pour les étudiants soucieux des économies d'énergie

    Posté par  . En réponse au journal Économie d'énergie et émergence d'écologie. Évalué à 1.

    Oui enfin je parlais des ordis de l'université, donc majoritairement sous Windows ...
  • [^] # Re: Comprendre les log de shorewall

    Posté par  . En réponse au message Comprendre les log de shorewall. Évalué à 1.

    Je pense pas qu'urpmi utilise le broadcast. Il faut bien voir que ca provient d'un prog qui (a priori) fait une requete sur ts les ordis du réseau, une recherche sur ton réseau local, quoi.

    Le dernier recourt que je vois c'est un "tcpdump host 255.255.255.255" qui tourne, et de tester différents programme, et dès que ca bouge ... t'as gagné !
  • # Pour les étudiants soucieux des économies d'énergie

    Posté par  . En réponse au journal Économie d'énergie et émergence d'écologie. Évalué à 4.

    Greenpeace a lancé une campage Solar Generation http://www.greenpeace.fr/solargeneration/(...)
    Le but est de faire participer les étudiants aux économies d'énergie, dans leur campus, avec l'opération Campus vert.
    J'ai des potes qui ont contacté greenpeace pour créer une "antenne" dans notre campus (La Rochelle), et ils sont très ouverts quant à la création de groupes d'action dans les campus de france. Ils prévoient d'effectuer différentes études & actions pour favoriser l'économie d'énergie.

    Un truc tout bête si vous êtes en info (ou dans un endroit ou ya pas mal d'ordis) c'est d'éteindre tous les ordis chaque soir, et surtout avant le week-end. Les notres étaient allumés 24/24 meme le week-end... Et bon, pas la peine de dire que c'est chiant le clic sur arreter, etc ... : bouton power. On a pas inventé les FS journalisés pour rien ;)
  • # Pas tout a fait ce que tu veux...

    Posté par  . En réponse au message bridge+graphique. Évalué à 3.

    Je recherche aussi un truc du genre, mais pas basé sur des logs tcpdump, mais plutot iptables...
    Un prog intéressant que j'ai trouvé est ntop (http://www.ntop.org/(...) )
    Mais il est pas facilement scriptable et ne se base pas sur des captures tcpdump ... Par contre il a tout plein de jolis graphes par host/service/...

    En cherchant avec synaptic j'ai trouvé ca (pas testé, j'ai juste lu la description) : acidlab (http://www.andrew.cmu.edu/user/rdanyliw/snort/snortacid.html(...) )

    voila ...
  • [^] # Re: Comprendre les log de shorewall

    Posté par  . En réponse au message Comprendre les log de shorewall. Évalué à 1.

    L'adresse 192.168.0.255 ne correspond pas à une machine, mais à une adresse que toutes les machines de ton réseau (192.168.0.*) recevront. 255.255.255.255 aussi. C'est normal.

    Pour la config de shorewall c'etait une supposition; je viens de me rappeler que ce n'est qu'une convention de nommage, donc ca se trouve tout va bien pour ca (mais je ne connais pas l'interface de mandrake).

    Si tu veux savoir d'ou viennent ces paquets (enfin, de quelle appli, puisque ca vient effectivement de ta machine), essaye un "netstat -p" qui devrait te donner le pid associé à chaque connexion. Cherche la ligne qui correspond à ces paquets, avec ta machine comme source, et un port autour de 7000, en UDP. D'un autre coté, UDP est un protocole déconnecté, donc chercher une connexion udp ... enfin j'en ai d'affichées chez moi, il doit les garder em mémoire qq temps.
  • [^] # Re: Correction

    Posté par  . En réponse au message Pointeur et chaines de caractères.... Évalué à 0.

    Le warning c'est a cause de l'include string.h que tu n'as pas rajouté.
    Aux vues de tes questions, je te conseille de commencer par un autre langage que le C, sinon tu va vraiment galérer ...

    Pour python, c'est un langage interprété et non compilé, donc tu as besoin de l'interpréteur sur le poste client. Enfin client de quoi ? On sait toujours pas (a peu près) ce que tu veux faire ... Mais pour les librairies systèmes, oui yen a un paquet fournit dans les libs pythons.
  • [^] # Re: Pointeurs, chaînes de caractères

    Posté par  . En réponse au message Pointeur et chaines de caractères.... Évalué à 1.

    Oups, ton commentaire me fais remarquer que je me suis trompé pour le buf[100], il est effectivement alloué sur la pile, donc "libéré" au retour de la fonction (mais comme la mémoire n'est pas (toujours) écrasée les débutants croient parfois que ca roule ... he paf, un bug caché)

    Je plussoie
  • [^] # Re: Correction

    Posté par  . En réponse au message Pointeur et chaines de caractères.... Évalué à 3.

    Pour le pb du pointeur, j'avais oublié un petit include (pourtant évident ...) en début de fichier:
    #include <string.h>

    Pour la glib, je parle de celle de GTK (http://www.gtk.org/(...) ). Tu confonds avec la libc, qu'on utilise effectivement pour faire du C, et dont la version utilisée sous linux est celle du projet GNU, d'où son nom: glibc. Et les confusions qui vont avec à propos de son nom.

    Pour le C++ moi je le trouve pas plus simple, mais je doit pas etre super objectif ... mais oui, c'est uniquement du c avec des objets en +.

    Sinon pour te conseiller un langage .... bah si tu nous disais ce que tu veux faire d'abord ?
    Je sais pas trop mais a vue de nez je te conseillerai python si t'es pas encore super calé dans les détails bas-niveau. C'est mon langage de référence pour quasi tous mes développements (comme quoi on peut aimer le C mais pas pratiquer très souvent ...)
  • # Re: Comprendre les log de shorewall

    Posté par  . En réponse au message Comprendre les log de shorewall. Évalué à 1.

    Alors pour shorewall :
    En résumé, il y a eu 561 paquets refusés sur eth0, ou en tous cas qui ont été droppé (tu peux configurer comment tu refuse les paquets, ici apparemment tu DROP)
    Ils viennent tous de 192.168.0.1, et 21 étaient destinés à 192.168.0.255 (l'adresse broadcast du réseau je suppose, ca dépend de ta config réseau) et 540 à 255.255.255.255 (le broadcast "universel", enfin je sais pas le nom exact, mais c'est valable pour toutes les configs réseau). C'est du traffic udp, sur un port régulièrement incrémenté....!?
    Donc pour éclaircir : c'est a priori pas dangereux car c'est sur du broadcast, ca doit venir d'un prog qui cherche qqchose sur le réseau local. Genre peut-etre bittorrent, ou alors simplement un windows et son partage de fichier... ?
    Par contre ce qui est bizarre, c'est que ces paquets soient loggés dans la section "net2all", alors qu'ils viennent de ton réseau local ... t'aurais pas configuré shorewall à l'envers ? Genre t'as copier-coller la config depuis internet où eth1 est le réseau local et eth0 la connexion au net ? (d'ou l'inversion pour ta config ... ?)
    Ou alors je me suis trompé et 192.168.0.1 c'est ton routeur ... ?
    Faudrait en savoir un peu plus sur ta config réseau.

    Les erreurs pour pam, je sais pas trop. Un user sans nom c'est bizarre par contre.
    Le groupe wheel est celui des administrateurs, root en fait partie et certains fichiers systèmes sont modifiables par wheel.

    Et pour la fortune ... c'est un message d'encouragement :)
  • [^] # Correction

    Posté par  . En réponse au message Pointeur et chaines de caractères.... Évalué à 1.

    ... j'ai oublié une accolade avant le else ...
  • # Le C et la gestion des chaines de caractères ...

    Posté par  . En réponse au message Pointeur et chaines de caractères.... Évalué à 3.

    Tout d'abord, sache que gérer des chaines de caractères en C n'est pas une mince affaire, et qu'il vaut mieux avoir lu quelques docs dessus avant de se lancer (j'ai pas de liens en tête sur le moment).

    Ensuite, pour ton problème :

    En ce qui concerne le redimensionnement d'une chaine, cela n'est (généralement) possible que sur les chaine que tu a alloué toi-même (ou alors si tu est vraiment sur que la chaine qu'on te renvoie a été allouée avec malloc) sinon un realloc ne marchera pas. Et de toutes facons, quand une fonction te renvoie un pointeur sur un truc du système ou de l'environnement, il ne vaut mieux pas y toucher et plutot faire une copie. Ca pourra aussi t'etre utile si t'es ammené à la modifier après.

    Pour le sprintf(), deux problèmes :
    - il n'alloue pas tout seul la mémoire, donc c'est à toi de le faire (malloc)
    - tu as mal utilisé sprintf : le premier argument est le buffer dans lequel tu vas écrire, le deuxième est le format, et les suivants les arguments du format. Donc ca devrait etre quelques chose comme : sprintf(ptr_env, "'%s'", ptr_env); bien que ce soit une très mauvaise idée d'utiliser le même pointeur; comme ça je crois que ca fout ta chaine en l'air...

    Une remarque également sur ton essai avec buff[100] (en plus du problème de l'ordre des arguments) : ceci déclare un buffer statique (contrairement au malloc(), dynamique) qui pointera donc toujours vers la meme zone mémoire. Donc si tu fais deux appels à ta fonction, le deuxième renverra le meme pointeur, certes avec la bonne chaine, mais à ce moment là la première aura été remplacée par la deuxième ... (idem pour le "NULL" : tu n'as pas intéret à le modifier après)

    Bon, tout ca pour finir avec ce bout de code la (non testé):

    char *get_env(char * ptr_string){
    char *ptr_env, *quoted_env;
    ptr_env = getenv(ptr_string);
    if (ptr_env == NULL) {
    quoted_env = strdup("NULL");
    else{
    quoted_env=malloc(strlen(ptr_env)+3);
    sprintf(quoted_env, "'%s'", ptr_env);
    }
    return(quoted_env);
    }

    Tout ca sans oublier de free() le résultat une fois fini.
    Remarque ici que strdup() renvoie une chaine allouée par malloc(), comme décrit dans la doc (man strdup), tu pourra donc le realloc si tu veux (tu va me dire qu'après ta fonction ca sert plus a rien, ok ...).
    Autre détail : le malloc() qui prend la taille de la chaine + 2 pour les deux quotes et + 1 pour le "null terminator", soit le terminateur de chaine en C (qui est 0).
    De plus, il est généralement mieux d'utiliser snprintf() que sprintf() afin d'éviter de déborder du buffer ...

    Bref, tout ca pour dire que la gestion des chaines en C c'est galère, et je ne sais pas pourquoi tu veux faire ca mais je te conseillerai d'utiliser la glib qui contient pas mal de fonctions pour gérer tout ca plus facilement. Ou alors de changer de langage ...
    Je ne veux pas te décourager, moi j'ai commencé par le C et je trouve ca assez ... "instructif"
  • [^] # Re: Suggestions

    Posté par  . En réponse au journal Winlibre porté sous mac. Évalué à 1.

    Pour la vidéo je rajouterais :
    VLC (Videolan) : http://videolan.org/vlc/(...)

    que je trouve beaucoup mieux que mplayer sur OSX (bien que sous linux je trouve mplayer plutot incontournable)
  • [^] # Re: ecriture !!!

    Posté par  . En réponse au journal Drivers ext2/ext3 pour Windows !. Évalué à 3.

    Je suis pas sur que ca pose problème car je ne pense pas qu'au moment du remontage le journal soit rejoué depuis le dernier montage "en ext3", comme s'il oubliait le montage en ext2 entre les deux. Je pense qu'il est rejoué seulement s'il était effectivement utilisé (donc monté en ext3) et qu'il y a eu crash, et non utilisé simplement comme une ext2.
    C'est une simple supposition venant de mon expérience d'utilisation d'une partition ext2/3 en tant que partition "d'échange" (utilisée en ext2 par OSX et en ext3 par une Ubuntu), et qui marche très bien comme ça (le seul problème venant du fait qu'après un crash sous OSX, on doit se taper un fsck, chose que j'avais oubliée depuis l'apparition des fs journalisés...)
  • [^] # Re: Pendant qu'on y est

    Posté par  . En réponse à la dépêche Ubuntu-fr.org : appel aux dons. Évalué à 0.

    OK, désolé si le ton était un peu sec ... sur le coup j'ai pas pu me retenir ...
    Sinon j'ai pas grand chose, et des gens qui donnent (donc d'abord qui en ont!) des disques SCSI j'en connais pas beaucoup. J'ai bien un 30Go IDE qui ne sert plus, mais c'est un IBM 60GXP, un peu un cadeau empoisonné donc ...
  • [^] # Re: et Objective Caml ?

    Posté par  . En réponse au journal Scala : un langage de prog sympa. Évalué à 1.

    Ocaml :-)

    Oui oui je connais, enfin Caml tout court, c'est avec ce langage que j'ai redécouvert les langages fonctionnels (j'avais fait du Scheme il y a quelque temps), j'ai eu droit à un semestre de cours, et j'avoue que ca m'a réfléchir de manière différente sur la programmation.

    - il gère la généricité (bon aujourd'hui ça peut paraître classique, c'est vrai)

    Hmm, je suis pas sûr que OCaml fasse ça, mais il y a sûrement d'autres moyens d'y arriver s'il ne le fait pas.


    En tapant "ocaml generics" sur google, je suis tombé sur ca :
    http://lambda-the-ultimate.org/node/view/804(...)
    Qui parle d'un article sur lequel j'étais déjà tombé. En bref, dans les commentaires j'ai lu que Ocaml gérait le parametric polymorphism (??) et que ca résoudrait le problème. Bon j'ai pas cherché beaucoup. Mais je pense que les generics sont la un peu pour palier le "statisme" des langages OO classiques, et que les langages fonctionnels n'en ont généralement pas besoin.

    - les traits, sorte de classes sans état interne, qui permette d'"imiter" l'héritage multiple

    Je n'ai pas compris le principe de ce que tu décrit ? tu peux préciser ?


    Je viens de revoir leur page pour essayer d'éclaircir mes propos, mais en les relisant je ne comprend plus trop. Ils disent que l'exemple de trait peut etre utilisé dans les mixins, mais en fait ils ne le font pas (pages pas à jour?).
    Ce que je sais sur un trait, c'est que c'est une classe qui ne contient pas de variable d'instance. Ainsi, on peut hériter d'une classe classique et d'un trait (donc c'est de l'héritage multiple) sans que ca pose de problème avec les conflits de variable d'instance, car si on hérite de deux classes qui ont une variable d'instance en commun, ca pose problème. (j'avais commencé une explication avec la problème de l'héritage en diamant en C++, mais je me suis un peu embrouyé et j'ai arrêté ...)

    A part peut-être une syntaxe un peu plus proche des langages objet 'communs' (comme Ruby par exemple), je ne vois pas l'intérêt de ce langage, ce qui ne veut pas dire que je blâme les inventeur de Scala :-)

    Justement, je pense ce qui repousse la plupart des développeurs élevés au C (comme moi ;-)), c'est la syntaxe. Le manque de librairies aussi, mais cela vient du manque de développeurs, et donc de la syntaxe (selon moi, hein). C'est vrai que faire une syntaxe à mi-chemin entre fonctionnel et OO, tout en évitant les problèmes que ca peut impliquer, c'est galère, mais je trouve que Scala se débrouille pas mal sur ce point.
  • [^] # Re: Pendant qu'on y est

    Posté par  . En réponse à la dépêche Ubuntu-fr.org : appel aux dons. Évalué à 2.

    > ... si on pouvez vous aider ?

    Des fois j'essaye de comprendre la logique grammaticale de certains, mais là ça me dépasse. Ou alors, c'est un nouveau système grammatical qui marche en notation post-fixée ??? (Bah oui, on accorde pouvoir avec le vous ??!!)
  • [^] # Re: Interessant

    Posté par  . En réponse au journal Scala : un langage de prog sympa. Évalué à 3.

    Bon, je suis vraiment pas doué pour expliquer les choses, alors voici leur exemple :

    class Stack[+A] {
      def push[B >: A](elem: B): Stack[B] = new Stack[B] {
       override def top: B = elem;
       override def pop: Stack[B] = Stack.this;
       override def toString() = elem.toString() + " " +
        Stack.this.toString();
      }
      def top: A = error("no element on stack");
      def pop: Stack[A] = error("no element on stack");
      override def toString() = "";
    }

    Si j'ai bien compris :
    - le [+A] veut dire que le type A est covariant, et que donc une Stack[String] dérive d'une Stack[Object] (attention, je crois que Object n'existe pas, c'est plutot AnyRef ou Any qu'il faudrait utiliser, mais on m'aura compris ... j'espère)
    - push est une méthode polymorphique (= générique), et [B >: A] veut dire que B est un super-type de A, bref, que A dérive de B. Donc, losrqu'on push un élément sur la pile :
    s = s.push[Int](5)
    le type retourné sera Stack[Int] (on peut ne pas préciser [Int], le type est inféré). Puis, si on fait
    s = s.push(new Object())
    (là je n'ai pas précisé [Object]), alors le type renvoyé sera Stack[Object], en bref, notre pile d'Int s'est transformée en pile d'Object. Bien sur, si on ne souhaite pas ce comportement, il suffit que la variable affectée (s) soit du type que l'on souhaite, et une erreur à la compilation sera détectée.

    Bon c'est vrai qu'après on peut trouver la construction de cette pile assez étrange, car le code est vraiment fonctionnel plus qu'objet ici (cette pile est gérée à la manière des liste en Lisp, avec une tête et le reste). Au début j'ai eu du mal à comprendre def top: A = error("no element on stack"); !!!

    Enfin voila, j'espère avoir été plus clair, sinon la page l'expliquant surement mieux :
    http://scala.epfl.ch/intro/variances.html(...)