duaner a écrit 49 commentaires

  • # A tout hasard...

    Posté par  . En réponse au message "GTK devel packages" sous Debian Sarge. Évalué à 6.

    ... libgtk2.0-dev ?
  • [^] # Re: Trouvé

    Posté par  . En réponse au message Récupérer les hash dans une liste de hash. Évalué à 3.

    {...} est une reference vers un hashtable anonyme, tu peux voir ca juste comme une adresse qui dit ou trouver la table en question, c'est donc cette adresse qu'il faut stocker.

    Un hash s'initialiser au moyen d'une liste, tu verras d'ailleurs dans la doc que => est un synonyme pour "," (a une difference pret). Donc:

    %hash = (a => 1, b => 2) -> BIEN
    %hash = ('a', 1, 'b', 2) -> BIEN
    $hash = {a => 1, b => 2} -> BIEN
    %hash = { a => 1, b => 2} -> BAD!EVIL!NOCOOKIE!

    Voila
  • [^] # Re: Trouvé

    Posté par  . En réponse au message Récupérer les hash dans une liste de hash. Évalué à 3.


    %structvar = {"Type" => renvoiType($typinfo),
    "Valeur" => $valeur};

    push(@TabVars,%structvar);


    Ceci est une horreur, ca "marche" mais ce que tu fais exactement est :

    - Créer un hash structvar, avec un seul element donc la clé est une référence vers un hash anonyme, stringifiée, et la valeur est indéfinie, donc concrement:

    $structvar{'HASH(0x12345678)'} = undef

    - Rajouter ce hash à un tableau, ce qui fait que ton @TabVars contient maintenant : ('HASH(0x12345678)', undef).

    Une référence est une valeur scalaire, donc il faut l'utiliser dans le bon contexte:

    $structvar = { .... };
    push(@TabVars, $structvar);

    foreach my $ref (@TabVars) {...}

    Je ne suis pas sur de la doc sur laquelle tu t'as basé, mais utilise plutot:
    perldoc perlref
    perldoc perlreftut
    perldoc perldsc
    perldoc perllol

    Tout y est, sans erreur :)
  • # Plus possible?

    Posté par  . En réponse au message Sendmail, redéfinition du From et pièces jointes. Évalué à 2.

    Pourrais-tu expliquer plus clairement en quoi ce n'est plus possible lorsque tu re-définis le From?

    Sinon, pour ne pas ré-inventer la roue, jette un coup d'oeil à MIME::Lite.
  • [^] # Re: "je n'y arrive pas" ?

    Posté par  . En réponse au message pb de supression de BDD. Évalué à 2.

    J'imagine que c'est un autre thread, faudrait peut etre donc reposter dans la bonne catégorie pour attirer le regard de ceux que ca interesse.

    1 conseil: argumente tes "je n'arrive pas", donne des précisions, des exemples, dis ce qui ne va pas, ce que tu fais, ce que tu attends comme resultat et ce que tu as à la place, ca donnera envie a plus de monde de répondre.

    Vu que ce que tu demandes est assez vague, la seule chose que je peux te dire pour l'instant c'est qu'il faut faire attention à un truc en CSS: les chemins des images dans les url(...), s'ils ne sont pas absolus, sont relatifs à la feuille de style elle-meme, et non pas au document html.
  • # "je n'y arrive pas" ?

    Posté par  . En réponse au message pb de supression de BDD. Évalué à 2.

    Que veux-tu dire?

    Les 2 facons de supprimer une db, pour autant que ca soit du MyIsam sont (la 2eme étant en dernier recours):

    - DROP ta_db; depuis le shell mysql avec un compte ayant les droits nécessaires (root?)
    - stopper le serveur, aller supprimer le repertoire contenant la db dans /var/lib/mysql (par defaut), relancer le serveur.
  • [^] # Re: Et dans les logs?

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

    Et du coté des logs mysql ? Tu vois une tentative de connection du serveur ftp, une erreur? (decommenter la ligne "log = ...." dans le my.cnf)

    L'erreur d'ipv6 est probablement non critique.
  • # Et dans les logs?

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

    Regarde ce que les logs de proftpd ET de mysql disent, typiquement ca pourrait etre que ton serveur ftp n'arrive pas a se connecter a la DB mysql soit parce qu'il n'y a pas d'entrée pour ftp@localhost, soit parce que la version de hashage des passwords n'est pas compatible, soit encore parce qu'il essaye de se connecter en tcp alors que mysql n'ecoute que sur un socket unix...

    Tout ca sera dit dans les logs :)
  • [^] # Re: logs

    Posté par  . En réponse au message Non reception de mail. Évalué à 1.

    Plusieurs choses à vérifier:

    - Que le hostname de ta machine soit bien mis à nommachine.adressemachine.net
    - Que la machine puisse resolv nommachine.adressemachine.net (que celui-ci soit dans les /etc/hosts, typiquement pour 127.0.0.1, et qu'il soit le premier de la liste)
    - Si malgré tout quand tu envoies un mail il te laisse un localhost.localdomain comme domaine d'origine (ca devrait pas arriver, faudrait trouver pourquoi...), rajoute un

    define(`confDOMAIN_NAME', `nommachine.adressemachine.net')dnl


    dans ton sendmail.mc, et regénère le sendmail.cf


    A essayer...
  • # gruik

    Posté par  . En réponse au message "sur spécification" d'un objet. Évalué à 1.


    abstract class Animal {

    private function __construct(){}
    public static function create ($options=array()) {
    global $context;
    if(!class_exists($context)) {
    throw new Exception("Cette classe n'existe pas");
    }

    return new $context($options);
    }

    }



    -> $genre = 'chien'; $animal = Animal::create();


    Seulement ca serait peut etre moins gruik de passer $context a create($context, $options = array()) et d'appeler Animal::create('chien');
  • [^] # Re: logs

    Posté par  . En réponse au message Non reception de mail. Évalué à 2.

    "Data format error" en lui-meme n'est pas spécifique à un problème en particulier, mais tu devrais avoir un bounce avec une erreur un peu plus détaillée envoyé à www-data, donc regarde plutot dans ce mail, il y aura plus d'indiquations.

  • # Tous les details sur....

    Posté par  . En réponse au message Longueur maximal des arguments. Évalué à 5.

    ... http://www.gnu.org/software/coreutils/faq/#Argument-list-too-long
  • [^] # Re: Ca ira, mais...

    Posté par  . En réponse au message Help regexp. Évalué à 1.

    Pourquoi c'est mal? Parce que ca ne marchera que dans des cas triviaux.


    Le probleme du HTML est qu'il a une structure recursive (et il correspond à la definition d'un CSL), et que meme si tu arrives à extraire des infos d'un document HTML avec des expressions régulières, ca ne pourra fonctionner que si tu es sur à 100% de ce que tu vas parser (d'ou mon "rigide").

    Exemple (HTML valide):

    <a href="</a>" <!-- >Ca pourrait s'arreter ici</a> --> >bleh<!-- ou encore ici... </a> --></a>

    Tu n'arriveras jamais à t'en sortir avec une seule expression, du moins pas avec PCRE qui ne supporte pas les ??{}, tout simplement parce que tu n'as aucune idée de l'etat dans lequel tu te trouves au moment ou tu rencontres le 1er, 2eme, 3eme ou 4eme </a>

    J'ai jamais dit que ma solution était bonne, j'ai juste répondu éxactement à ce qu'il voulait (un match, pistou.), à ses risques et périls.
  • # Ca ira, mais...

    Posté par  . En réponse au message Help regexp. Évalué à 4.

    Avec

    <a\s+class="([^"]+)"\s+style="top:(\d+)px;\s+left:(\d+)px"\s+href="plip\.php\?x=(\d+)&y=(\d+)"\s*><img\s+src='img\/(\d+)\.png

    ca va fonctionner, mais c'est généralement une très mauvaise idée de parser du html avec des expressions regulières, et ce que tu demandes la est tres rigide (par ex. quid si x et y ou top et left sont inversés, ou les différents attributs...?),je conseillerais plutot un parser html ou xml, ca doit bien exister en php :)

  • [^] # Re: Rien à voir

    Posté par  . En réponse au message Auto deployement site web sous svn. Évalué à 2.

    Apparemment le programme C sert de wrapper pour pouvoir lancer la commande en suid, vu que ca passera pas directement avec un script (ouais donc, pourquoi alors le script.. :))

    Je ne connais pas vraiment les subtilités de SVN, mais en supposant qu'en theorie ca soit correct, je pencherais vers un bidouille a faire du coté de SELinux ou autre chose qui empecherait l'execution de ton prog C en tant que root (ce qui serait le cas par defaut avec par ex. une fedora).

    Pour y voir un peu plus clair, essaye de logguer dans un fichier des getuid/geteuid ici et la...
  • # subquery

    Posté par  . En réponse au message Requête MYSQL: Distinct ? Group ?. Évalué à 2.

    En fait je pense que tu souhaites "le nom de la personne qui a été engagée le plus recemment pour un poste donné, qu'importe l'année"

    Si c'est le cas et que ton mysql est pas trop vieux (>= 4.1 il me semble), ceci ira :

    select t1.*
    from t t1, (select poste, max(annee) a from t group by poste) t2
    where t1.poste = t2.poste
    and t1.annee = t2.a;


    Ya surement d'autres moyens :)
  • # ipac-ng

    Posté par  . En réponse au message total débit journalier. Évalué à 1.

    http://ipac-ng.sourceforge.net/

    Ca c'est pas mal non plus, et facilement utilisable et integrable à mrtg ou autres
  • [^] # Re: Perl et MySQL

    Posté par  . En réponse au message Perl et MySQL. Évalué à 1.

    Il ya quelques examples concrets dans 'perldoc DBD::mysql' et d'autres informations, notemment relatives a l'installation, sur http://dev.mysql.com/doc/refman/5.0/en/perl.html

    Evite juste les recheches genre "perl mysql exemples" sur google, il vaut mieux lire et comprendre la doc que copier/coller du code d'autres personnes qui est majoritairement assez crapuleux :)
  • [^] # Re: Désolé, mais...

    Posté par  . En réponse au message 2 actions dans un "die". Évalué à 1.

    Juste un petit rappel pour la valeur de retour, elle est sur 8 bits et doit donc etre non signée et entre 0 et 255. Une condition qui teste si le process est sorti avec -1 ne sera jamais vraie. (-1 retournant 255)

    Plus d'infos sur:

    man 2 wait
    perldoc perlvar -> chercher pour $?
  • [^] # Re: mysql_error();

    Posté par  . En réponse au message Connexion base mysql. Évalué à 2.

    Les mots de passes des versions recentes (>= 4.1.1) de mysql ne sont plus stockés de la meme facon (hash different) que les precedentes. Pour fixer ca, il y a deux solutions:

    - mettre a jour tes libs mysql du coté client
    - mettre a jour le mot de passe de l'utilisateur du coté serveur (ou recreer un compte) :
    SET PASSWORD FOR 'root'@'10.19.X.X' = OLD_PASSWORD('bleh')

    cf. http://dev.mysql.com/doc/refman/5.0/en/old-client.html


  • # ncftpput / ncftpget

    Posté par  . En réponse au message je voudrais telecharger le contenue d'une directory. Évalué à 1.

    A regarder aussi... Bien pratique pour du ftp non interactif.
  • # Il manque des packages

    Posté par  . En réponse au message pas de bibliotheque stdio. Évalué à 2.

    Quelle distribution utilises-tu ?

    Sous debian il faudra installer le package 'libc6-dev', sous fedora, 'glibc-headers', etc...

  • # Il te faut le module Mysql pour PHP...

    Posté par  . En réponse au message Call to undefined function: mysql_escape_string() !!!. Évalué à 2.

    ... qui se trouve dans le package php4-mysql
  • [^] # Re: Super !

    Posté par  . En réponse au message urgence. Évalué à 5.

    2 petites suggestions:

    1/ Il manque le login et le pass à ton connect(), tu l'as peut etre juste supprimé pour coller ton code

    2/ Utiliser des placeholders ("?") plutot que de mettre directement les variables dans les queries, ne fut-ce que pour un minimum de securité et de clareté (perldoc DBI pour plus d'informations):


    my $sql = qq { INSERT INTO foo (toto, tata) VALUES (?, ?) };
    my $sth = $dbh->prepare($sql);
    $sth->execute($data{'toto'}, $data{'tata'});



    .