niol a écrit 403 commentaires

  • [^] # Re: pff

    Posté par  (site web personnel) . En réponse au journal Et si Google aidait le libre ?. Évalué à 10.

    > Tout se tappage pour un compte mail au respect de la vie privée plus que douteux ...

    Pour moi, cet argument à la mode ne tient pas. Qui te dis que Yahoo ou Hotmail ou autre service mail gratuit ne fait pas pareil?
    Qui te dis que smtp.wanadoo.fr ou smtp.free.fr ne lit pas tes mails?

    Pour Gmail, c'est juste un pipe sur un script qui sort quequefois de la pub en rapport avec les mails...

    > Incroyable comme il suffit de créer une pénurie artificielle pour que tout le monde se jette dessus

    Complètement d'accord, mais çà s'appelle une stratégie de marketing :
    - Pourquoi y'a la queue devant les boites de nuit, et pourquoi il est bien connu qu'il n'est pas facile de rentrer dans certaines?
    - Pourquoi certaines offres sont dites spéciales et limitées dans le temps ou dans le nombre (sandwich chez MacDo, coffret DVD en édition limité, offre de forfait sur les téléphones mobiles)?

    La rareté crée l'attrait, et ils ont bien raison d'en profiter.

    De plus, je trouve que leur interface est innovante tout en sachant rester simple et efficace.
  • [^] # Bloquer le retour chariot

    Posté par  (site web personnel) . En réponse au message genérer des fichiers xml et csv. Évalué à 2.

    Du côté du formulaire : avec du Javascript. (facultatif)
    Du côté du chargement des des données dans la base, je ferais un bon str_replace("\n","",$inputData);
  • [^] # Un truc simple pour les sauvegardes

    Posté par  (site web personnel) . En réponse au journal backup-manager, un outilsimple pour votre Linux. Évalué à 3.

    Moi j'ai trouvé ce truc par hasard et çà me va très bien :
    - rsync sur ssh
    - rotations
    - backup distant
    - simple
    http://applications.linux.com/article.pl?sid=04/09/15/1931240&t(...)
  • # Périodique ou pas périodique

    Posté par  (site web personnel) . En réponse au message genérer des fichiers xml et csv. Évalué à 2.

    Si quand tu dis périodique, tu veux dire automatiquement à intervalles réguliers, il faut activer l'éxecution des script php et faire un crontab qui appelle ce script.
    http://www.php.net/manual/fr/install.unix.commandline.php(...)
    http://www.phpfreaks.com/tutorials/28/0.php(...)

    Si quand tu dit périodique, tu veux dire quand l'administrateur le veux, eh bien il suffit juste d'écrire les fichiers comme tu écrierais du html, dans un fichier sur ton serveur quoi. Je comprends pas bien le problème. Le seul truc qu n'est peut-être pas évident est de changer le type mime si tu génère ce sfichiers dna sle navigateur du client (du genre le navigateur visite la page produits.csv.php).
    http://fr.php.net/header(...) (voir l'exemple 8)
  • [^] # Générer des formulaires et du Javascript

    Posté par  (site web personnel) . En réponse au message Une classe pour du html.... Évalué à 1.

    Peut-être formsess avec smarty ...
    http://formsess.sourceforge.net/(...)
  • # Le Langage J

    Posté par  (site web personnel) . En réponse à la dépêche Objecteering/UML 5.3.0 est sorti sous Linux x86. Évalué à 8.

    Ce qui n'est pas dit dans la news, mais à mon avis qui rends (à ma connaissance) Objecteering pour l'instant vraiment plus intéressant que les autres modeleurs UML, c'est son langage associé : le langage J. Ce langage permet de faire des script sur les modèles, de manière très simple. Cela permet d'étendre à l'infini les fonctionalités du modeleur :
    - Transformations de diagrammes
    - Générations de fichiers (documentation, code...)
    Ce langage manipule le métamodèle UML du logiciel : c'est le modèle qui dit par exemple qu'une classe a des attributs, des opérations, qu'un classe se trouve dans un package...
    http://www.objecteering.com/pdf/doc/us/Metamodel.pdf(...)

    On peut ainsi très facilement rajouter une option de menu qui va (ceci est un exemple), pour chaque classe, générer automatiquement les méthodes get et set de chacun des attributs.

    Ceci est d'une énorme utilité lorsque l'ont fait des gros modèles. C'est un peu comme d'avoir un sed pour manipuler des fichiers.
    Mais on peu aussi faire des choses beaucoup plus compliquées. J'ai vu un plugin qui permettait d'assister au déploiement d'une application CORBA en générant Makefiles et fichiers xml du middleware, avec de jolies interfaces graphiques.

    Bon, par contre, c'est pas libre du tout, et tout ce dont je parle ne fait pas partie de la version gratuite (c'est "profile construction" dans le tableau des fonctionalités) http://www.objecteering.com/packaging.php(...) ). En plus, le logiciel n'était (il y a six mois) pas vraiment stable, ni sous Windows, et encore moins sous Linux. Mais même sans beaucoup de stabilité, c'était pour moi le meilleur outil UML, et de loin.

    Niveau modélisation, tout est dit plus haut : la vérification de cohérence est pas mal du tout.

    Y'a l'équivalent chez les concurants (libres ou non)?
  • [^] # Re: Autre avis

    Posté par  (site web personnel) . En réponse au journal Pixar : l'Indestructible !. Évalué à 2.

    Personnellement, çà m'amuse beaucoup. Ce n'est certainement pas à prendre au sérieux, mais je trouve que çà caricature le cinéma d'aujourd'hui avec des éléments politiquements incorrects.
  • # Autre avis

    Posté par  (site web personnel) . En réponse au journal Pixar : l'Indestructible !. Évalué à 1.

    Pour ceux qui aiment les critiques acides, et ceux qui ne connaitraient pas encore :
    http://sh3vchenko.free.fr/article.php3?id_article=75(...)

    Extrait :
    ...le scénariste a imaginé l’histoire étrangement illogique d’une famille de super-héros socialistes brusquement mis au chomage par le gouvernement suite aux trop nombreux procès pour dommages et intérêts résultant de leurs interventions plus ou moins réussies. Autant dire que le mix chelou entre naturalisme prolétaire à la Zola et super-hero movie ne fait pas d’étincelles...
  • [^] # Re: Ma vieille solution

    Posté par  (site web personnel) . En réponse au message Monitorer un réseau... Évalué à 1.

    Pour le monitoring, ntop a l'air mille fois mieux que ma solution. Ma solution était crade à cause de l'utilisation de fichiers. Mais j'avais pas du voir que ntop avait une interface web, à l'époque.
  • # Ma vieille solution

    Posté par  (site web personnel) . En réponse au message Monitorer un réseau... Évalué à 1.

    J'ai eut exactement le même problème que toi, quand je partageais ma connexion internet avec une quinzaine de personnes. Et là, forcément, il fallait regarder ce qu'il se passait.
    Quand tu parles du routeur, et comme tu dis que tu y fait tourner iptraf, je pense que c'est une machine linux avec iptables. Ou non?
    Moi j'avais tout fait avec une machine linux et iptables. J'avais adapté le script de partage de tldp.org pour sélectionner les couples ip/mac qui avaient le droit au net (pour éviter la gruge, étant donné qu'on était environ 300 sur le réseau).
    Pour couper quelqu'un, je commentais la ligne dans le fichier de définition de ces couples ip/mac et je relancais le script de partage. Il serait facile de mettre ceci dans une base de données et de faire une interface web... Mais je voulais pas faire d'interface web qui commande des trucs root.
    Pour monitorer la connexion, j'utilisais ipfm avec dump toutes les minutes (réutilisation des mêmes fichiers chaque heure) du nombre d'octets envoyés et recus par chaque adresse ip. Ces fichiers étaient relus (avec une minute de retard) par un script php pour afficher une moyenne de débit, par ip, sur la minute précédente. Dès que je voyais un traffic un peu trop soutenu en upload, un petit tcpdump pour vérifier et plus d'internet pour le contrevenant : la règle était simple : pas d'upload.

    Je crois que je n'ai plus le fichier de conf ipfm, ni le script php, mais c'est pas le plus compliqué et cà marchait bien. Par contre, j'ai encore le script de partage. Si tu as besoin...

    remarque : Je sais que 15 sur une ADSL 512, çà peut paraître nombreux, mais beaucoup n'avaient le droit de sortir que sur les port 80, 443 et 110.
  • [^] # Requêtes imbriquées supportées recemment dans mySQL

    Posté par  (site web personnel) . En réponse au message mysql et requetes imbriques. Évalué à 1.

    Les réquêtes imbriquées ne sont supportées que depuis la version 4.1 de mySQL.
    http://mysql.developpez.com/faq/?page=COMPATIBILITE#COMPATIBILITE_s(...)
  • # L'authentification dans Templeet

    Posté par  (site web personnel) . En réponse au message Fonctionnement de la partie autentification de linuxfr.. Évalué à 3.

    Je ne sais pas si c'est toujours le cas, mais il y a quelques mois, j'avais pas mal parcouru le code de templeet.
    Ce que j'ai remarqué, outre le fait qu'il soit dommage qu'il n'y ai quasiment aucun commentaire dans le code, c'est que templeet réimplémente un mécanisme de sessions pour lui tout seul, sans profiter de ce qui existe en standard dans php ( http://www.php.net/session(...) ). Il doit y avoir une raison à cela.
    Mais personnellement, j'essaye de perdre cette sale habitude de réinventer la roue. Pour comprendre le truc, j'ai regardé le mécanisme d'authentification de dotclear, directement dans le code. Et là, on utilise ce qui existe dans php.
    En espérant aider...
  • [^] # A propos d'effacement

    Posté par  (site web personnel) . En réponse au message ma Debian est morte : VIVE MA DEBIAN. Évalué à 2.

    Un petit article divertissant, pour ceux qui ne l'avaient pas déjà lu:
    http://hohle.net/scrap_post.php?post=23&m=full(...)
  • # Quelques stats

    Posté par  (site web personnel) . En réponse au journal Google fait enfin péter la limite des 32-bit. Évalué à 8.

    Sur ce lien, quelques stats, et la jolie histoire de la guerre des moteurs de recherche. Le document est vieux, mais il met des chiffres sur la taille des bases de données des principaux moteurs de recherche.

    http://searchenginewatch.com/reports/article.php/2156481(...)
  • # Pas la réponse, mais un truc pas mal

    Posté par  (site web personnel) . En réponse au journal invitation gmail. Évalué à 1.

    Pour les gens qui n'ont pas d'amis dans la star system, et qui veulent un compte Gmail, il suffit d'aller voir http://isnoop.net/gmailomatic.php(...) et d'avoir (un tout petit peu) de chance.
    Sinon, il est vrai que je me demande comment marche l'algo : peut-être qu'il n'autorise qu'un nombre limité d'invitations par branche de propagation? Par branche, j'entends invités d'invités d'invités...
  • [^] # Re: ?

    Posté par  (site web personnel) . En réponse au message Générer une feuille de style vide à partir des tags XHTML. Évalué à 1.

    Le but est de n'avoir plus qu'à remplir la feuille de style. Il est clair que sinon, cà ne sert strictement à rien. Mais cà peut faire une feuille de style vierge, prête pour faire des nouveaux thèmes.
    Et en fait, je vois bien comment faire (perl, xslt et plein d'autres solutions plus bizarres). Mais le truc, c'est que comme je ne trouvais personne qui l'avait fait, je me demandais si c'était débile, hypothèse vers laquelle je pense me tourner en ayant lu le premier commentaire. Mais bon, je pense que je vais quand même gratter quelquechose l'histoire de voir la taille de fichier que cà me sort. Il est toujours plus facile de supprimer les lignes dont on a pas besoin pour le thème que l'on fait plutot que de ne rien oublier et d'être exhaustif.
  • [^] # Re: MS n'a rien a voir la dedans

    Posté par  (site web personnel) . En réponse au journal SkyNet ou Microsoft ?. Évalué à 1.

    Mouais, à en croire /. , c'est plutot que la procédure prenait en compte un bug de windows, et que la procédure n'a pas été respectée : "someone forgot to reboot"...

    http://slashdot.org/article.pl?sid=04/09/21/2120203(...)
  • # Mauvaise impression de Nerim

    Posté par  (site web personnel) . En réponse au journal Nerim. Évalué à 1.

    Pour ma part, je suis un nouvel abonné de Nerim. Enfin j'essaye.
    J'ai fait une demande d'abonnement autour du 25 aout. Et je n'ai toujours pas Internet.
    - d'abord je n'étais pas dans les bases de données des lignes éligibles à l'adsl
    - après tout est allé bien, j'ai recu le modem-routeur, les identifiant de connexion, bref tout roulait, sauf que j'avais pas de synchro.
    - Depuis maintenant plus d'une semaine, j'appelle tous les deux jours le support qui me dit que cà sera réglé dans les deux jours maximum, à chaque fois.

    A lire les commentaires sur ce site, j'ai l'impression que je suis une exception mais bon, c'est quand même pas très sérieux.
  • [^] # La méthode que j'applique

    Posté par  (site web personnel) . En réponse au journal Outil de génération de tests unitaires automatiques. Évalué à 1.

    Sur le projet pour lequel je travaille actuellement, j'utilise CPPUnit (http://ccpunit.sourceforge.net(...) ) que j'ai intégré à automake/autoconf/libtool pour compiler, lancer et vérifier le résultat. La facon de procéder est très bien expliquée dans l'exemple pas à pas (http://cppunit.sourceforge.net/doc/lastest/money_example.html#money(...) )

    Pour ce qui est de l'automatisation, comme dit plus haut, ca n'est pas possible étant donné que seul toi sait ce que doivent faire tes fonctions. Pour ma part, j'ai quand même automatisé la génération de mes classes de test : je fais une génération (assez naïve) depuis les classes du programme. Je dit assez naïve car j'ai fait la correspondance 1 classe de test, 1 TestFixture et 1 méthode de test, une méthode. Si je ne veux pas générer de test, je marque ma méthode ou classe pour que ca ne donne lieu à aucune génération.
    Concrètement, j'ai implémenté cette génération dans l'outil UML qui génère mes classes, donc si tu n'as pas de modèle (par modèle je veux dire modélisation UML de tes classes) à l'origine, ca ne te servira à rien... Mais bon, j'expose juste les choix que j'ai pris. Et je ne les regrette pas au fur et à mesure de mes tests... Ca prouve qu'ils sont pas trop pourris.
  • # User-agent

    Posté par  (site web personnel) . En réponse au journal Moteur de recherche MSN :en boucle?. Évalué à 2.

    Tu peux aussi ignorer le User-agent avec Apache:

    --
    <Directory /var/www/>
    ...
    Order Allow,Deny
    Allow from all
    Deny from env=bad_agents
    </Directory>
    --

    et plus loin
    --
    BrowserMatch ^ia_archiver bad_agents
    BrowserMatch Google bad_agents
    BrowserMatch ^NPBot bad_agents
    BrowserMatch fast bad_agents
    --
    etc.
  • [^] # Solution

    Posté par  (site web personnel) . En réponse au journal Le ministère de l'intérieur au GPL. Évalué à 2.

    Une solution simple à ce problème récurant ne serait-elle pas de catégoriser les journaux?
    On pourrait par exemple utiliser les mêmes catégories que les news...
  • [^] # Re: Et maintenant, ça va chier...

    Posté par  (site web personnel) . En réponse au journal Et maintenant, ça va chier.... Évalué à 0.

    Surtout que cà me semble pas bien dur à respecter, il faut juste rendre les sources disponibles...
  • [^] # Re: C

    Posté par  (site web personnel) . En réponse au journal C. Évalué à 1.

    J'ai utilisé ce code pour faire exactement ce que tu dis, et ca marchait parfaitement...
  • # Re: Chmod: le blues du dimanche matin ...

    Posté par  (site web personnel) . En réponse au journal Chmod: le blues du dimanche matin .... Évalué à 2.

    On est déjà dimanche???
  • [^] # Re: C

    Posté par  (site web personnel) . En réponse au journal C. Évalué à 1.

    Voici un truc que j'avais écris pour controller l'entrée standard d'un programme (nommé apt, mais rien avoir avec deb) et récupérer ce qui en sortait.
    ----
    int childPid;
    int pipefdin[2],pipefdout[2];

    /* Pipes init */
    if( pipe(pipefdin) == -1 || pipe(pipefdout) == -1 ){
    perror("Creating apt communication pipes");
    exit(1);
    }

    childPid = fork();

    if( !childPid ){

    // son, so we launch apt and we connect
    // its standards channels to pipes

    // close unused channels
    close(pipefdin[1]);
    close(pipefdout[0]);

    // Duplicate stdin to our pipe
    close(STDIN);
    if( dup(pipefdin[0]) == -1 ){
    perror("duplicating apt stdin");
    exit(1);
    }

    // Duplicate stdout to our pipe
    close(STDOUT);
    if( dup(pipefdout[1]) == -1 ){
    perror("duplicating apt stdout");
    exit(1);
    }

    // Duplicate stderr to the same pipe as stdout
    close(STDERR);
    if( dup(pipefdout[1]) == -1 ){
    perror("duplicating apt stderr");
    exit(1);
    }

    // Launch apt
    if( execl(apt_path,apt_path,NULL) == -1 ){
    perror("can't find apt");
    exit(1);
    }

    }else{

    // father, this process, continues execution

    // Close unusable channels
    close(pipefdin[0]);
    close(pipefdout[1]);

    // Return the right values to control the apt
    *aptin_k = pipefdin[1];
    *aptout_k = pipefdout[0];

    }
    ----
    aptin_k doit être le fd pour écrire sur la stdin du prog que tu veux controller, et aptou_k doit être là où tu lis pour récupérer sa stdout...
    En espérant te filer un coup de main...