Flavien a écrit 74 commentaires

  • # Exprimez vous

    Posté par  . En réponse au journal "Honte l'assemblée nationale". Évalué à 0.

    Moi je l'eur envoyé un mail pour leur exprimer mon dégoût de leurs pratiques:
    contact@le-nouveaucentre.org

    Je vous engage à faire la même chose.
  • [^] # Re: installation sous windows

    Posté par  . En réponse à la dépêche Ekiga 2.0.9 pour Linux et Windows. Évalué à 1.

    Salut Ploum,

    J'ai eu le même message d'erreur pour GTK, qui était dû à une ancienne version installée par Gaim.
    Après désinstallation de celle-ci, Ekiga m'a installé les nouvelles et ça marche sans problème.
  • [^] # Bingo

    Posté par  . En réponse au message Stocker un descripteur de Socket dans un Hash Partagé. Évalué à 1.

    Exactement ce qu'il me fallait... Merci
  • [^] # Re: pas simple

    Posté par  . En réponse au message Hash de Hash partagé entre Threads. Évalué à 2.

    effectivement,

    je devais donc faire ça:

    my %realtime : shared;
    $realtime{ $xxx } = &share( {} );

    Merci de ton aide...
  • [^] # Re: piste

    Posté par  . En réponse au message Hash de Hash partagé entre Threads. Évalué à 1.

    J'ai trouvé ça...
    http://search.cpan.org/~jdhedden/threads-shared-1.05/shared.(...)

    Ca doit être la solution.
    Je vais tester...
  • [^] # Re: pas simple

    Posté par  . En réponse au message Hash de Hash partagé entre Threads. Évalué à 1.

    Bonjour Franck,

    Il me semble que je le déclare vide..
    my %realtime :shared = ();

    Le script plante dès que je touche à %realtime dans le thread:
    $realtime{ $agent }{date} = localtime(time);

    Si je place des données dans %realtime avant de créer mon thread ecoute, les données lui sont bien transférées...
  • [^] # Re: reflexion ...

    Posté par  . En réponse au message Optimisations Serveur. Évalué à 1.

    Merci pour cette réponse complète.

    Je suis relativement proche des valeurs que tu recommandes.

    D'ailleurs en suivant les conseils du script que j'ai posté plus haut j'ai baissé le key_buffer de 16M à 4 Mo et le calcul de Key_reads/Key_read_request me donne un ratio de 0.0151 ce qui n'est pas très loin de ce que tu préconise.

    Mon lowmem_prunes est à 0 pour un total de 723190 requêtes sur une journée de production.

    Seul mes valeures de temp me semblent élevées:

    mysql> show status like '%tmp%';
    +-------------------------+-------+
    | Variable_name | Value |
    +-------------------------+-------+
    | Created_tmp_disk_tables | 19383 |
    | Created_tmp_files | 381 |
    | Created_tmp_tables | 46155 |
    +-------------------------+-------+


    Created_tmp_disk_tables/Created_tmp_tables me donne un ratio de 42%. Pourtant j'ai passé le tmp_table_size à 256 Mo. Et je n'ai que 2 requêtes qui sont vraiment lourdes, les autres étant je pense, relativement bien optimisées. D'ailleurs sur mes 723190 requêtes je n'en ai que 79 qui ont dépassé un temps d'éxécution de 5 secondes.

    Je commence à me demander si ce n'est pas mon processeur qui est complètement à l'ouest .

    En tout cas encore merci pour tes éclaircissements.
  • [^] # Une aide

    Posté par  . En réponse au message Optimisations Serveur. Évalué à 1.

    En continuant mes recherches je suis tombé sur ces scripts bien sympathiques:

    http://www.day32.com/MySQL/
  • [^] # Re: reflexion ...

    Posté par  . En réponse au message Optimisations Serveur. Évalué à 1.

    Ouep ça je sais bien.

    Il se trouve que CRM oblige, j'ai des requêtes de tous types et de toutes tailles.

    Pour préciser un peu:
    - 2/3 de mes requêtes sont des SELECT (dont 1/4 de grosses requêtes (3-4 sec d'exécution quand le serveur est full) et 3/4 des requêtes sont petites (éxécution quasi simultanée))
    - 1/3 d' INSERT/UPDATE qui ne posent pas de soucis d'éxécution.
    - 90% des requêtes proviennent de ce CRM qui travaille avec 14 tables en innoDB.
    - Les 10% proviennent des scripts PERL qui utilisent des tables Myisam avec des petites requêtes.

    Alors je demendais pas qu'on me ponde mon my.cnf aux petits oignons, juste si il n'y as pas des trucs aberrants par rapport à ma config... Voilà peut être pourras tu m'orienter un peu plus...

    Merci
  • [^] # En fait PDFTK

    Posté par  . En réponse au message Remplir un PDF. Évalué à 1.

    Salut,

    J'ai finalement trouvé ce dont j'avais besoin: PDFTK.

    Il offre la possibilité de remplir un PDF contenant un formulaire avec un fichier FDF et ensuite de les fusionner pour créer un NOUVEAU PDF avec l'option fill_form, ce qui était le but de ma recherche.

    Voilà, merci pour vos suggestions.

    Flavien
  • [^] # Re: fpdf

    Posté par  . En réponse au message Remplir un PDF. Évalué à 1.

    Si je ne dis pas de bêtises, FPDF permet de créer un PDF de toutes pièces et non de modifier/remplir un document existant ....

    Or moi j'ai en fait un modèle que je dois personaliser pour chaque personnes. Ce PDF est tellement chergé qu'il est irreproductible par un script je pense.

    Merci en tout cas de ta réponse.
  • [^] # Re: beuh

    Posté par  . En réponse au message Tester un 'NULL'. Évalué à 1.

    Merci...
    J'avoue que c'était plus de la fénéantise de décortiquer le role de chaque fonction que de l'incompétence :-) J'ai attaqué le PERL il n'y pas si longtemps et mon style n'est pas encore très condensé.

    Je vais donc retenter d'utiliser defined().
  • [^] # Re: beuh

    Posté par  . En réponse au message Tester un 'NULL'. Évalué à 1.

    Ton "style de DEV Perl" est encore un poil trop évolué pour mon nombre de neuronne....
    c'est le deuxième colonne qui m'échape surtout.

    En bref c'est defined() qui doit faire mon bohneur ?
  • [^] # Re: Juste une idée

    Posté par  . En réponse au message Tester un 'NULL'. Évalué à 1.

    Ouep, en désespoir de cause j'ai essayé ça aussi.
    Mais bon en principe NULL est plus un état qu' une valeur.

    En tout cas ça marche pas. Merci quand même...
  • [^] # Re: Une chaîne pour stocker une date...

    Posté par  . En réponse au message Mettre des dates en ordre?. Évalué à 2.

    En utilisant un format de date dans MySQL tu pourras en plus utiliser des fonctions existantes pourr travailler directement sur les jours, mois, années, additions, soustractions de dates, etc... ce qui permet souvent d'économiser du code derrière. Cf. DATE(), DAY(), MONTH(), YEAR(), DATEDIFF().
    Et puis de toute façon c'est une bonne habitude à prendre :)
  • [^] # Re: C'est une feature, pas un bug

    Posté par  . En réponse au message Fermer proprement un socket. Évalué à 2.

    Salut,

    J'avais déjà testé le "setsockopt" mais je n'avais pas réussi à le faire fonctionner. Et bien cette fois ci ça y est.
    Merci bien...

    Le shutdown ne résoud pas le problème. Voilà le code d'ouverture du socket qui va bien :)

    [code]
    socket(ACCES_SERVEUR,AF_INET,SOCK_STREAM,$protocole) || die("Ouverture de socket: $!");
    $TSAP_serveur = pack('SnA4x8', AF_INET, $port, INADDR_ANY);
    setsockopt(ACCES_SERVEUR, SOL_SOCKET, SO_REUSEADDR,1) || die "setsockopt() failed: $!\n";
    bind(ACCES_SERVEUR,$TSAP_serveur) || die("Accrochage socket: $!");
    listen(ACCES_SERVEUR, SOMAXCONN) || die("Ecoute socket: $!");
    [/code]
  • [^] # Re: tmpwatch

    Posté par  . En réponse au message nettoyage auto de /tmp. Évalué à 1.

    merci, je cherchais justement :)
  • [^] # Re: tmpwatch

    Posté par  . En réponse au message nettoyage auto de /tmp. Évalué à 1.

    merci, je cherchais justement :)
  • [^] # Re: Hum...

    Posté par  . En réponse au message nettoyage auto de /tmp. Évalué à 2.

    Ouep, j'avoue c'était vraiment très con de ma part...

    En fait c'était juste un dev tout simple au début qui as pris beaucoup d'importance au fur à mesure.

    Pour info j'y ai bossé pendant 1 mois dans le repertoire /tmp. Donc c'est les fichiers qui n'ont pas été accédé depuis un certain temps qui doivent être supprimés...

    Merci quand même.
  • [^] # Solution

    Posté par  . En réponse au message Problème d'AJAX. Évalué à 1.

    Bon je m'en suis sortit, Notamment en appliquant ce que vous m'avez dit.
    Mon principal probème vient du faite que la console Javascript n'affiche pas les erreurs dans mon fichier .js et celà probablement parce que je l'utilise avec un bandeau en XUL.
    En gros à force de triturer mon code dans tous les sens il devait me manquer une accolade quelque part. Après avoir tout repris ça fonctionne.
    A noter que bizarrement ça ne fonctionne qu'en asynchrone mais ça ne me gêne pas.

    function checkNewFiche() {

    var numTA = document.getElementById("numTA");
    var request = new XMLHttpRequest();

    request.open("GET", "http://192.168.2.205/asterisk.php?ordre=checkfiche&agent(...)"+numTA.value, true);
    request.onreadystatechange = function(){
    // instructions de traitement de la réponse
    if ((request.readyState == 4)){
    alert(request.responseText);
    }
    }
    request.send(null);
    }

    Merci
  • # La solution pour le TCP

    Posté par  . En réponse au message Problème avec Socket et/ou Telnet sur le manager d'Asterisk. Évalué à 1.

    Voici le code qui va bien. C'était mes caractère de retour à la ligne ("\n") qui n'étaient pas bons:

    #!/usr/bin/perl

    use IO::Socket::INET ;

    my $EOL = "\015\012";
    my $BLANK = $EOL x 2;

    my $socket = IO::Socket::INET -> new (
    PeerAddr => '10.0.0.1' ,
    PeerPort => 5038 ,
    Proto => 'tcp' ,
    Type => SOCK_STREAM
    );

    $socket->autoflush(1);

    $socket -> recv ( $message , 128 ) ;
    print $message ;

    print $socket "Action: Login${EOL}Username: offi${EOL}Secret: *****$BLANK";
    while(1){
    $socket -> recv ( $message , 128 ) ;
    print $message ;
    }
  • [^] # Re: Pistes...

    Posté par  . En réponse au message Questions réseaux.... Évalué à 1.

    Super, merci beaucoup pour toutes ces pistes :)

    Pour les routes effectivement l'idées est bien de les retrouver à chaque démarrage. Le pointeur réponds parfaitement à ma question mais je n'ai pas su le faire remonter par Google...

    Je vais checker les pistes que tu m'a données pour la deuxième question.

    En tout cas un grand merci pour cette réponse si complète.
  • # après quelques tests supplémentaires

    Posté par  . En réponse au message mtr - Enormes pertes de paquets sur mon routeur. Évalué à 1.

    Rebonjour,

    Bon j'ai continué mes investigations et là je suis complètement paumé :(

    en fait j'ai deux liens qui partent de mon site (Amiens) en direct vers mon opérateur VoIP (en IAX2 trunked, à Paris).
    Ce sont deux abonnements ADSL sur deux lignes classiques FT. Mon opérateur à un accord avec un FAI et est directement connecté à ses routeurs. J'ai mes abonements sur ces deux liens (1024/256) chez ce même FAI ce qui nous permet d'avoir en quelque sorte une liaison louée. Voilà pour l'interconnection.

    Pour tester j'ai donc essayé d'inverser mes deux interfaces Ethernet sur mon serveur Asterisk, mes deux lignes téléphoniques au niveau des routeurs, changé de routeur, changé de route... A chaque fois le problème se retrouve au même niveau !!! Toujours sur le lien utilisant le linksys (ou la livebox que j'ai utilisé pour faire un test) et jamais sur ma route utilisant mon routeur speedtouch.

    Si quelqu'un avait ne serait-ce qu'une suggestion à me faire pour identifier mon problème... Je commence à me demander si ce n'est pas la commnde mtr qui merde. Avec un Ping -A je ne rencontre pas le problème. Et pourtant la qualité de la voie est indéniablement moin bonne sur mon lien qui pose problème.

    Merci d'avance


    Un exemple:
    [root@asterisk tmp]# mtr --interval 0.02 --psize 128 193.xxx.xxx.240 --report
    asterisk Snt: 10 Loss% Last Avg Best Wrst StDev
    10.0.1.1 70.0% 0.6 0.6 0.5 0.6 0.1
    gw.dslpool0.bgix.waycom.net 10.0% 40.2 38.0 36.2 44.1 2.7
    bgix-lo.dslpool0.bgix.waycom.net 10.0% 44.4 39.6 38.0 44.4 2.3
    wcm-lo.dslpool0.bgix.waycom.net 20.0% 40.3 40.2 38.3 42.2 1.0
    v205.swr-1.par.waycom.net 30.0% 40.2 39.7 38.2 40.3 0.9
    pnt-th2-gw.cust.waycom.net 20.0% 40.4 40.3 38.2 42.2 1.1
    193.xxx.xxx.240 20.0% 40.2 40.9 40.1 42.1 1.0

    en laissnt tourner quelques minutes, 10.0.1.1 tend vers 95% et les autres vers 1%
  • [^] # Re: noyau amd64 smp

    Posté par  . En réponse au message Optimisation pour Opteron. Évalué à 1.

    Bon j'étais sur la bonne voie alors pour le SMP...

    L'utilisation du Dual-Core est donc totalement transparente pour le Kernel ?

    J'hésite à passer à FC5 car il semble qu'il y est quelques soucis avec Zaptel qui est nécessaire à certaines fonctions d'Asterisk.

    Debian ? Oui, dès que j'aurais le temps de la tester en dehors du boulot. Pour l'instant j'avoue mon faible pour rpm et yum (je connais urpmi bien sur et apt).

    Merci pour tes réponses.