Damien Metzler a écrit 308 commentaires

  • [^] # Re: php.net

    Posté par  . En réponse au message PHP 5 ... Recherche de cours/docs. Évalué à 3.

    Et puis pour l'objet :

    http://www.php.net/manual/fr/language.oop5.php(...)

    Pour moi si tu fais déjà du php4, la transition à PHP5 ne devrait pas être difficile. Le modèle objet ajoute de nouvelles choses qui sont bien expliquées dans la doc et qui ne sont pas étrangère à qui a déja fait de l'objet avec un autre langage bien connu (interface etc...)

    L'autre aspect intéressant de PHP5 est la gestion des exceptions. La doc est ici :

    http://www.php.net/manual/fr/language.exceptions.php(...)

    SQLite est juste une autre base de donnée parmi celles supportées par PHP. Si tu utilisais MySQL, tu ne devrais pas être trop dépaysé. Et mieux, si tu as utilisé une interface d'abstraction, tu pourrais même ne rien voir de différent :-p

    SimpleXML je n'ais pas encore utilisé, mais ça doit pas être compliqué et ya pleins d'exemples dans la doc.

    Je sais qu'on ne répond pas à ta question directement, mais il se trouve que la doc de PHP est plutôt bien faite à ce niveau là et est très didactique (c'est à mon sens une des raisons de sons succès).

    A part le fait de préférer le papier à la lecture sur écran, j'ai du mal à comprendre le succès des bouquins d'introduction à PHP. La partie Language Reference de la doc est super didactique et je ne parle même pas de la partie "A Simple Tutorial". Pour moi la plupart des bouquin/cours ne font que paraphraser la doc !
    J'ai même du faire une présentation du langage pour une formation dans ma boite, et j'ai juste fait des PPT reprenant la structure de la doc. Bon ok, on peux rajouter des exemple un peu plus complet mais pour moi la doc de référence de PHP est la meilleur référence (et en fichier CHM c'est un bonheur à parcourir !)
  • [^] # Re: UV d'informatique

    Posté par  . En réponse au journal Espionnage chez Valéo: Info ou Intox ?. Évalué à 2.

    C'est clair qu'aux vues de l'UV qu'elle a loupée, c'est vraiment pas une crack en informatique !

    C'est la base de la programmation : passage de paramètres par valeur et par adresse, variables globales/locales.... J'ai fait ça en sup en info !

    Mais c'est vrai que pour brancher un disque dur portable, et faire un copier coller, c'est vachement compliqué !

    Deux solutions :
    1°/ Lili est une espionne. Elle a caché son jeu à l'UTC, et elle espionne vraiment Valéo.
    2°/ Elle est naïve, elle a fait un grosse bourde et s'en est pas rendu compte.

    Le cas n°1 me semble peu probable, si il elle était si forte que ça, elle se serait pas fait choppée. D'autre part, elle aurait pas laissé les données en clair sur son dur à la maison. Pour moi ça aurait été copie directe par ssh en chine et suppression des fichiers sur le disque avec les fameux cycles de nettoyage.

    Le cas n°2 me semble le plus probable. On sait ce que c'est la vie en entreprise pour les stagiaires. Il vaut mieux bosser son rapport à la maison. D'autre part si la sécurité de Valeo est si importante, je ne vois pas pourquoi ils laissent rentrer des ordinateurs portables.

    Une troisième solution qui compliquerait la donne pourrait être que Lili ait été contacté par la Chine une fois qu'elle était en stage chez Valeo pour qu'elle envoie des infos. Du coup elle a pas plus d'expérience que ça, copie les fichiers à la va-vite, ne fait pas attention et se fait chopper.

    Enfin bon, "laissez la police faire son travail, dès que nous aurons de plus amples informations, croyez-moi vous en serez les premiers informés."
  • # Nuxeo CPS

    Posté par  . En réponse au message Recherche de GED. Évalué à 2.

    Un produit très sympa basé sur Zope. C'est un peu lourd, mais tu as vraiment tout pour faire de la GED (Workflow, espaces de publications, gestion des utilisateurs etc...)

    http://www.cps-project.org/(...)
  • [^] # Re: init.d

    Posté par  . En réponse au message Les daemon pour les nuls. Évalué à 3.

    Ca s'appelle System V. En gros tu a 5 niveaux de RunLevel. Le RUNLEVEL par défaut est choisi par ta distribution. Tu peux le voir dans le fichier /etc/inittab.

    Si tu démarres en RUNLEVEL 3, les fichiers contenus dans /etc/rc3.d sont évalués dans l'ordre. Ce sont des liens vers les fichiers contenus dans /etc/init.d. S10 est evalué avant S20 et veut dire start. C'est à dire qu'un lien symbolique s'appelant S10Apache vers /etc/init.d/apache va lanver la commande /etc/init.d/apache start. Les liens commençant par K lancent les commandes avec l'argument stop.

    C'est donc pour cela qu'on fait des scripts de démarrage qui prennent en argument start|stop|status.

    Dans ton cas, tu disposes de deux démons que tu voudrais démarrer. Il faut dans un premier temps démarrer apache et ensuite tomcat. Il te faut donc deux scripts de démarrage qui vont se succéder (S90 et S95 par exemple, à voir avec ta distribution). Les scripts de démarrage pour Apache doivent être assez facile à trouver, pour Tomcat, je ne sais pas. En tout cas, un script de démarrage est assez facile à faire.

    En gros tu as une fonction par action (start|stop). Ces fonctions contiennent la suite d'appel à faire pour démarrer ou stopper ton démon. A la fin, tu as un case sur le premier argument et en fonction qu'il soit start ou stop, tu démarres ou tu stoppes le démon.

    Je sais que ça ne répond pas trop à ta question (tu ne voulais pas faire comme ça), mais cette manière est de loin la plus souple et n'est pas si compliquée que ça (une fois que t'as fais un script, tu les as tous faits).

    Bon sinon, je ne sais pas quelle est ta distribution, mais au moins pour apache les scripts de démarrage existent déjà.
  • [^] # Re: rapport de stage

    Posté par  . En réponse au message Où trouver les sources. Évalué à 3.

    Mmmm.... et ton programme ce serai pas un programme qui poste en double sous LinuxFr ? Parce que là.... deux journaux, deux réponses....
  • [^] # Re: linux invulnérable ?

    Posté par  . En réponse au journal McAfee fait de l'humour. Évalué à 4.

    hé hé pour les windowsNT, vaut mieux pas les mettre à jour pour passer sous W2k : ils s'exposent alors aux virus.

    Là où je bosse, on est obligé de passer de NT vers 2000 et du coup on est obligé d'installer un anitivirus, antiver, antispyware etc... Sous NT, il y a des virus, mais ça fait bien longtemps que plus personne n'en fait !

    Sinon les antivirus sous Linux, c'est aussi par exemple pour scanner des fichiers Windows qui seraient hébergées sur un serveur Samba par exemple. Donc le linux ne serait pas touché, mais les clients le seraient.
  • # c'est peut être un peu bourrin

    Posté par  . En réponse au message Création d'un fork en C, howto. Évalué à 2.

    Je pense que vouloir faire un fork, c'est un peu bourrin. Je n'ai encore jamais programmé avec GTK, mais il doit y avoir des manière beaucoup plus élégante de faire ça.

    Quand tu fais un fork, tu duplique tout l'espace mémoire de ton programme et tu en fais un autre process. Tout ça pour attendre 15s, c'est quant même dommage....

    Dans ta librairie (GTK) il doit forcément y avoir une fonction du genre onIdle ou un truc du genre qui est appelée quand le système n'a rien à faire pas la boucle principale. Dans cette fonction tu peux regarder le delta de temps qui s'est écoulé depuis le début de ton "chronomètre" et mettre à jour ta progress bar...

    Enfin, comme il est dit plus haut, dans la plupart des toolkits, tu as des objets de type Timer qui envoient un évènement toutes les x secondes......

    A mon avis, il doit donc y avoir beaucoup plus simple que le fork et je pense même que c'est le truc à ne pas faire dans ce contexte là (imagine le nombre de fork nécessaires dans un soft du type OpenOffice si il en fallait un à chaque fois qu'on a besoin d'un timer)
  • [^] # Re: Première chose : mise au clair avec unicode

    Posté par  . En réponse au message Convertir en UTF-8. Évalué à 3.

    Après tu peux aussi lire ça :

    http://www.wxwidgets.org/manuals/2.6.0/wx_unicode.html(...)

    qui parle du traitement de unicode dans wxWidget, en gros :
    - tout le temps utiliser wxChar au lieu de char
    - tout le temps utiliser la macro wxT autour des chaines que tu utilises dans le code
  • # Première chose : mise au clair avec unicode

    Posté par  . En réponse au message Convertir en UTF-8. Évalué à 4.

    Ce que je te propose, c'est la lecture de cet article :

    http://french.joelonsoftware.com/Articles/Unicode.html(...)

    Il te permettra de mettre au clair tes notions sur l'unicode et son encodage qui est à mon avis le passage obligé avant de toucher quoi que ce soit sur unicode.

    Après tu pourras certainement mieux chercher pour voir si ce que tu récupère de ton contrôle est une chaine UNICODE et dans quel encodage tu la récupère.

    Enfin tu pourras alors prendre ta chaine de caractère et la convertir en ce que tu veux parec que tu sauras ce que tu fais.
  • # Google....

    Posté par  . En réponse au message Apache Tomcat, Module WebApp. Évalué à 2.

    Il me semblait pas avoir utilisé mod_webapp pour lier mes deux serveurs donc :

    mod_webapp dans Google -> 1er lien

    http://www.apachefrance.com/Telechargement/17/80/(...)

    mod_webapp permet l'intégration transparente de Tomcat dans Apache.
    Attention :
    - il n'y plus de version Win32 fonctionnelle, uniquement les sources pour Linux
    - il faut dorénavant utiliser mod_jk ou mod_jk2 en lieu et place de mod_webapp
  • # ca existe sous Win

    Posté par  . En réponse au message suspend to disk. Évalué à 2.

    Ben tu peux griller les windows qui démarrent de zéro, mais tu grilleras pas les windows qui utilisent déjà cette méthode.

    Sous Linux, je crois que ça fait appel à l'ACPI qui est plus ou moins bien implémenté sur les différentes machines.... du coup des fois ça marche, des fois ça marche pas (comme dans mon cas).

    Bon sinon sous Windows, au bout d'un certain moment faut quand même rebooter a cause des leak des différents soft qui te font consommer plein de ram (j'ai pas dis firefox !!!)

    Enfin voilà, ya pas besoin de réinventer l'eau chaude quoi ....
  • # MBR

    Posté par  . En réponse au message Windows demarre directement - Windows reinstaller aprés Mandriva. Évalué à 2.

    C'est Windows qui a effacé le MBR et mis le sien à sa place.
    Il faut que tu boote avec un liveCD et que tu relance LILO ou Grub pour que ton menu revienne (avec les bons fichiers de conf bien sur)
  • [^] # Re: WebMail wanadoo

    Posté par  . En réponse au journal WebMail wanadoo. Évalué à 2.

    Je ne voudrais pas faire de la pub pour mon FAI (Cegetel), mais j'y ai eu affaire une ou deux fois au début et j'ai été assez surpris en bien....

    Tout d'abord je souhaitais configurer mon modem-routeur ADSL. Il me fallait pour cela les numéros de circuit virtuels et tous les petits truc un peu chiant qui sont configurés par défaut sur leur modem. Le tech que j'ai eu en ligne (et ce dès le premier niveau), n'a eu aucun problème pour me dépanner : il a juste eu à aller chercher dans sa KB parce qu'il ne connaissait pas les canaux par coeur.

    Une autre fois, il y avait un problème sur leur serveur DNS, et le gars a su me donner un autre serveur en me disant de remettre l'ancien deux jours après. Et j'ai bien eu l'impression que les mecs savaient ce que c'était du réseau.... On est bien loin de l'époque ou j'étais chez Wanadoo et que la seule question qu'on me posait était de savoir si j'avais la petite icone en bas à droite.....

    Donc soit j'ai eu deux fois de la chance, soit le service est plutot pas mal.

    En revanche, dans leur suivi de commande ADSL ils sont nuls.... J'ai déménagé et fait suivre la ligne ADSL. Dès que j'ai vu la synchro sur mon modem, j'ai essayé de me connecter => marche po. Je téléphone chez eux pour m'entendre dire que la ligne n'est pas encore activée. J'essaye une semaine plus tard... .pareil. Une semaine après, je téléphone et je demande si par hasard les identifiants auraient pas changé.... la fille me répond que oui et me donne les identifiants, tout en m'assurant que ça ne servait à rien parce que la ligne n'est pas encore activée. Le soir même, je surfais sur Internet ;-)
  • [^] # Re: re

    Posté par  . En réponse au journal Conférence très interessante. Évalué à 4.

    C'est vraiment pas hallucinant, c'est la réalité de tous les jours....

    J'étais chez un client chez qui la sécurité est d'une plus haute importance (défense etc...). Mis à part le fait que j'étais un prestataire et qu'ils mon filé pas mal de codes etc... sans trop être regardant sur qui j'étais voici ce qui m'est arrivé :

    Il y avait un problème sur une station de travail. Après avoir fais remonter le problème aux services en question je me remets à mon travail, allant dépanner d'autres personnes (chgt de souris, de clavier.... super intéressante cette mission !).... Le téléphone sonne : au bout quelqu'un me demande le mot de passe root du site. Bien sur je ne lui donne pas : le gars était furieux en m'engueulant et en me disant qu'il ne pouvait pas me dépanner si je ne lui donnait pas le code etc... etc....

    Je n'ai bien sur pas cédé et le gars a du passer par les voies officielles pour avoir le mot de passe. Il y avait effectivement toute une procédure très contraignante pour y avoir accès et il avait le droit d'y avoir accès....
    Après en avoir discuté avec les collègues, beaucoup auraient filé le mot de passe sans aucun problème. La raison ? Bah tu sais on a déjà bcp de boulot, si on commence à emmerder les personnes qui nous aide on a pas fini !

    J'ai d'autant plus halluciné que dans cette boite, il y a deux circuits de mail : 1 interne et 1 externe + 1PC avec un graveur pour faire la liaisons entre les deux ! Donc le social engineering, c'est vraiment très puissant et tellement simple !
  • [^] # Re: cela doit etre une mode ...

    Posté par  . En réponse au journal Un nouvel erp libre ?. Évalué à 2.

    Ben j'ai suivi le lien du dessous sur l'April et j'ai lu tout ce qu'ils ont imaginé là-bas. Notamment sur les spécifications d'un format de fichier pour stocker une comptabilité.

    J'avoue ne jamais m'être vraiment lancé dans un projet comme ça, mais c'est pour ma copine, et je préfère passer du temps là dessus que de passer 2 jours à faire sa compta sur papier tous les 6 mois !

    Il y a beaucoup d'infos sur le wiki de l'April dont je veux m'inspirer. Dans un premier temps, je vais faire une lib permettant de manipuler les différents objects de leur modèle. Le backend de stockage sera paramétrable (db, xml, etc...)

    Je n'ai pas encore regardé PASCOLI, mais je ne vais pas tarder à le faire (dès que j'aurai un peu de temps). Le but du jeu est bien évidemment de ne pas réinventer la roue.
  • [^] # Re: cela doit etre une mode ...

    Posté par  . En réponse au journal Un nouvel erp libre ?. Évalué à 3.

    Ben comme je le disais, le soft était pour un client pour une appli très particulière (recouvrement des impayés) et n'était donc pas une appli de compta à part entière. J'utilisais des comptes du plan comptable, et du coup je faisais un peu de compta.

    Pour l'atomicité des opération, je me reposais sur le SGBD (Oracle). Un petit BeginTransaction dans mon code ouvrait la transaction et un EndTransaction faisait un commit. Je devais avoir une fonction pour annuler le tout avec un Rollback.

    Comme je le dis, je suis pas un expert en compta. J'ai juste corrigé des bugs sur cette application et ça m'a permis d'apréhender les différents problèmes. Les bugs étaient justement dus au non équilibrage des transactions. C'est pour ça que j'ai tout centralisé dans un unique point de passage.

    Sinon, je pense faire un outil ultra simple de compta pour ma copine qui est infirmière libérale... Je vais voir comment faire ça, ça sera surement libre....
  • [^] # Re: Précision

    Posté par  . En réponse au message /var/spool/mail/user -> /home/user/Maildir/. Évalué à 3.

    Ben c'est donc normal. Avant l'install tu ne demandais pas d'utiliser maildir donc les mails allaient dans /var/spool/mail/[USER]....
    Une fois qu'ils y sont, il n'en bougent plus.

    Tu dois pouvoir trouver des utilitaires pour transférer les mails d'une mailbox à un maildir sur freshmeat ou google.....

    En tout cas, Postfix ne va pas aller rechercher les mails qu'il a déjà livrés.
  • [^] # Re: cela doit etre une mode ...

    Posté par  . En réponse au journal Un nouvel erp libre ?. Évalué à 3.

    Pour ma part, j'ai du coder un logiciel de compta pour un client et ce que j'avais fait, c'était une seule et unique fonction qui prenait 3 arguments : le montant, le compte à créditer et le compte à débiter.

    Au moins avec ça j'étais sur de pas avoir d'écart et je sortais la batte de baseball quand qqn osait faire un insert into direct en base !
  • [^] # Re: Tu es honnête, tu télécharges légalement

    Posté par  . En réponse au journal Je suis honnête, je télécharge légalement. Évalué à 4.

    J'ai lu l'autre jour un truc comme quoi Pascal Nègre avait demandé à la StarAc de recruter surtout des black pour faire du R'n'B parce que c'est ce qui se vendait le mieux en ce moment....

    C'est sur qu'ils donnet leur chance à de "nouveaux talents" et qu'ils aiment la musique. Ca va nous faire une Amel Bent de plus ! Vive la pluralité artistique.

    Qu'ils viennent pas raler si ils vendent plus assez de disques. Ok, il est vrai que le P2P fait baisser les ventes. Je trouve même qu'ils sont vachement fort pour évaluer le manque à gagner ! Maintenant, c'est sur qu'à regarder les artistes comme des vaches à lait, et à prendre que ceux qui marcheront bien, ça ne va pas aider les nouveautés !
  • # RAMFS

    Posté par  . En réponse au message Live cd. Évalué à 3.

    Pour schématiser, un LiveCD, quand il boot copie des fichiers sur une FS en RAM. Du coup on peut écrire sur cette partition. C'est d'ailleur inévitable pour démarer n'importe quel démon (fichier temporaires, fichiers pid etc...).

    Donc, ces partions là sont accessibles en écriture. Généralement tu dispose aussi d'un /home dans lequel tu peux écrire. Tu ne peux cependant bien sûr pas modifier les programmes présents sur le CD-ROM (Read Only Memory)
  • [^] # Re: Une expérience...

    Posté par  . En réponse à la dépêche Concours : réalisation d'un kakémono pour Léa. Évalué à 6.

    Euh.... c'est bien de bourriner et de filer des gros fichiers, mais il me semble que les imprimeurs prennent sans problèmes les .EPS => donc du postscript et possibilité de vectoriser. Du coup, ça pèse pas très lourd et c'est la même qualité.

    Après j'avoue ne pas savoir si Inkscape sait faire de l'export en EPS...
  • [^] # Re: ...

    Posté par  . En réponse au message help. Évalué à 3.

    Ce qui serait sympa en plus c'est de l'écrire en français.... Quand on a déjà du mal à lire la question, ça ne motive pas trop à essayer de répondre....
  • [^] # Re: et donc ?

    Posté par  . En réponse au message debian + vlan + bridge + qos. Évalué à 4.

    Enfin bon, en même temps je préfère, sur un site comme linuxfr, me faire poluer par des journeaux parlant de technique que par des journaux parlant du vote d'hier soir....

    En plus il est vrai qu'on reçoit des réponses plus facilement sur les journaux que dans les forums. Celà est à mon avis du en partie au fait que les forums ne possèdent pas de fil RSS....
  • # 4 colonnes ?

    Posté par  . En réponse au message pb mysql: quel type numérique pour 10.1 2.3 21.5 63.2 ?. Évalué à 2.

    Es tu obligé de faire ça dans une seule colonne ? Si oui, tu seras obligé de passer par du VARCHAR. Sinon il vaut mieux utiliser 4 colonnes ou PostgreSQL et te définir de nouveaux types :-p

    J'ai du mal à percevoir pourquoi tu voudrais le faire dans une seule colonne : aucune fonction SQL ne pourra t'être utile. Donc c'est dans le langage que tu vas utiliser (php, C, python...) que tu pourras utiliser cette colonne après une requête. La requête quant à elle peut faire en sorte de te reformater la chaine en fonction de 4 colonnes (à coup de concat)
  • # Double encodage

    Posté par  . En réponse au message Générer du XML au format UTF-8 avec PHP. Évalué à 2.

    utf8_encode
    Encodes an ISO-8859-1 string to UTF-8 (PHP 3>= 3.0.6, PHP 4 , PHP 5)

    donc il faut que ta chaine de caractère à encoder soit de l'iso-8859-1. Or ce qui sort de ta base c'est de l'utf8. Donc tu fais de la conversion iso8859-1 vers utf-8 sur une chaine utf-8 => ca marche pas.

    Tu as donc deux solutions :
    - soit tu fais de l'utf8_encode seulement sur les parties texte de ton code. Et dans ce cas là la chaine résultant code+db sera de l'utf-8
    - soit tu encode tout ton fichier en utf-8 et tu as plus besoin de faire un utf8_encode.