Bill_Guest
Messages postés1Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention12 juillet 2007
-
12 juil. 2007 à 00:30
cs_toupic
Messages postés18Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention27 janvier 2011
-
6 mai 2008 à 05:57
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_toupic
Messages postés18Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention27 janvier 2011 6 mai 2008 à 05:57
Pour iseult, comme 99% des programmeurs, une tete de con assortie d'un ego surdimentionné, ça change pas
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 5 août 2007 à 22:34
ma facon de tester l'ip, c'est kankrelune qui avait demande ici meme de lui expliquer un code en C sur ces fonctions, ca avait fait un peu discuter... la, ca permet si tu veux, de tester vraiment le fait que ton ip ne contienne que des choses entre 0 et 255...
Pour les types de variables, je suis... disons... contre cette facon de coder : ta variable en C, tu la declares au debut avec son type, ensuite, elle garde ce type, et donc si t'as un probleme, tu vas voir en haut de ta fonction, ou la ou ta variable est declaree... la, c'est different en php, t'as pas un typage aussi soutenu, et on s'en fou au fond... si tu fais une fonction de plus de 50 lignes, alors elle devient assez illisible, ou fait trop de choses seule, (neurocyfer, un operateur de #programmation, salon officiel de codes-sources, appelle ca "fonction ou classes divine" car ca fait tout seul, sans rien demander aux autres, et surtout, on ne sait pas comment ca peut bien marcher...), alors pour de petits morceaux de codes, savoir quel type a une variable... au pire, un echo gettype($var); en debug...
cs_jean84
Messages postés449Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention 5 mars 2009 5 août 2007 à 20:24
Salut all ;-)
Belle ambiance sur ce thread, sympa ^^
Bon j'avais juste quelques remarques, rien de bien mechant :p
Comme me l'avait fait remarquer un jour Malalam, il serait interessant que tu essayes de prefixer tes variables par leurs types ou au moins que tu leurs donnes des noms plus explicite.
Je ne doute pas que le code soit facile a comprendre mais des var qui s'appellent $start ou $end gagnerait (a mon avis) a s'appeller $iPortStart ou $iStartPort ou un truc du genre. C'est du chipotage, je ne met pas en doute tes qualites de developpeur pour autant ;-)
Par contre, j'aurais vu une petite optimisation lors de tes tests avec ces fameuses variables $start et $end. Plutot que de les tester 2 fois (is_numeric() et ensuite if $start >= 655535 [etc]), pourquoi ne pas raccourcir directement avec intval() ?
if ( !long2ip(ip2long($ip))==$ip || $start >=65536 || $end >=65536 || $start <=0 || $end < $start )
echo 'Il y a eu une erreur : veuillez verifier vos parametres (causes possibles : mauvais formats ou valeurs incorrects)';
// ...
}
C'est sur qu'en reflechissant bien, on perd la gestion complete des erreurs et on doit afficher un message generique mais cela me parait mieux que de tester 2 fois les memes variables. Question de gout j'imagine ^^
Je suis etonne du test que tu effectues pour l'adresse ip. Convertir l'ip en format litterale puis la convertir en format numerique, c'est plutot interessant. J'avais l'habitude de tester avec une regex mais je dois dire que cette facon de faire est marrante, je crois que je vais la garder ;-)
Dernier truc, bravo pour la gestion des exceptions. Pas indispensables si on prend bien en compte chaque retour de fonction mais interesant dans sa mise en oeuvre.
Je te met 8 car tu as un peu triche avec fsockopen(), j'aurais prefere voir une source avec socket() mais l'idee est la et le code est plutot solide.
@++
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 23 juil. 2007 à 09:08
Ca c'est très malin, Coucou, très.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 22 juil. 2007 à 23:20
d'ailleur si tu pouvais moderer le mot "conneries" ...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 22 juil. 2007 à 14:41
Bon on arrête les conneries : j'effacerai tout message supplémentaire visant à raviver la polémique.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 21 juil. 2007 à 15:03
"Je doute qu'on puisse écrire indifféremment :
$f = @fsock($ip,$i,$errno,$errstr,$timeout);
et
$f = @fsockopen($ip,$i,$errno,$errstr,$timeout);"
La question ne se pose pas au niveau du code, mais au niveau de la compréhension au niveau du français.
Il est vrai que l'abus de langage fsock/fsockopen ne devrait pas être fait pour que tout le monde puisse comprendre ce que nous disons. Cependant, après avoir rédigé plus de sources et de posts combinés que le nombre de lettres que peuvent contenir ton plus grand post, il arrive parfois que nous utilisons les abréviations pour les fonctions qui sont un peu longue à écrire. Ex : mysql_real_escape_string() ==> escape_string(). Il y en a bien d'autres encore :)
D'ailleurs, si je fais le bilan de ton invervention Jean Marc, voici ce que l'on retiens :
- En php, c'est la fonction fsock() ou fsockopen() ?
- 2) la fonction fsock() mentionnée existe-t-elle en PHP ou est-ce qu'il fallait lire fsockopen() ?
Réponse : Mais là, en l'occurence, il s'agit de fsockopen()
- => "fsock te permet de savoir si un port particulier est ecoute..."
Peux-tu éclairer ma lanterne et me montrer une ou deux lignes de code mettant en oeuvre la commande (ou la fonction) fsock, STP ? Pas fsockopen, fsock tout court, tel que tu l'as écrit. Ca me permettrait d'apprendre quelque chose. Merci.
Réponse : fsock est le diminutif de fsockopen comme tu peux le voir ici : http://fr3.php.net/manual-lookup.php?pattern=fsock fsock n'existe pas...
- Pour ce qui concerne fsock, tu sais très bien que ce n'est pas un diminutif de fsockopen. L'URL que tu as mentionnée fait référence à une recherche dans un manuel web de PHP avec, comme paramètre, un motif de recherche (?pattern=fsock).
- mais je voulais que coucou53 reconnaisse son imprécision dans son explication.
Réponse : C'est cool... j'admets avoir racourci fsockopen en fsock... je l'admets depuis le depart... mais ne vois pas le probleme...
- Et d'ailleurs, CE POINT NON GRAVISSIME EST RÉGLÉ CAR IL L'A ADMIS LUI-MÊME dans son message du 19/07/2007 20:42:57, ce qui n'a provoqué aucun cataclysme. Alors je vois pas pourquoi tu reviens sur quelque chose d'entendu et de classé. C'est vraiment par désir de polémique ou quoi ?
... etc.
Bref, la solution était au dessus depuis le début :) Je vois pas pourquoi il faut absolument y revenir sans cesse :) Surtout quand on se permet de dire par la suite : "Mais vu ton obstination quasi pathologique à vouloir avoir raison coûte que coûte, même quand t'as tort"... Hors c'est toi qui fait de l'obstination sur fsockopen() (à juste titre certes, mais la réponse étant donné plus haut elle n'a plus lieu d'être). Je dis ceci en toute neutralité.
Par contre, je vais à partir de maintenant être moins neutre dans mes propos :
"Mais putain, c'est pas possible ! Non seulement vous êtes butés mais en plus vous êtes bornés !"
Ca, je ne te le permet pas. Quand on prend pas la peine de lire les posts expliquant la "faute fsock()" qui montre qu'il s'agit d'un abus de langage non-intentionnel débouchant sur des excuses... ca s'appèle de la mauvaise foi. Encore cela peut passer... Mais de la à commencer les "vous êtes bornés"... ca commence à faire un peu trop.
J'essaye depuis un bon moment de renforcer ton point de vue JeanMarc, mais tu n'as rien du lire de ce que j'ai mis pour vouloir te retourner également contre moi. J'en déduis donc que tu veux partir seul à la chasse de Coucou contre les définitions serveurs/machines ainsi que fsock()/fsockopen(). Bien. Démerdes toi. Tant pis.
"FhX, qui est peut-être ta deuxième facette"
Comme je l'ai dis plus haut, tu ne regardes absolument rien. Fait une comparaison de nos deux comptes, tu y trouveras des choses bien différentes entre Coucou et moi. Que ce soit au niveau point de vue codage qu'au niveau syntaxique du code. Je ne vois pas comment on peut nous relier tous les deux avec notre style si différent... Mais cela me fait rire quand même :) Car, dans le même registre, je pourrais dire que JeanMarc = Iseult. C'est vrai, le style se ressemble beaucoup ^^. Mais qu'importe.
Et pour terminer :
"Tu vas finir par perdre tout crédit." Ca, ca m'étonnerai beaucoup. Coucou a gagné ses "crédits" grâce à son savoir faire sur PHP qu'il a proposé à la communauté de PHPCS. Sa perte de crédit ne peut se faire que si l'erreur qu'il commet est suffisament grosse. Dans ce cas ci, l'erreur est minime.
Dans le cas opposé par contre, celui qui devrait gagner quelques "crédits", c'est bien toi. Car venir poster sur un forum PHP pour dire "je veux que tu dises que tu t'es trompé" sans prouver quoi que ce soit (que ce soit en terme de sources déposées où d'une ancienneté suffisante sur le forum ), il faut quand même oser. Si j'avais été toi, j'aurais fait le premier post que tu as fais, mais je n'aurais pas continuer l'acharnement par la suite.
Un peu de modération quand on est nouveau ne fait pas de mal. Nous sommes des vieux sur PHPCS, nous avons chacun nos habitudes de langages. Alors certes, pour les nouveaux qui viennent s'inscrire, ils ont un peu de mal. C'est tout à fait compréhensible et nous le comprenons tous. Que vous releviez nos abus de langages ne nous fait pas de mal, mais seulement quand cela reste dans le domaine du respect de l'autre. Ton intervention Jean Marc partait d'une bonne intention et j'étais d'accord avec toi. J'ai d'ailleurs fait la lumière sur le coté réseau de la chose. Non, je n'ai fais qu'appuyer tes dires qui étaient vrais depuis le début.
Ce que je regrètte, c'est l'acharnement que tu as fais sur la fin et c'est bien dommage d'en être arrivé la.
Surtout au point de vouloir remballer Coucou qui est la depuis un bon bout de temps, qui met son temps libre au service de la communauté...
Bref, espérons que ce point est désormais fermé. Etre précis d'accord... mais trop pointilleux non :) Il y a des limites pour tout, que ce soit au niveau des abus de langage mais aussi au niveau de la précision du langage :)
Merci.
DiGhan
Messages postés239Date d'inscriptionsamedi 21 février 2004StatutMembreDernière intervention 3 juin 20101 20 juil. 2007 à 19:30
Exprimer vos rancoeurs par messages privés mais s'il vous plait arrêter.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 20 juil. 2007 à 16:01
cool... et toi t'as toujours pas appris a taper un pseudo... pourtant, le mien est super simple...
c'est vrai que certains admins ne m'apprecient pas enormement... cote orthographe, j'ai jamais pretendu etre un exemple... bien au contraire...
encore une fois, FHX et moi ne sommes pas la meme personne... je ne vois pas comment je pourrais taper deux fois ma doze de code... ca reviendrait a ne pas dormir... sans compter qu'occuper deux places actives sur un forum aussi gros... nan c'est pas du tout credible, je ne sais pas trop comment t'as pu penser ca...
toi t'as aucun sens du respect apparement...
on va relire un pti peu : premier post sur ce sujet : "je ne suis pas super doue en reseau,"... ca resume bien ce qu'on voit par la suite... j'admet, je ne sais pas PRECISEMENT comment marche ping, et ??? ca change quoi ??? c'etait dit des le depart non ???
jeanmarc75
Messages postés10Date d'inscriptionmercredi 18 juillet 2007StatutMembreDernière intervention20 juillet 2007 20 juil. 2007 à 15:45
coucou49, je crois que t'es encore plus con que méchant !
1)
"ca veut probablement dire que VOUS etes d'accord...". Tu t'ériges en arbitre entre l'autre interlocuteur (FhX, qui est peut-être ta deuxième facette) et moi alors que c'est toi qui es à l'origine de la polémique. C'est balèze, ça ! Tu disais des conneries, j'ai tenté de TE PROUVER UNE VÉRITÉ que tu ne voulais pas admettre et c'est toi qui VEUT PROUVER QUE T'AS RAISON. Faut pas renverser la vapeur...
2)
Je vais te faire plaisir. J'arrête la discussion avec toi. T'es trop imbu de ta personne pour accepter la mondre remarque qui fait ressortir tes erreurs et admettre quoi que ce soit. La seule chose que tu acceptes, ce sont les compliments (post du 14/07/2007 01:56:10). A mon avis, tu dois te regarder le nombril tous les matins et te pâmer en disant "Ah ! Ce que je suis bon !". Comme si reconnaître une erreur c'était remettre en cause sa comptétence ou son autorité dans un domaine ! C'est l'investir, au contraire. Mais t'es trop borné pour le comprendre. Ce qui me fait plaisir, au moins, c'est que si moi je le vois, d'autres lecteurs assistent aussi à ton entêtement stupide. Tu vas finir par perdre tout crédit. J'ai plus envie de perdre du temps avec des gens comme toi. Et d'ailleurs, pour avoir relu les 64 posts actuellement présents, je suis apparemment pas le premier que tu fais partir...
"Et le combat cessa, faute de combattants !" (Le Cid). Evidemment, si c'est ton objectif et que tu fais fuir tout le monde, tu finiras par rester seul et tu t'imagineras sans doute avoir raison puis qu'il n'y aura plus personne pour te faire remarquer tes erreurs. Je te plains, mon pauvre !
Mais bon, mettons ça sur le compte d'une certaine jeunesse qui veut et croit tout savoir. 18 ans ! Heureusement qu'ils ne sont pas tous comme toi. Un conseil, quand tu vas au boulot (puisque tu prétends travailler), n'emmène pas ton biberon ! Ca pourrait enlever le peu de crédit que tu dois inspirer, si jamais, vu tes attitudes, tu en inspires...
Salut, coucou98 ! Que Dieu te vienne en aide (y compris en orthographe, pauvre Molière !), moi je peux plus... ;)
Eh ! Les admins... Avec des mecs pareils je vous plains...
Bon courage... :)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 20 juil. 2007 à 12:34
pour le "TU DIS TOI-MÊME CE QUE JE ME TUE À VOUS FAIRE COMPRENDRE :" -> ca veut probablement dire que vous etes d'accord sur ce point... (mais alors, tu ne voudrais pas plutot prouver que tu as raison plutot que de prouver une verite ?)
merci pour cet eclaircissement sur le reseau, je croyais que ce qui etait purement logiciel restait de l'ordre du serveur.
jeanmarc75
Messages postés10Date d'inscriptionmercredi 18 juillet 2007StatutMembreDernière intervention20 juillet 2007 20 juil. 2007 à 12:08
=> Mais putain, c'est pas possible ! Non seulement vous êtes butés mais en plus vous êtes bornés ! Alors que je croyais jusqu'ici avoir affaire à des gens butés mais intelligents, je vais finir par me poser des questions... Je doute qu'on puisse écrire indifféremment :
$f = @fsock($ip,$i,$errno,$errstr,$timeout);
et
$f = @fsockopen($ip,$i,$errno,$errstr,$timeout);
C'est donc pas la même chose. Et bien que tu estimes que ce n'est qu'une histoire de réduction (ce n'est QUE ton avis) ça ne favorise pas la limpidité du discours. Et si je dis "hier j'ai v à té l'émi de dru", c'est vrai que c'est aussi limpide que si j'avais dit "hier soir à la télé j'ai vu l'émission de drucker". C'est aussi limpide car ce ne sont que des réductions. Pis si c'est la même chose il n'a qu'à écrire à la ligne 15 de son script : "$f @fsock($ip,$i,$errno,$errstr,$timeout);" et on n'en parlera plus, on verra. Et y'aurait pas besoin de "tergiverser 40 posts" (ou plus si nécessaire), si l'autre coucou18 avait l'intelligence et l'honnêteté de reconnaitre qu'il ne s'est pas exprimé correctement. Et d'ailleurs, CE POINT NON GRAVISSIME EST RÉGLÉ CAR IL L'A ADMIS LUI-MÊME dans son message du 19/07/2007 20:42:57, ce qui n'a provoqué aucun cataclysme. Alors je vois pas pourquoi tu reviens sur quelque chose d'entendu et de classé. C'est vraiment par désir de polémique ou quoi ?
> Pour clore le débat sur le point serveur/machine :
1)
Pas le peine de vouloir prendre le ton docte de quelqu'un qui s'adresse à un débile en prenant des comparaisons du niveau classe de 6ème, d'autant plus que celles-ci n'expliquent en rien l'objet de la discussion, d'ailleurs.
2)
TU DIS TOI-MÊME CE QUE JE ME TUE À VOUS FAIRE COMPRENDRE :
a) "La commande ping est au niveau d'IP, soit les couches inférieur du modèle OSI."
b) "Un serveur est situé au niveau applicatif des couches du modèle OSI." (soit au dessus d'IP, à la couche 7)
Donc un PING ne remonte pas jusqu'à cette couche et ne teste donc jamais un serveur. La démonstration est dans tes propres paroles !
Ces deux points fsock et PING ont été simplement et sans faire grand tapage soulevés et expliqués dans mon premier post (18/07/2007 11:58:11) et il n'y aurait pas eu besoin de "40 posts" si l'on avait eu affaire à des gens un peu plus objectifs et un peu moins butés et bornés.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 20 juil. 2007 à 04:27
fsock/fsockopen, c'est la même chose.
C'est juste une histoire de réduction... pas la peine de tergiverser 40 posts dessus :)
Pour répondre au serveur/machine.
La machine est le coté physique de la bête. C'est la machine, l'hôte. Pour tester l'existance d'une machine, on utilise la commande PING ( commande de bas-niveau pour le protocole IP ... y'a pas de TCP à ce niveau ! ).
Un serveur est un programme qui attend des connections clients. Pour cela, on utilise différents protocoles ( TCP... SSH (qui passe par TCP), etc... ).
Un serveur est situé au niveau applicatif des couches du modèle OSI. La commande ping est au niveau d'IP, soit les couches inférieur du modèle OSI.
Pour résumer à un être humain :
la machine, c'est l'homme (ou la femme, au risque de paraitre machiste ^^)
le serveur, c'est le cerveau.
le ping, c'est la parole.
la communication, c'est le contenu de la parole.
Voila :)
jeanmarc75
Messages postés10Date d'inscriptionmercredi 18 juillet 2007StatutMembreDernière intervention20 juillet 2007 19 juil. 2007 à 23:57
=> fsockopen() :
voilà déjà un point d'acquis. Ouf ! C'est pas grave du tout et je m'en fous, sauf que si un débutant te lit et qu'il essaye d'utiliser une fonction fsock, il va perdre du temps pour rien -vu qu'elle n'existe pas- et tu vas passer pour quelqu'un qui dit des conneries. Tu crois pas qu'il vaut mieux éviter ça et que tes interventions fassent référence plutôt que de dire "j'ai raison, j'ai raison" et vouloir paraître chébran en utilisant un langage qui se veut initié ?
Et puis il ne faut pas confondre écorcher (ou abréger) le nom d'une fonction et utiliser un sigle. C'est pas du tout la même chose. Et si en plus, comme dans l'exemple que tu cites toi-même (cms) une abréviation peut avoir plusieurs interprétations, raison de plus pour être précis dans ses termes et non être évasif comme si t'étais au dessus de tout ça. Si t'en veux des sigles et acronymes, t'en auras à l'adresse http://www.teaser.fr/~spineau/acrodict/index.php ; et ce sera pas des mots écorchés...
=> PING :
Si tu veux des certitudes sur PING, tu peux lire les RFC suivants :
- RFC 792 : Internet Control Message Protocol (http://www.ietf.org/rfc/rfc0792.txt) - RFC 1739 : A Primer On Internet and TCP/IP Tools (http://www.ietf.org/rfc/rfc1739.txt) - RFC 2925 : Definitions of Managed Objects for Remote Ping, Traceroute, and Lookup Operations (http://www.ietf.org/rfc/rfc2925.txt), rendu obsolète par celui-ci dessous (RFC 4560)
- RFC 4560 : Definitions of Managed Objects for Remote Ping, Traceroute, and Lookup Operations (http://www.ietf.org/rfc/rfc4560.txt) Bref, une lecture qui devrait te permettre de faire la distinction entre protocoles réseau et protocoles applicatifs et donc par la même occasion, faire la distinction entre les logiciels qui constituent la pile TCP/IP (par exemple) et les logiciels serveurs (daemons).
Par ailleurs documente toi sur les firewalls ipchains ou iptables (par exemple) pour voir comment on fait pour refuser (soit avec DENY soit avec REJECT) les messages ICMP (echo-request, type 8 et echo-reply, type 0).
Mais vu ton obstination quasi pathologique à vouloir avoir raison coûte que coûte, même quand t'as tort, je doute de pouvoir t'être d'une quelconque utilité à progresser...
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 19 juil. 2007 à 20:42
c'est cool... j'admets avoir racourci fsockopen en fsock... je l'admets depuis le depart... mais ne vois pas le probleme...
ensuite : cote travail, on utilise des pocket (il faut entendre pocket pc...) des cms (mais faut pas demander ce que ca veut dire, sauf si on veut entendre "composants magnetiques statiques", la vrai signification est "composants montes en surface") etc...
enfin, QUI REPOND AUX PINGS ??? un programme ou une carte directement ??? (je n'ai aucune certitudes quand a la reponse, cependant, on peut desactiver la reponse aux pings, ping respecte un protocol, etc...) si c'est une carte seule qui repond, alors c'est pas un server qui repond, mais si c'est un programme, alors c'est un server... que tu le veuilles ou non... on lui demande une reponse, il la fournit...
et ... encore une fois, tu fais une grosse approximation sur mon pseudo... tu le fais expres et ne tiens pas compte de mes remarques, et ca c'est honteux, car tu ne PEUX PAS deffendre ton point de vue... (apparement ton point de vue est que je possederais les pseudos de la forme coucou[0-9]+ ...)
jeanmarc75
Messages postés10Date d'inscriptionmercredi 18 juillet 2007StatutMembreDernière intervention20 juillet 2007 19 juil. 2007 à 19:51
Mais putain, t'es borné ou quoi, coucou27 ?
Là, je commence à sortir de mes gonds tellement, t'es buté !
1)
Si tu fais un copier/coller d'une URL, ça m'étonnerait aussi que tu trouves en toutes lettres "hypertext transfert protocol deux points slash slash [...]", d'autant que je n'ai jamais dit ça. Dans ton post du 13/07/2007 19:46:48 tu as bien écrit "fsock" au lieu de fsockopen" , oui ou non ? Je l'invente pas ? Encore une fois, c'est comme si j'écrivais "gethost" au lieu de "gethostbyname()". Raconte ce que tu veux, c'est faux, même si c'est pas grave. Point barre.
2)
Dans le copier/coller que t'as fait de la page man de PING c'est écrit "...to elicit an ICMP ECHO_RESPONSE from a host or gateway." ? C'est bien marqué "FROM A HOST" et non "FROM A SERVER" oui ou non ? Et en plus t'ajoute "et aucune option concernant le port..." ! Je l'invente pas, c'est toi qui l'écris ! Alors pourquoi, si y'a pas de notions de port -et pour cause !-, tu affirmais (post du 13/07/2007 19:46:48) que ça donnait le temps de réponse d'un serveur. C'est fou, ça !
3)
Si je t'ai dit d'essayer "ping localhost" et "ping localhost:80" c'est bien pour te permettre de constater la différence. La première commande fonctionne et pas la deuxième. Et je le savais, c'était pour te faire constater par toi-même que la notion de port n'entre pas dans le champ d'application du PING et donc qu'un PING ne teste jamais un SERVEUR. C'est pas mes commandes qui marchent pas, c'est toi qu'es buté et qui ne veut rien comprendre.
C'est pas grave que tu confondes hôte et serveur. C'est pas grave que tu ne connaisses pas le mécanisme d'un PING. Et je m'en fous, d'ailleurs. Mais bon sang de bonsoir, aie au moins l'honnêteté de reconnaître tes approximations comme l'ont reconnu aussi vilhjalms, DiGhan, malalam... Comme dit ce dernier, ça arrive et c'est pas dramatique ni honteux ! On va pas en faire un plat.
C'est pas la nature de l'erreur qui m'énerve car c'est une pécadille et se planter dans son vocabulaire ou ses explications, ça peut arriver à tout le monde. Mais ce qui me fout hors de moi, c'est la mauvaise foi dont tu fais preuve. Même en te démontrant par A+B que tu t'es planté, y'a rien à faire, faut que tu dises que t'as raison, quitte a dire des choses contradictoires. T'es grave, quand même ! J'ose espérer que tu vas t'en rendre compte sinon, je te promets un bel avenir dans tes relations de travail, et t'as du temps devant toi encore...
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 19 juil. 2007 à 18:24
c'est pas une imprecision que de reduire fsockopen a fsock... je suis rigoureux dans mon code, et dans ce que j'ecris, mais bon, quand je copie colle une url, je ne mets pas non plus :
"hypertext transfert protocol deux points slash slash [...]"
je ne suis ni coucou32 ni coucou54, ni coucou tout court ! moi c'est coucou747, rien de plus, rien de moins !
dans les man pages de ping, je trouve :
ping uses the ICMP protocol?s mandatory ECHO_REQUEST datagram to elicit an ICMP ECHO_RESPONSE from a host or gateway. ECHO_REQUEST datagrams
(??pings??) have an IP and ICMP header, followed by a struct timeval and then an arbitrary number of ??pad?? bytes used to fill out the packet.
et aucune option concernant le port...
quand a ma liste de commandes :
"tapes-tu la commande "ping localhost" ou "ping localhost:80" ? Essaye les deux:" j'ai vu ca dans ton message... j'ai applique... maintenant, TES commandes ne marchent pas, c'est pas ma faute...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 19 juil. 2007 à 18:17
Ok bon, tout a été dit, hein :-)
fsock() n'existe pas, Coucou a utilisé un raccourci (et cela peut effectivement prêter à confusion...mais bon, coucou a aussi reconnu que fosck n'existait pas. C'est un diminutif a t il dit, pas un alias...).
Quant à la définition d'un ping, si on la cherche sur le net, parle de machine, pas de serveur. Et sur un réseau quel qu'il soit, quand on pinge une machine, elle n'est pas forcément dôtée d'un serveur quelconque...en effet. C'est un fait.
Inutile de jouer sur les mots.
Parfois, on dit des choses approximatives, ça arrive, ce n'est pas grave...(autant l'admettre car ce n'est franchement pas honteux : on le fait tous à nos heures). Ca n'enlève rien aux connaissances que l'on peut avoir.
jeanmarc75
Messages postés10Date d'inscriptionmercredi 18 juillet 2007StatutMembreDernière intervention20 juillet 2007 19 juil. 2007 à 15:25
Pardon, pardon, pardon... ! 1000 fois pardon si j'ai pu sembler tâtillon :o) C'est peut-être l'informatique qui m'a déformé à ce point :)
Evidemment, je savais que fsock() tout court n'existait pas ; mais je voulais que coucou53 reconnaisse son imprécision dans son explication. Car j'ai pu me rendre compte dans ce domaine que pour être efficace, il valait mieux être rigoureux dans sa syntaxe, dans sa tête comme dans ses propos... et si la fonction fsock n'existe pas, on n'en parle pas. Si dans sa tête (ce dont je n'ai jamais douté, car il le prouve en ligne 15 de son script) il pense fsockopen(), qu'il écrive fsockopen(). C'est comme si, pour simplifier mon écriture, j'écrivais seulement gethost au lieu de gethostbyaddr() ou gethostbyname() ou gethostbynamel(). C'est sûr qu'il se trouverait quelqu'un pour me le faire, à juste titre, remarquer. Et si l'on demande aux autres de la rigueur, il faut aussi se l'imposer à soi même ou reconnaître que la remarque est justifiée.
Ce qui est un peu agaçant dans cet échange, c'est que je suis sûr que coucou32 doit savoir lui-même qu'il a fait des erreurs en parlant de fsock et en "expliquant" le PING sur un "serveur". Mais, bien que sachant avoir fait ces erreurs, il ne veut pas l'admettre et tente malgré tout, pour ne pas perdre la face, de prouver qu'il a raison en justifiant ses propos avec des résultats de commandes (notamment pour la commande PING), résultats qui eux mêmes démontrent l'erreur !!! Ca me parait quand même manquer un tant soit peu d'objectivité et d'humilité même si dans le fond, l'affaire n'est pas gravissime et ne porte pas à conséquence. C'est juste une question d'honnêteté intellectuelle par rapport à soi et aux autres, c'est tout.
Bah ! Et puis je me dis que s'il ne veut pas le reconnaître, dans le fond, c'est pas grave. Les lecteurs de cette page se rendront bien compte que malgré ses dénégations, il s'est trompé. Et y'aura pas mort d'homme pour autant, heureusement !... ;) Le pire qu'il puisse lui arriver c'est qu'on le prenne pour un orgueilleux, ce qui n'est pas fondamentalement grave car ça n'empêche pas de programmer... ;)
DiGhan
Messages postés239Date d'inscriptionsamedi 21 février 2004StatutMembreDernière intervention 3 juin 20101 19 juil. 2007 à 14:23
Jeanmarc75, comme te l'a dit coucou75, fsock n'existe pas. Il s'agit là d'un simple diminutuf de la fonction FSOCKopen. Nous parlons ici de fonctions PHP.
jeanmarc75
Messages postés10Date d'inscriptionmercredi 18 juillet 2007StatutMembreDernière intervention20 juillet 2007 19 juil. 2007 à 12:01
Allons, allons ! Ne sois pas de mauvaise foi, s'il te plait.
Tu sais très bien qu'on désigne un serveur par numéro(ou nom)-de-machine, deux-points, numéro de port (ex: 192.168.0.1:80 et lorsque tu l'écris comme ça, avec les deux points, PING te répond qu'il ne connaît pas cet hôte ("ping: unknown host localhost:80"), car je le répète PING vise un hôte et non un serveur.
En revanche si tu ne mets pas les deux points c'est comme si tu mettais deux paramètres. Comme les options (voir "ping -h") commencent par un tiret, les deux paramètres sont considérés par PING comme une désignation d'hôtes et seul le dernier est pris en compte. Donc dans le cas que tu cites (ping localhost 80), et vilhjalms te l'a très bien fait remarquer, tu cherches à PINGuer l'hôte 80 et d'ailleurs la commande PING te le confirme :
"PING 80 (0.0.0.80) 56(124) bytes of data."
et te renseigne que ça n'a pas abouti puisque les 3 paquets de données transmis n'ont pas été reçus et sont perdus à 100% :
"--- 80 ping statistics ---"
"3 packets transmitted, 0 received, 100% packet loss, time 2009ms"
C'est moi qui suis désolé de te dire que c'est ta tentative de démo, à toi, qui ne tient pas la route. Par ailleurs, tu as assez d'expérience, je crois, pour savoir qu'en informatique, ya pas d'à peu près. C'est un serveur ou ça ne l'est pas, mais on ne peut pas se permettre de dire "c'est une forme de serveur..."
Pour ce qui concerne fsock, tu sais très bien que ce n'est pas un diminutif de fsockopen. L'URL que tu as mentionnée fait référence à une recherche dans un manuel web de PHP avec, comme paramètre, un motif de recherche (?pattern=fsock). En fait, tu recherches (dans ce manuel) la succession de ces 5 caractères : f,s,o,c,k. D'ailleurs, si tu tapes cette URL (celle que tu as citée) ça te tépond :
"Sorry, but the function fsock is not in the online manual.
"Perhaps you misspelled it, or it is a relatively new function
"that hasn't made it into the online documentation yet.
"The following are the 20 functions which seem to be closest in
"spelling to fsock (really good matches are in bold). Perhaps
"you were looking for one of these:
"fsockopen
"pfsockopen
"...etc..."
Je conçois aisément qu'il est désagréable de reconnaître avoir dit des bourdes. Mais aux yeux de tous, ne pas vouloir en démordre, quitte à dire n'importe quoi, c'est quand même se ridiculiser un peu, non ?
vilhjalms
Messages postés591Date d'inscriptionmercredi 20 juillet 2005StatutMembreDernière intervention16 juillet 20092 19 juil. 2007 à 10:12
sur ce... desole de te dire que ta demo tombe a l'eau... c'est bien une forme de server qui repond... idem sur le fait que tu puisses demander a ta machine de ne pas repondre aux pings...
jeanmarc75
Messages postés10Date d'inscriptionmercredi 18 juillet 2007StatutMembreDernière intervention20 juillet 2007 19 juil. 2007 à 00:13
Bonsoir tout le monde, bonsoir coucou,
=> "je ne confonds pas machine et serveur, les deux sont souvent associes"
Je ne pense pas qu'ils soient associés. S'ils le sont c'est dans dans l'esprit des gens ou du moins dans leur manière de s'exprimer. Un serveur "tourne" (est exécuté) sur une machine. C'est la raison pour laquelle bon nombre de personnes parlent improprement du serveur web (ou du serveur ftp) quand ils veulent désigner la machine sur laquelle tourne un serveur web (ou ftp). Ce n'est pas parce que le modèle d'une machine s'appelle "Server AS400" (ou Server autre-chose) qu'elle est pour autant un serveur (au sens réseau du terme, dans une architecture client/serveur, dans un environnement TCP/IP par exemple) si aucun logiciel tournant sur cette machine ne peut fournir un service quelconque.
Comment désignerais-tu la machine sur laquelle sont exécutés simultanément ftpd, httpd, lpd, innd ? Parlerais-tu du "serveur web", du "serveur ftp" (etc...) ou de l'hôte qui héberge des serveurs web, ftp, etc... ?
On parlait de la commande PING. Je supose que tu seras d'accord avec moi pour dire qu'un serveur web répond aux requêtes adressées sur le port 80. Si tu exécutes sur ta propre machine un serveur web, quand tu PINGues ce que tu appelles ton serveur web tapes-tu la commande "ping localhost" ou "ping localhost:80" ? Essaye les deux et tu verras que PING n'a pour destination qu'une interface réseau (derrière laquelle il y a une machine, probablement et sur laquelle, peut-être mais ce n'est pas sûr, tourne un serveur quelconque) mais PING n'a pas pour destination un serveur.
Je ne parlerai pas des clusters (généralement des fermes de calcul) dans lesquels la plupart du temps une tâche est répartie sur plusieurs noeuds. Ca nous éloignerait du PING de départ.
=> "maintenant, c'est pas parce-que la machine ne repond pas qu'elle n'existe pas :)"
Tu as tout à fait raison. Et c'est justement pour éviter les POD que la majeure partie des FAI configurent, entre autres, leurs firewalls pour ne pas répondre aux PINGs (essaye un ping sur un hôte de wanadoo, tu verras). Par ailleurs, je n'ai jamais dit qu'une non réponse à un PING confirmait la non existence d'une machine, seulement qu'en cas de réponse ça confirmait son existence, ce qui est quand même différent.
Mais ce qui me "chicote" un peu c'est que tu dis "c'est pas parce que la machine ne repond pas qu'elle n'existe pas :)" et qu'à la ligne du dessous tu dis "ping te permet de savoir si la machine est la ou non". Je peux me tromper mais ça me parait un peu contradictoire, non ? Peux-tu développer et expliquer le bien fondé de la juxtaposition de ces deux affirmations ?
=> "fsock te permet de savoir si un port particulier est ecoute..."
Peux-tu éclairer ma lanterne et me montrer une ou deux lignes de code mettant en oeuvre la commande (ou la fonction) fsock, STP ? Pas fsockopen, fsock tout court, tel que tu l'as écrit. Ca me permettrait d'apprendre quelque chose. Merci.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 18 juil. 2007 à 18:39
je ne suis pas super doue en reseau, je ne confonds pas machine et serveur, les deux sont souvent associes (un server as400 c'est une machine ?) quand je vois les bebetes qui passent au travail, on appelle les shuttles "bout de cluster" et les sun blade 2500 les serveurs solaris 10 :) (on a d'autres trucs, mais c'etait pour l'exemple). ping est un service comme un autre, une machine n'est pas obligee d'y repondre, maintenant, c'est pas parce-que la machine ne repond pas qu'elle n'existe pas :)
si tu preferes : ping te permet de savoir si la machine est la ou non, et de mesurer le temps de reponse de celle ci...
fsock te permet de savoir si un port particulier est ecoute par un eventuel serveur...
c'est en ce sens que ma remaque allait
Sinon, malalam, si ca c'etait deroule autrement avec kiki, crois bien que j'aurais probablement poste un snippet avec uniquement la fonction... voir rien poste du tout... je m'appercois que de toute maniere, il existe foultitude de sources de ce genre, et celle-ci m'a l'air au dessus de beaucoup, alors de toute facon, meme si elle n'apporte rien pour ses fonctionalites, elle apporte surement une forme de "proposition de mieux"... Pour les templates, c'est pas une bonne idee... d'une part, si j'avais integre ca a un moteur de templates, alors j'aurais mis beaucoup trop de code, ca n'aurait pas ete forcement comprehensible par un debutant... pourquoi taper 1500 lignes propres plutot que 15 sales ?
jeanmarc75
Messages postés10Date d'inscriptionmercredi 18 juillet 2007StatutMembreDernière intervention20 juillet 2007 18 juil. 2007 à 16:36
Merci à tous les deux pour vos réponses. :o)
Bonne fin de journée...
DiGhan
Messages postés239Date d'inscriptionsamedi 21 février 2004StatutMembreDernière intervention 3 juin 20101 18 juil. 2007 à 16:17
En effet, je pense qu'il y a bien eu confusion entre serveur(logiciel) et machine(matériel). Pour la fonction fsock, à mon avis, il fallait bien comprendre fsockopen.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 18 juil. 2007 à 16:04
Mes connaissances en réseau étant ce qu'elles sont...je ne réponds qu'à la question 2:
fosckopen().
Il existe aussi une lib socket dans PHP (et socket_connect() du coup), différente. Mais là, en l'occurence, il s'agit de fsockopen()
jeanmarc75
Messages postés10Date d'inscriptionmercredi 18 juillet 2007StatutMembreDernière intervention20 juillet 2007 18 juil. 2007 à 15:44
1000 excuses mais vous n'avez pas l'un et l'autre répondu à mes deux deux questions ou tout du moins partiellement.
1)
Même si les couches de la pile TCP/IP sont différentes des 7 couches du modèle OSI (on va pas aller détailler les rfc 791 à 793), PING fonctionne de la même manière. S'il reçoit les données envoyées dans une commande d'echo, on en déduit :
- que TCP/IP est implémenté sur les deux machines (source et destination)
- qu'il n'y a pas de rupture dans la connexion réseau entre ces deux machines
- en fonction du temps de réponse, la qualité de cette connexion.
Ca vérifie donc trois choses et pas seulement le temps d'accès à un hôte et encore moins à un serveur qui est un logiciel et non un matériel, d'autant plus que le paramètre obligatoire de PING est soit un nom d'hôte soit un numéro IP et non un numéro de port.
La question que je posais était :
est-ce que je me trompe en disant que coucou47 dans sa réponse faisait la confusion entre serveur et machine ? (ou tout du moins dans son expression écrite car ça peut être clair dans sa tête)
2)
la fonction fsock() mentionnée existe-t-elle en PHP ou est-ce qu'il fallait lire fsockopen() ?
Merci pour vos réponses claires.
DiGhan
Messages postés239Date d'inscriptionsamedi 21 février 2004StatutMembreDernière intervention 3 juin 20101 18 juil. 2007 à 15:09
J'hésitais pour ICMP, effectivement.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 18 juil. 2007 à 14:23
Ouh la non.
ICMP est un protocole de niveau de 3.
Tu utilises l'interface IP pour dialoguer... donc niveau 3.
Le niveau 2 correspond à ARP pour la résolution des adresses mac avec le llc (logical layer control).
Un ping n'est la que pour vérifier le temps d'accès d'un hôte à un autre.
DiGhan
Messages postés239Date d'inscriptionsamedi 21 février 2004StatutMembreDernière intervention 3 juin 20101 18 juil. 2007 à 13:56
Il y a du vrai et du faux. Un ping permet tout simplement de checker les communications réseaux entre matériels et non entre clients/serveurs. Le checking client/serveur est réalisé à l'aide des sockets.
De plus ces 2 types de vérification présentent de grandes différences notamment dans leur place dans le modèle standardisé OSI. Ping utilise ICMP(protocole de niveau 2) alors que les sockets utilisent TCP/UDP(niveau 4).
jeanmarc75
Messages postés10Date d'inscriptionmercredi 18 juillet 2007StatutMembreDernière intervention20 juillet 2007 18 juil. 2007 à 11:58
Je parcourais cette page et quelque chose m'intrigue d'où mon inscription pour poser la question. Mais comme j'ai l'impression en lisant les messages qu'on s'échauffe assez vite ici, j'y vais avec des pincettes. ya pas d'agression, c'est juste une question comme ça... d'accord ?
Un peu plus haut TAYMTOGO demandait (13/07 16h37) "pour connaitre si un server est en marche ou non on envoie un PING. :) non ?"
coucou747 lui a répondu (13/07 18h54) "un ping te permet d'avoir le temps de reponse d'un serveur, voir le errno de fsock te permet beaucoup plus de choses..."
Ya pas une erreur dans la réponse ? Il me semble (mais dites-moi si je me trompe) qu'il y a confusion entre serveur et machine. Un serveur est un PROGRAMME fournissant une prestation à des clients.
Quand on fait un ping sur une machine on le fait sur son nom ou son numéro IP et c'est l'interface réseau sollicitée de cette machine qui répond. Si on arrête tous les serveurs de cette machine (smtp, http, ftp, etc...) et qu'il n'y en a plus un seul en service et si la machine est toujours allumée et connectée au réseau, on aura toujours une réponse au ping. Non ? Dans ce cas, un ping ne permet pas d'avoir le temps de réponse d'un serveur mais la qualité d'une connexion.
D'autant plus qu'il peut y avoir une excellente connexion réseau (temps de réponse aux pings très courts) avec un serveur (http par exemple) tellement sollicité qu'il peine à répondre rapidement.
Est-ce que je me trompe ?
En php, c'est la fonction fsock() ou fsockopen() ?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 18 juil. 2007 à 09:34
Bon, ça va aller là, non ?
D'un côté, on a une incompréhension lié à une note minimale mal expliquée, et de l'autre un sentiment d'acharnement sur "la nouvelle venue dont on ne veut pas". Je pense que les uns et les autres, vous devriez vous laisser une chance.
Coucou, puisque tu me connais, je vais te noter et m'expliquer :
je vais te mettre 7/10.
"dans l'ideal :
on separe html et php
on fait un cache
on ajoute des commentaires, mais bon... faut pas exagerer, c'est pas une source extremement complexe, pour ceux qui ne comprennent pas une fonction, utilisez le manuel php.net "
=> ça ne justifie pas que tu postes un code en l'état, à mon sens.
je ne dis pas qu'il est inutile, car il ne l'est pas. Je ne dis pas que le PHP est mauvais, car il ne l'est pas (même s'il est très simple, mais simplicité ne rime pas avec mal codé...ou en tous cas, c'est une rime pauvre...).
MAIS...dans un soucis de portabilité, le HTML n'a rien à faire là. Seul un débutant aura besoin d'un tel code, alors si tu partages ici pour les débutants, aides les jusqu'au bout : fourni leur un code qu'ils pourront adapter facilement à leur design. Et puis quand bien même ce ne serait pas un code vraiment destiné à du site web, ça ne change rien : le html n'a rien à faire au milieu.
Dans le même ordre d'idée et dans un soucis de partage et d'apprentissage, tu aurais dû commenter un minimum. Oh tu peux encore, hein... ;-) Autant que ton code soit pédagogique.
Au niveau PHP, pour pinailler, is_numeric() ne suffit pas dans ce cas-ci. C'est une vérification a minima.
Enfin, je n'aurais pas balancé une exception moi...on peut avoir envie de continuer le scan même si une connexion échoue.
Si tu avais plus...rigoureux en mettant ce code, il aurait mérité 9 ou 10 selon moi, par contre. Malgré sa simplicité, je le répête.
Voilà.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 18 juil. 2007 à 01:16
"Le problème dans ce milieu (un peu machiste, quand même.. :-) c'est qu'il faut toujours vous "prouver" quelque chose et "montrer patte blanche" pour avoir le droit de parole. C'est le genre : bras de fer d'abord et on voit après qui des deux a le droit de discuter..." Que tu sois une femme, un homme, que tu ais 90 ans ou bien 10 ans, que tu sois brune, blond, rousse où j'en passe je m'en tamponne tu n'imagines pas à quel point.
Quand je dis qu'il faut faire ses preuves, c'est en fonction de ce que tu sais faire et ce que tu peux apporter à la communauté de PHPCS mais certainement pas en fonction de qui tu es. Pour le moment, tu n'as rien montré qui puisse faire penser que tu apportes quelque chose car tu n'as su faire qu'une remarque négative non constructive.
Pour moi, les faits sont la.
Je prend le problème autrement :
Tu possèdes des connaissances dans un domaine assez spécialisé, disons la chimie (j'aurais pu prendre les poupées mais je vais encore voir le mot machiste la où il n'y en a pas.). Tu arrives dans un groupe déja bien implanté qui propose une nouvelle équation chimique. Et toi, tu arrives sans crier gare, avec aucun bagage à portée de vue et tu dis : "mon gars, c'est nul, t'es un débutant toi non ?"
Comment tu penses que les gens vont réagir ?
Maintenant, imaginons une autre scène :
Tu es dans un groupe de gens avec qui vous discutez tous les jours. Et la, un pauvre mec se pointe en disant "vous dites n'importe quoi, regardez les infos et allez vous cultiver un peu..." Je suis sur, de toi à moi, que tu le prendrais très mal.
Ici, c'est identique.
Nous (en particulier moi) ne te demandons pas un effort colossal, mais simplement une petite marque de respect envers tout ceux qui oeuvrent pour que PHPCS soit ce qu'il est aujourd'hui.
Maintenant, que tu critiques de facon négative ca nous interesse tous aussi. Je critique énormément par la négative mais toujours en proposant un choix annexe pour une possible amélioration du concept de base. Il m'arrive d'envoyer des paroles en l'air aussi, mais cela, je le dois à l'expérience que j'ai sur ce site ainsi que de la connaissance des autres membres qui comprennent de quoi je veux parler et cela sans trop m'expliquer.
Maintenant à toi de voir. Soit tu tentes une intégration un tant soi peut correct ( critique argumentative, mise à disposition de code (bien que ce ne soit pas obligatoire) ), soit tu vas voir ailleurs.
Car, comme tu le dis, ce que tu dis à Coucou peut arriver à tout le monde, à moi aussi. Voila pourquoi je défends son point de vue.
Mais de la à dire que parce que tu es une femme... laisse moi rire. Il n'y a que toi qui ais faite ce constat. Nous ce qui nous interesse, c'est ton niveau à PHP et ta capacité à aider les autres. Le reste, on s'en fou.
Pour propre info : "Ce ne sont pas toutes QUE des blondes (pardon pour les blondes :)" Je suis blond et ca ne m'empèche pas de sortir du code PHP. L'excuse de la blondeur ne sert pas ici :)
Mais c'est bien tenté quand même, j'aime beaucoup ;)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 18 juil. 2007 à 00:09
tu peux pas arreter ce debat politiques... on s'en tape de toutes ces futilites... moi ce que je veux savoir, c'est en quoi mon code merite 1/10... quand a l'utilite, ca peut toujours te permettre de savoir si un miroir est accessible ou non, et en benchant, tu peux savoir si il repond vite ou non...
sur ce, desole de t'avoir fait dire tant de conneries... j'aimerais que tu repondes desormais a ma premiere question : que trouves tu de mal code ?
quand au fait que qqn ici soit debutant ou non, encore une fois, c'est toi qui as mis ca sur le tapis... (et j'avais pas poste un code expert non plus... c'etait quand meme ecrit dans le haut de la source, donc c'etait vraiment ecrit juste pour m'agresser...)
cs_iseult
Messages postés8Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention17 juillet 2007 17 juil. 2007 à 23:46
Houla ! coucou747-FhX ! On a la susceptibilité à fleur de peau ?
Codeuse, STP... :-)
Le problème dans ce milieu (un peu machiste, quand même.. :-) c'est qu'il faut toujours vous "prouver" quelque chose et "montrer patte blanche" pour avoir le droit de parole. C'est le genre : bras de fer d'abord et on voit après qui des deux a le droit de discuter...
Je suis désolée, mais je n'ai pas besoin de ça ni d'étaler des lignes de code pour me prouver et savoir ce que je vaux et que tu en doutes, alors là, je m'en fous comme de mon premier sous-tif. Navrée d'avoir à le dire mais la place des nanas ne se trouve pas que derrière les fourneaux... Ce ne sont pas toutes QUE des blondes (pardon pour les blondes :)
Quand on se veut objectif sur les appréciations on ne fait pas de distinction entre appréciations positives ou négatives. Ce n'est pas parce que l'une est positive qu'elle peut être dispensée de justification.
Il vous faut des compliments pour aller mieux ?
Et bien voila : Monsieur coucou747-FhX, vous êtes le meilleur, le plus fort, le plus intelligent, le plus beau ! Vous êtes le Phenix des codes de ce site. Y'a pas meilleur programmeur que vous sur terre. Stallman, Torvalds, Lerdorf and Co sont désormais finis. Out of order ! Basta ! La nouvelle génération coucou747-FhX est arrivée. Prosternons nous... Prions le ciel de n'avoir à leur faire que des compliments. Tremblons à l'idée d'oser commencer penser que leur code pourrait souffrir de la moindre imperfection, car ce serait un sacrilège...
Je suis morte de rire :-))) mais pardon si je me lâche un peu sur mon dernier message (oui, car j'ai assez perdu de temps) mais ça m'a soulagée devant tant de fatuité...
Ciao i bambini, me la batto...
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 17 juil. 2007 à 20:50
:)
"En fait, l'idée en disant ça était plus celle de faire ressortir que ce sont ceux qui en savent le moins qui parlent le plus, que celle de l'envie de chercher querelle, ce qui ne présente aucun intérêt."
Le seul problème, c'est que pour le moment tu n'as prouvé aucune capacité en tant que "codeur" (ou codeuse, au choix). De ce fait, quand on vient quelque part sans avoir montré patte blanche et dire "ce que tu viens de faire, c'est nul", sans rien argumenter derrière... je suis désolé mais ca fait un petit peu provocateur tu ne trouves pas ?
A la limite, tu nous aurais montré de quoi tu es capable, l'esprit critique "je lache une phrase pour dire que c'est nul" ne t'aurais jamais été reproché (ou alors, sur une moindre mesure).
"Bizarrement je constate des appréciations/notations qui ne sont pas justifiées (je précise: pour lesquelles on n'a pas fourni les raisons justifiant les appréciations/notations fournies). Personne n'est choqué." En effet, sur une appréciation positive, pas besoin de tergiverser sur 70 lignes. Dire qu'on apprécie suffit amplement à dire que le script est suffisament bon pour ne pas avoir à y retoucher.
Cependant, lorsqu'on trouve qu'un script n'est pas complet ou alors qu'il est mauvais d'un point de vue lisibilité ou respect des stardards, il faut le dire et ne pas simplement lacher "c'est nul".
Voila l'unique point de reflexion que je te fais remarquer. Imagine si tout le monde faisait comme toi... personne n'avancerait ! Voila l'unique reproche que je peux te faire actuellement.
"FHX, je suis ouvert a tes critiques aussi (sauf si c'est le manque de {} rappelle (notice) par le mode E_STRICT de l'error_reporting)
" Mis à part ce que j'ai énoncé plus haut pour le isset(), je viens de voir ca :
# try{
# for ($i=$start; $i<=$end; $i++){
# if (getErrno($i, $ip))
# echo 'Port : '.$i.' ouvert
Il y a une erreur ici. Imaginons que tout se passe bien. Le scan de port se fait... j'en suis à $i=10000;
Et puis tout à coup, la connection se coupe...
Tu te retrouves avec une exception jeté et puis ton script s'arrète.
Sauf que la connection qui a été coupé se relance au bout de 2 sec (soit 1 sec de + que ton timeout).
Et la, ton script ne continu pas... il est arrété.
J'aurais modifié le script comme ceci :
for ( $i = $start; $i <= $end; $i++ ){
try {
if ( getErrno($i, $ip) ) {
echo 'Port : '.$i.' ouvert
Quelque chose dans le genre. De ce fait, si il y a une coupure supérieur au timeout du socket, on passe au port suivant.
Après, y'a toujours :
# '<form action="?">
# adresse ip :
A mettre en fonction etc... mais étant un script basique, je ne relève pas ce genre de chose.
Y'a aussi le fait d'être plus strict pour les entiers/chaines de caractères m'enfin bon ^^
Voila ce que je peux en dire :)
cs_iseult
Messages postés8Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention17 juillet 2007 17 juil. 2007 à 20:02
Tu veux parler d'une rubrique, sans doute ?
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 17 juil. 2007 à 19:59
si c'est pas pour parler de la source mais de codes-sources, ouvre un topic sur le forum categorie divers...
cs_iseult
Messages postés8Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention17 juillet 2007 17 juil. 2007 à 19:55
FhX, faut savoir transposer...
Quand je dis "C'est toujours les petites ceintures jaunes ou ceux qui viennent de débuter et d'apprendre deux ou trois trucs qui cherchent la bagarre, histoire d'épater ;", tu me réponds "Hors, c'est exactement ce que tu fais." en faisant allusion à la polémique involontairement provoquée par ma remarque.
En parlant des "petites ceintures jaunes... qui cherchent la bagarre", je voulais dire, et je pensais que j'étais claire, "... qui cherchent des prétextes à montrer le peu qu'ils savent ou croient savoir, histoire d'épater ;". Naturellement, en matière de sport de combat le savoir porte plus sur les bagarres que sur une compilation de code, d'où la phrase... En fait, l'idée en disant ça était plus celle de faire ressortir que ce sont ceux qui en savent le moins qui parlent le plus, que celle de l'envie de chercher querelle, ce qui ne présente aucun intérêt.
Je ne suis pas ici, comme tu dis, 'pour donner des notes et dire "c'est pourri" quand ca l'est... sans donner aucune explication'. J'ai trouvé des sources magnifiques d'ingéniosité (ex: celui d'etiennexxx9 et son traceur de robots). A propos de ce script, j'ai lu en commentaires :
- Beau travail étienne, si seulement jmy conaissait en php!!
- Vraiment pas co**e ton astuce
- Ca c'est une idée qu'elle est bonne, je donne 10/10
- Tellement bien que je l'ai converti en ASP...
- Je trouve l'idée vraiment géniale, ca c'est une vrai astuce... Je met 10 sans hésiter !
- etc...
Bizarrement je constate des appréciations/notations qui ne sont pas justifiées (je précise: pour lesquelles on n'a pas fourni les raisons justifiant les appréciations/notations fournies). Personne n'est choqué. En clair :
- complimenter et bien noter sans fournir de raison ne choque personne et tout le monde accepte
- mal noter sans fournir de raison est un crime de lèse-développeur...
Curieux, comme attitude...
Tu as raison, FhX, Je m'interroge sur le bien-fondé de ma place ici...
Malalam, 1000 excuses. J'ai relu ton précédent message et effectivement tu avais bien précisé entre parenthèses : "c'est destiné à tout le monde, ça".
(NB: Mais quand même..., une tête de mort... ! :-)
Renfield, tu parlais de la participation sous forme de messages dans les forums. J'en ai parcouru quelques uns et y ai constaté sur certains la mention "Réponse acceptée". N'est-il pas possible pour un membre quelconque, au lieu de cette mention, de mettre une note à la réponse à une question (une seule, car le "notant" est identifié), une note sur la pertincence de sa réponse ou de sa proposition ? Ceux qui font toujours, aux yeux de leurs pairs, des réponses pertinentes seront facilement identifiables et davantage crédibles que ceux qui déposent et participent à tout va pour augmenter leur total de points. De plus, la combinaison "note-due-aux-scripts" et "note-due-aux-discussions" permettrait de tracer un profil utilisateur plus significatif qu'un nombre de points et de repérer très vite les "frimeurs" qui, scolairement, "travaillent" pour la note ("ouais, un type qui fait un truc propre pour php5 aura une note de merde, alors que celui qui code pour php3 sans les fonctions supprimees aura un code parfaitement obsolete, avec des morceaux redondants, mais ca sera portable, youpi !").
coucou747,
---
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 17 juil. 2007 à 19:24
bien bien bien... alors on va s'expliquer clairement...
Lisibilité // je t'attends :) la c'est pas trop commente, normal, t'as aucune classe, et rien de complique... juste une simple fonction de reutilisable...
Algorithme // tu parles de son implementation pas de l'algo en lui meme vu ce que tu as marque... peu de gens font des algos compliques sur phpcs, et parfois, tu choisis un algo pour montrer comment il marche et non pour avoir l'algo de plus faible complexite...
Utilité // parfois on fait des choses inutiles pour demontrer un truc, et si on y arrive, on merite une bonne note, pour ca, j'ai fais des choses sur la securite, genre des demos de failles, un casseur de captcha, etc...
Portabilité // ouais, un type qui fait un truc propre pour php5 aura une note de merde, alors que celui qui code pour php3 sans les fonctions supprimees aura un code parfaitement obsolete, avec des morceaux redondants, mais ca sera portable, youpi ! (pour s'arreter a php3) Mon code est fait pour php5 qui existe deja depuis 3 ans... si tu fais du web, faut etre un minimum a jours... pour ce qui est des libs, bah l'utilisation d'une lib telle que gd ne rendra pas le script fonctionnel sur tout hebergeur, ni sur chaque version de php, ni meme portable sous divers os... et on devrait les saquer pour ca ? Autant faire comme sur javascriptfr ou on indique des le depart sur quel systeme ca peut (ou non) tourner...
pour le </head></html>, pardonnez moi, comme vous avez pu le lire si vous etes arrive au debut de la vie de cette source, l'idee et une partie du html est de kiki, et donc, j'ai laisse trainer une de ses erreur, (maintenant, c'est une erreur de validation parmi 50)
bon, moi je demande clairement a savoir ce que tu reproches a ma source et non a moi... par source, j'entends code, pas utilite, ni meme lisibilite (bien que ma source du bas de ses 75 lignes ne puisse etre traitee de peu lisible...)
FHX, je suis ouvert a tes critiques aussi (sauf si c'est le manque de {} rappelle (notice) par le mode E_STRICT de l'error_reporting)
maintenant, je voudrais simplement savoir quoi ameliorer, et comment...
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 17 juil. 2007 à 17:26
"carotte pour stimuler la participation" ce sont même mes mots ^^
les admins veillent a la suppression de sources redondantes, inutiles, etc (calculatrices, convertisseurs, exercices scolaires, etc) pour éviter des derives.
mais la aussi, pas simple de juger.
la participation, c'est aussi sur le forum que cela se passe, pour bon nombre de membres qui ne postent pas de source. Il serait donc dommage de ne fixé ce 'score' que sur les notes obtenus sur les sources.
le systeme de notation que tu decris est sympathique, a voir pour l'adapter pour tous les sites du réseau, car pas tous portables directement (pas les meme themes)... mais interessant.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 17 juil. 2007 à 17:04
Je n'ai pas eu l'impression d'être sec, ce n'était pas mon intention. Juste d'étayer mes propos.
Il faut comprendre que je suis au taf et que ce n'est pas forcément évident d'écrire un long message agréablement tourné dans ces conditions.
Si j'ai supprimé les notes, c'est parce qu'en lisant les commentaires, je n'en ai vu aucun expliquant les manques éventuels. Dans ce cas, je supprime systématiquement en expliquant pourquoi.
Nous ne passons pas d'examen ici, et j'estime toujours qu'on n'est pas ici pour sanctionner un code d'une note cinglante sans autre forme de procès.
Je ne pense pas que tu ailles contre ça non plus.
mon "inutile d'être agressif...etc" était, je le répête, destiné à tout le monde, vu la tournure que prenaient ces commentaires. Absolument pas à toi en particulier.
Pour la petite histoire, ma "tête de mort", c'est un personnage appelé curieusement "Death", dessiné par un des illustrateurs ayant créé beaucoup des couvertures des livres de Terry Pratchett, auteur que j'adore depuis fort longtemps. "Death" est un personnage finalement très humain -bien plus que nombre de véritables humains- dans ses romans, souvent touchant et drôle. Comme quoi, les apparences... ;-) Je ne pense pas que bcp de monde ici te dira que je suis un méchant admin, ivre de pouvoir et plein de condescendance depuis son piédestal.
Donc, désolé si je me suis mal fait comprendre. Ce malentendu sera sans doute dissipé un jour si tu décides de rester encore un peu parmi nous.
PS : après une erreur réseau, je vois ton message, Iseult, et suis d'accord avec le fait que l'amélioration du système de points serait sympa.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 17 juil. 2007 à 17:04
Bon bon bon ...
">"1) ce n'est pas mon arrivée récente qui fait de moi une débutante"
>Personne n'a encore dit ca.
Apparamment, c'est sous-entendu car :
>"vu ton arrivee aujourd'hui il y a 5 minutes, no sources, no messages, rien du tout, et deja un 1/10..."
Faut être là depuis 10 ans pour avoir le droit d'avoir un avis ? Ton ego en a pris un coup ?"
C'est un problème au niveau de l'interprétation tout ca... Je t'ai expliqué pourquoi Coucou a eu cette réaction mais apparament tu n'en a pas tenu compte. Je me cite au cas où tu n'aurais pas vu : "On a eu/vu tellement de boulets en si peu de temps que nous nous méfions un petit peu (trop)."
Espérons que ce point est compris.
"2) FhX, Tu parles d'une façon telle qu'on dirait que t'étais avec lui quand il l'a écrit ! T'es sûr que vous n'êtes pas tous les deux la même personne ? Surtout quand on voit que vos deux inscriptions sont de la même année à quelques mois d'intervalle ? Et tu te fais tellement bien son avocat que c'est comme si tu te défendais, toi !"
Je rigole, c'est bien la première fois qu'on me dit ca :)
Coucou, il semblerait que nous ayons un lien tous les deux =) Merci pour ce moment de plaisir ^^
Bref, revenons. Non, je ne connais Coucou que par l'intermédiaire de PHPCS. Cependant, je le connais assez bien ( au niveau code ) pour savoir quand il bacle un code et quand il ne le fait pas. En ce qui concerne l'inscription la même année, disons que c'est un coup de chance... sans plus. Je ne vois pas en quoi ca porte un quelconque intérêt d'ailleurs.
Ce qui est étonnant, c'est que plus haut tu mets : "C'est toujours les petites ceintures jaunes ou ceux qui viennent de débuter et d'apprendre deux ou trois trucs qui cherchent la bagarre, histoire d'épater ;" Hors, c'est exactement ce que tu fais. Pourquoi t'en prendre à moi alors que je ne fais qu'exposer un point de vue ?
De plus je te ferai remarquer que je ne protège pas Coucou tant que ca. J'ai admis le fait que son code n'était pas vraiment très propre... sauf que je n'ai pas l'impression que tu ais lu mon post en entier et en profondeur. Dommage.
L'unique conclusion de ton intervention Iseult se résume à dire :
- "Si tu ne veux pas être pris pour un gamin,"
- "c'est que tu as très certainement atteint ton propre niveau d'incompétence"
- "J'ai pas à me justifier, bien que je l'ai fait globalement "
- "j'attendrais pas, comme une gamine, à ce qu'on me dise pourquoi."
C'est assez impressionnant je trouve. Pour quelqu'un qui fait l'éloge du "je n'ai rien à prouver", on peut dire que tu balances beaucoup.
Comme je l'ai déja dit plus haut, tu es ici sur un site communautaire. Quand quelque chose ne va pas (en l'occurence ici un code PHP), il faut en parler, en débattre, donner son appréciation et pas seulement lacher une pauvre note dans la nature.
Si un jour tu as le plaisir de poster un code, tu aimerais bien savoir ce que les gens en pensent (amélioration possible, utilisation de fonction que tu ne connais peut être pas, etc...). C'est ce que Coucou cherche à savoir. Il n'y a rien de scolaire la dedand. Nous sommes tous ouvert les uns aux autres. Il nous arrive même parfois d'avoir de gros différents entre nous ( si j'ai bon souvenir il y a quelques mois... c'était le débat sur objet/vitesse d'exécution ).
Maintenant, si tu es ici simplement pour donner des notes et dire "c'est pourri" quand ca l'est... sans donner aucune explication de ton propre point de vue, il me semble que tu n'as pas ta place ici.
Reste à savoir ce que tu veux réellement sur ce site !
cs_iseult
Messages postés8Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention17 juillet 2007 17 juil. 2007 à 17:00
Salut à toi, Zorro qui arrive avec son grand chapeau et son grand lasso... :o)
Merci de calmer vouloir le jeu mais ce n'est pas parce qu'une justification n'est pas formulée qu'elle n'existe pas et n'a pas sa raison d'être. Dans ce cas, il conviendrait de revoir et de modifier le système. Plusieurs notes attribuées par le même individu, surtout quand ceux-ci sont identifiés, ne devrait pas être possible sur un tel système, qu'il s'agisse de la même après-midi ou pas.
Par ailleurs, le système devrait dans ce cas interdire toute note attribuée sans justification. Et comme il est très difficile d'analyser une appréciation textuelle, l'appréciation devrait se faire d'une autre manière.
Je propose une autre façon de le faire : trois, quatre, cinq, six critères d'évaluation (ou plus : ils sont à déterminer) et pour chacun de ces critères : son libellé, une note entre 1 et 10 (ou 20) et une raison choisie dans une liste déroulante -LD- (parmi les raisons les plus fréquentes dans la catégorie).
Exemple :
Lisibilité [LD de 1 à 10 pour la note] [ LD pour la justification de la note]
Algorithme [ 9 ] [ Utilisation appropriée de classes pour ce type de traitement ]
Utilité [ 3 ] [ Ne sert que des besoins très particuliers ]
Portabilité [ 10 ] [ fonctionne sous toutes les versions de PHP ]
autre cat. -- idem --
La note générale serait la moyenne des notes de catégories et ne pourrait être validée que si toutes les catégories sont renseignées. Quand on ne peut choisir QUE dans des textes existants (les plus récurrents), ça évite les dérives dans un sens comme dans l'autre, ça oblige à évaluer les différents aspects (utilité, lisibilité, algorithme, etc...) et en l'absence d'un commentaire textuel, ça donne une idée des raisons de la note. Naturellement, chaque membre ne pourrait evaluer un dépôt qu'une seule fois et pas les siens et les commentaires textuels, non obligatoires, pourraient compléter l'évaluation contrôlée. Mais à partir du moment où le système autorise qu'un même individu note plusieurs fois un même dépôt, qu'une note peut être mise sans obligation de justification, on n'est pas TENU de justifier sa note, même s'il avait été de "bon ton d'étayer un peu sa notation".
En parcourant un peu ce site, j'ai lu dans les forum qu'un nouveau venu avait demandé ce qu'était le système de points. On lui a répondu que c'était une carotte pour stimuler la participation. Il serait peut-être bon aussi de supprimer l'attribution automatique de points par le système au profit d'une notation du membre d'après l'ensemble des notes de ses dépôts (encore une fois, ceux-ci étant jugés pour leur utilité, leur efficacité, leur lisibilité, etc... par l'ensemble des déposants). Car dans le cas d'une attribution automatique à chaque dépôt, cela incite tous les narcissiques à déposer à outrance quitte à déposer n'importe quoi pourvu que ça rapporte des points et flatte leur ego. Là où je travaille, y'a plein de petits jeunes qui croient dur comme fer être les héros du futur "War game". Le jugement des pairs est plus sûr et impitoyable avec les frimeurs...
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 17 juil. 2007 à 15:58
je viens de survoller le code...
amusant (entre autres), le
</head>
en fin de fichier :p
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 17 juil. 2007 à 15:46
on se calme les enfants ^^
libre a chacun d'utiliser le ton qu'il souhaite, le fiat d'être admin n'y change rien, chacun a son caractère...
disons que la source possédait apparemement quelques 1/10 qui n'étaient pas justifiés...
quelques "plaisantins" donnent 20 fois 1/10 dans le même après midi. Quel crédit apporter a ces notes ?
le réseau CodeS-SourceS n'est pas une simple vitrine où l'on dépose du code, dans le but de recevoir des commentaires élogieux, comme tu semble le croire de plus en plus. C'est un grand réseau d'entraide. Le forum est très actif, et l'on y trouve très souvent la réponse a de nombreuses questions. Les sources ont pour but de partager ses connaissances, de confronter son travail aux remarques et au conseils/critiques d'autres membres ; bref d'améliorer la perception de chacun, de faire évoluer un peu les connaissances de tous.
les commentaires, a ce titre, sont bien plus importants que les notes...
il est de bon ton d'etayer un peu sa notation, si elle est extrême, ou sort un peu de la note moyenne distribuée, nous n'avons pas tous les mêmes attentes face a un même code, ni la même approche. Encore moins le même niveau en programmation, beaucoup sont encore étudiants, et programment même par loisir...
le commentaire de malalam aura au moins eu l'effet souhaité : te faire réagir (pas toi personnellement, mais ceux qui ont attribué 1/10 sans expliquer le pourquoi de la chose).
Maintenant, il est vrai que si les points noirs d'une source ont déja ete mentionnés, il est certainement inutile de justifier un 1/10 de plus... je te l'accorde volontiers.
pour conclure, je t'invite a t'impliquer dans le réseau CodeS-SourceS, tu m'a l'air d'avoir une tête bien faite, solidement vissée sur tes épaules...
il serait dommage que ton experience et ton point de vue ne profitent a chacun.
bonne continuation, et a bientôt sur le réseau.
Renfield
cs_iseult
Messages postés8Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention17 juillet 2007 17 juil. 2007 à 15:31
Keep cool, Malalam !
Je suppose que tu es l'admin (ou l'un des admins) de ce site pour pouvoir :
1) parler comme ça,
2) décider de modifier une note (cf. : "... j'ai viré les 1/10.". Décision arbitraire ?)
Si ta démarche était aussi simple que ça, la mienne n'était pas bien compliquée non plus. Je me suis inscrite sur un site qu'on m'avait recommandé. Le premier script sur lequel je tombe est naze (suis désolée pour lui, mais c'est comme ça). Je dis ça vaut pas plus de 1. C'est tout ! J'ai pas à me justifier, bien que je l'ai fait globalement ("utilité du code, algorithme développé, formatage du source, lisibilité de l'ensemble, efficacité, portabilité, etc..."), je n'ai pas à détailler caractère par caractère. Est-ce que quand tu passes ton diplôme d'ingénieur à Centrale l'examinateur perd du temps à justifier la note qu'il te met, non ? Il te l'attribue. Alors ? Et comme je ne me sens pas du tout l'âme d'une examinatrice, encore moins à justifier... Je n'ai pas de pédagogie à faire non plus. Si je devais déposer un script (mais vu l'accueil, j'en doute de plus en plus) et qu'on me dise qu'il est naze, j'essayerais au moins comprendre pourquoi, j'attendrais pas, comme une gamine, à ce qu'on me dise pourquoi. Ensuite, soit je comprends et je corrige soit je hausse les épaule et je continue. Faut dire tout de suite si les seuls commentaires autorisés sont les commentaires élogieux et qui flattent l'ego.
Et puis si le site était conçu dans ce sens, on ne pourrait pas mettre de note sans y associer obligatoirement une justification. Le seul fait qu'on puisse le faire laisse supposer que justifier ses appréciations est peut être apprécié mais n'est pas une obligation.
Par ailleurs, je ne me suis montrée ni agressive ni blessante. En revanche, le ton sec et péremptoire de votre dernier message, renforcé par un avatar "tête de mort" ne laisse pas supposer une cordialité débordante...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 17 juil. 2007 à 14:04
Je n'ai rien décrété, et je n'ai pas non plus noté. Mais il me semble légitime de demander à ce que les notes, et surtout les mauvaises, soient commentées. La critique fait avancer. Une sale note toute seul n'apporte rien.
Ma démarche était aussi simple que ça.
Bref, je n'ai rien l'intention de provoquer chez toi, je me fiche pas mal de ce que tu penses de ce code : c'est ton avis, je n'ai aucun problème avec ça. J'estime juste qu'un site comme celui-ci est fait pour partager ET pour aider les gens à avancer? Et en ce sens, si on décide de noter, il est normal que l'on explique sa note.
Inutile de devenir agressif ou blessant (c'est destiné à tout le monde, ça). On est là pour discuter, apprendre, partager.
Si là n'est pas votre but, autant éviter tout commentaire ou note. Le dédain silencieux reste supportable, après tout.
cs_iseult
Messages postés8Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention17 juillet 2007 17 juil. 2007 à 13:40
>"1) ce n'est pas mon arrivée récente qui fait de moi une débutante"
>Personne n'a encore dit ca.
Apparamment, c'est sous-entendu car :
>"vu ton arrivee aujourd'hui il y a 5 minutes, no sources, no messages, rien du tout, et deja un 1/10..."
Faut être là depuis 10 ans pour avoir le droit d'avoir un avis ? Ton ego en a pris un coup ?
> '--> merci de ne pas dire "va voir ca, c'est fait pour toi parce que t'es une brèle"'
J'ai jamais pensé que t'étais une brèle ! Simplement que t'es un débutant qui essaye de convaincre ce que tu appelles la communauté que tu es doué en programmation. Va voir à la sortie des salles de sport. C'est toujours les petites ceintures jaunes ou ceux qui viennent de débuter et d'apprendre deux ou trois trucs qui cherchent la bagarre, histoire d'épater ; c'est jamais les ceintures noires qui connaissent leurs capacités et qui savent qu'ils n'ont pas besoin de la démontrer pour en être sûrs. Ca me fait penser à une réflexion de (hélas) je ne sais plus qui : "La culture, c'est comme la confiture. Moins on en a, plus on l'étale". C'est valable aussi pour la connaissance, même technique. :-)
> "si tu es si douee que ca en programmation php, ..."
Où m'as-tu vu écrire ça ? Je sais ce que je vaux, ce que je sais faire et ce que je dois encore appendre et j'ai pas envie d'étaler un CV, ce qui ne voiudrait rien dire.
Description du script par coucou747 : "Ce code n'est pas parfait, mais..."
Commentaire FhX: > "Certes, mal écrit, on ne peut pas dire le contraire :) Mais Coucou a fait ca en vitesse... "
Deux choses:
1) Je ne fais que confirmer ce qui est marqué deux fois dans cette page dont une fois par l'"Auteur" lui-même (avec un Grand "A", courbette, siouplait... :o)
2) FhX, Tu parles d'une façon telle qu'on dirait que t'étais avec lui quand il l'a écrit ! T'es sûr que vous n'êtes pas tous les deux la même personne ? Surtout quand on voit que vos deux inscriptions sont de la même année à quelques mois d'intervalle ? Et tu te fais tellement bien son avocat que c'est comme si tu te défendais, toi !
> "Disons que tu utilises PHP en ligne de commande (via php-gtk)..."
Disons que sur ma machine locale j'utilise Perl en ligne de commande qui va solliciter l'interpréteur PHP d'une autre machine de mon réseau afin de provoquer le déclenchement d'un script PHP sur le serveur web de mon hébergeur pour que celui-ci me retourne la liste des fichiers présents dans le répertoire courant de ma machine locale! C'est pas mal comme script, non ? 'Achement utile, ça ! Sûr que le monde entier en aura besoin !
> "L'unique question qu'on peut se poser, c'est pourquoi se faire chier à le coder alors que ca existe déja ? Pour le simple plaisir"
... de se regarder le nombril en s'écriant : "Ah, qu'est-ce que je suis bon !" et de mesurer sa compétence au nombre de lignes écrites. (Mais j'ai quand même effrayée quand je vois celles qui font l'objet de ces remarques).
Si tu ne veux pas être pris pour un gamin, ne te comporte donc pas de façon aussi scolaire où il faut que le prof note l'erreur en la soulignant, la commente et te demande de la corriger. Je pense que ton code (dont on peut se demander la réelle utilité) laisse largement à désirer. Je te le fais simplement remarquer sans animosité aucune. Si tu n'es pas capable de voir toi-même là où il pêche, c'est que tu as très certainement atteint ton propre niveau d'incompétence (cf. voir le "Principe de Peter")
Malalam, tu peux si tu veux enlever le 1/10, tu peux aussi lui mettre 9 ou même 10/10, je ne serai pas désappointée pour autant (je n'ai d'ailleurs pas à l'être). Ca n'enlève ou ne rajoute rien à ce que ça vaut réellement. Si l'on prend en compte l'ensemble des paramètres (utilité du code, algorithme développé, formatage du source, lisibilité de l'ensemble, efficacité, portabilité, etc...), 1 sur 10 c'est bien payé mais tu peux décréter, toi, que ça vaut 10/10 et qu'il n'y a rien d'autre de meilleur sur terre, ça ne change rien à ce qui est et je ne serai pas obligée de forcer sur le maquillage pour masquer les boutons. Ca ne m'en provoquera pas :-)
Mais bon, j'ai pas envie de me prendre la tête, surtout pour ça, je suis déjà assez occupée comme ça.
Allez, bonne journée...
simonviei
Messages postés17Date d'inscriptionjeudi 13 avril 2006StatutMembreDernière intervention 1 décembre 2008 17 juil. 2007 à 12:45
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 17 juil. 2007 à 09:17
Hello,
j'ai viré les 1/10. J'attends des commentaires plus étayés justifiant les 1/10.
Je reconnais qu'à première vue, le code peut sembler un code de débutant pour un regard pas très expérimentés. Mais en l'occurence, il faut ne pas oublier une chose : ce n'est pas la complexité d'un code qui fait sa qualité.
Inutile de mettre des objets, des exceptions, des de l'abstraction, de l'interface, du design pattern là où c'est...inutile.
Enfin, les noteurs ont sans doute leurs raisons, je les attends car leur avis peut être très intéressant, et laisserai alors les notes.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 17 juil. 2007 à 07:16
j'ai commence le php quand php5 a ete propose, evidement, j'ai mis plus ou moins de temps a m'y faire, mais bon, comme globalement, php4 et php5 ont de grosses differences, on va dire que j'ai pu ne pas perdre trop de temps... ok, j'ai pris le temps avant de faire de l'objet (j'ai mis le temps avant d'aimer ca aussi) mais je ne fais pas que du php... J'en suis a plusieurs dizaines de milliers de lignes de php aussi (rien que 7 000 pour un erp, et 18 000 pour un moteur de blog pour deux de mes codes les plus volumineux... si on compte mon code de 51 classes qui est encore en developpement... bah je crois qu'on ne peut pas dire que je sois un debutant en php...)
et cote prog, ca ne fait pas 15 ans evidement, mais deja... 8
bon, ca c'etait pour te dire que je ne suis pas un debutant...
ensuite, tu dis que ma source est mal codee, j'aimerais bien alors savoir pourquoi...
si c'est pour le melange de php et de html, alors pour une source de 75 lignes, un moteur de template, c'est pas vraiment une solution... ni un tas de classes dom...
sinon, mon code passe en etant avec un php.ini correct (l'error reporting a E_ALL, etc...) les erreurs sont traites, les verifs de formulaires aussi...
si tu es si douee que ca en programmation php, alors je suis ouvert a toute critique, si tu ne veux pas detailler sur ce qui est mauvais... alors inutile de mettre 1/10 comme ca, ca ne fera pas avancer les choses...
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 17 juil. 2007 à 02:51
"ta fonction ne fonctionne pas, elle throw meme si la machine existe, mais le port est ferme..."
Oh, je croyais que ca marchait quand même ... tant pis pour moi.
"Jamais vu de code aussi inutile en PHP et aussi mal écrit..."
Je ne comprends pas moi non plus la réaction. Certes, mal écrit, on ne peut pas dire le contraire :) Mais Coucou a fait ca en vitesse... donc il n'est pas tant à blamer que ca.
Inutile je ne pense pas. Je m'explique. Disons que tu utilises PHP en ligne de commande (via php-gtk), tu te fais une appli coté cliente qui va tester les ports ouverts/fermés de ton routeur ou d'un autre routeur. L'unique question qu'on peut se poser, c'est pourquoi se faire chier à le coder alors que ca existe déja ? Pour le simple plaisir. Ou alors pour avoir un logiciel clairement adapté à son besoin. Mais rien n'est inutile :)
"Mais le premier sur lequel je tombe me déçoit quand même un peu. Pas de chance !"
Il ne faut pas juger sur le premier code. Coucou en a fait de bien meilleurs et qui traitent de sujets assez diverses. Un code ne veut absolument rien dire. Moi aussi, j'ai fais des codes pourris...
"1) ce n'est pas mon arrivée récente qui fait de moi une débutante"
Personne n'a encore dit ca.
"2) Je ne me prétendrai jamais créatrice d'un "framework machin truc" si ce n'est pas vrai"
Toutes nos excuses, mais c'est l'habitude de dire quelque chose comme ca. On a eu/vu tellement de boulets en si peu de temps que nous nous méfions un petit peu (trop).
"3) Tu n'as pas à vouloir quoique ce soit à mon égard et surtout me dire ce que je dois dire."
L'explication est la clef de l'amélioration. Si tu n'expliques pas ton point de vue avec des arguments valable, ton commentaire ne sert strictement à rien.
Nous sommes ici en communauté. Pour la plupart, nous nous connaissons tous grâce aux codes que nous publions, mais aussi aux critiques constructives que nous nous faisons entre nous.
Certes, quelques fois il arrive que certains commentaires soient mal pris par certains membres... mais dans l'ensemble tout se passe normalement bien :)
"Et vu ton âge, tu auras du mal à me convaincre que tu as 15 ans d'expérience derrière toi :o)"
C'est ce que je disais plus haut... espérons que personne ne relèvera la remarque qui n'a pas lieu d'être.
"Je te conseille simplement de lire les sources de ceux et celles qui ont de l'expérience en programmation et qui ont écrit des choses utiles."
Je vais quand même terminé sur ca :
--> merci de ne pas dire "va voir ca, c'est fait pour toi parce que t'es une brèle" alors qu'on n'a pas encore fait ses preuves. Simplement par respect des autres membres de PHP Codes-Sources.
Voila pour l'apparté... j'espère que ca ne partira pas en vrille :/
cs_iseult
Messages postés8Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention17 juillet 2007 16 juil. 2007 à 23:50
Un collègue développeur m'a prévenue de l'existence de ce site. Je pensais y trouver des développements de qualité et m'y suis inscrite. Mais le premier sur lequel je tombe me déçoit quand même un peu. Pas de chance !
Suis désolée, j'aurais peut-être dû chercher un peu plus parmi les autres scripts, j'en aurais sûrement trouvé d'autres qui valent la peine.
Ensuite :
1) ce n'est pas mon arrivée récente qui fait de moi une débutante
2) Je ne me prétendrai jamais créatrice d'un "framework machin truc" si ce n'est pas vrai
3) Tu n'as pas à vouloir quoique ce soit à mon égard et surtout me dire ce que je dois dire.
Je pense que c'est un code de débutant et je le dis, sans méchanceté mais en toute objectivité, c'est tout. Et vu ton âge, tu auras du mal à me convaincre que tu as 15 ans d'expérience derrière toi :o) C'est pas une tare, il faut bien débuter un jour... Je te conseille simplement de lire les sources de ceux et celles qui ont de l'expérience en programmation et qui ont écrit des choses utiles. Je suis sûre qu'il doit y en avoit sur ce site
Hé ! Ce n'est qu'un avis... OK ? Keep cool :-)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 16 juil. 2007 à 23:20
je te laisse detailler...
que trouves tu mal ecrit ? et pourquoi dis tu que je suis debutant ?
(vu ton arrivee aujourd'hui il y a 5 minutes, no sources, no messages, rien du tout, et deja un 1/10... on va supposer un multi compte... j'imagine aussi que tu vas dire etre createur d'un framework machin truc, je te coupe de suite, je m'en moque, ce que je veux, c'est uniquement que tu me dises ce que tu trouves de mal code sur cette source...)
cs_iseult
Messages postés8Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention17 juillet 2007 16 juil. 2007 à 23:15
Jamais vu de code aussi inutile en PHP et aussi mal écrit...
Suis désolée mais tu dois être débutant, non ?
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 16 juil. 2007 à 18:32
ta fonction ne fonctionne pas, elle throw meme si la machine existe, mais le port est ferme...
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 16 juil. 2007 à 13:20
Propre peut-être pas non :)
Correction :
<?php
function PortOuvert($port, $ip, $timeout=1){
if ( ($f @fsockopen($ip, $port, $errno, $errstr, $timeout) ) FALSE )
throw new Exception('Can\'t connect to '.$i);
close($f);
return ( $errno === 0 );
}
simonviei
Messages postés17Date d'inscriptionjeudi 13 avril 2006StatutMembreDernière intervention 1 décembre 2008 16 juil. 2007 à 12:48
SAns forcement passer par une class (c'est vrai que là se serait con)
C'est juste pour ne pas gerer un code posé directectement dans la page :
"
if (isset($_GET['ip']) && isset($_GET['start']) && isset($_GET['end'])){
[...]
</form>';
"
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 16 juil. 2007 à 07:26
pour la fonction d'acces :
function getErrno($i, $ip, $timeout=1)
pour la class... $a=new ??? j'aurais mis quoi comme objet ? il aurait contenu quoi comme variables membres et methodes ? C'etait selon moi pas la bonne solution
je parle de php5 pour le try catch trhow new Exception
simonviei
Messages postés17Date d'inscriptionjeudi 13 avril 2006StatutMembreDernière intervention 1 décembre 2008 16 juil. 2007 à 07:06
Il aurait peut être été interessant de faire une fonction qui generere le form, les tentative d'acces aux ports demandés et une qui retourne le résultat, en gros, une class, sachant que tu parles de php5 :)
DiGhan
Messages postés239Date d'inscriptionsamedi 21 février 2004StatutMembreDernière intervention 3 juin 20101 15 juil. 2007 à 03:24
Ce genre de source reste trés commune, c'est dommage de ne pas avoir poussé un petit peu plus le développement. Par exemple, établir une correspondance entre le numéro de port et le type de protocole auquel il est assigné (21=>FTP, 80=>HTTP, ...). Puis à la fin du scan, afficher un tableau récapitulatif avec les entetes suivantes :
NUMERO PORT
PROTOCOLE DE COMMUNICATION (TCP / UDP)
PROTOCOLE APPLICATIF (FTP, HTTP, TELNET, ...)
ETAT (OUVERT / FERME)
TOTAL
Une simple liste des ports les plus utilisés aurait surement apporté une touche d'originalité.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 14 juil. 2007 à 01:56
merci :)
Laurent00777
Messages postés39Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention21 avril 2008 14 juil. 2007 à 01:27
Comme d'habitude,
L'utile alié à l'agréable, en toute simplicité cette fois...
10/10 ;-))
vilhjalms
Messages postés591Date d'inscriptionmercredi 20 juillet 2005StatutMembreDernière intervention16 juillet 20092 13 juil. 2007 à 23:35
Code propre et utile
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 13 juil. 2007 à 19:46
un ping te permet d'avoir le temps de reponse d'un serveur, voir le errno de fsock te permet beaucoup plus de choses...
taymtogo
Messages postés5Date d'inscriptionjeudi 29 mars 2007StatutMembreDernière intervention13 juillet 2007 13 juil. 2007 à 18:54
(corrige si je me trempe )
mais scanner les ports ca veut dire => savoir quels sont les port
ouvert et quels sont fermés .
pour connaitre si un server est en marche ou non on envoie un PING .
:) non ?
( dézolé si je t'agasse avec mes commentaires !)
cs_depression
Messages postés100Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention13 juillet 2009 13 juil. 2007 à 16:37
kiki67100 > Malhonnête, et mauvais joueur avec ça...
Et arrête de te tirer la couverture!
10/10 pour Coucou747
cs_twisteurwin
Messages postés167Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention 2 mai 2009 13 juil. 2007 à 13:17
Salut !
Le code est propre et ça sert toujours sur le web ou en intranet ... je remonte la note :p
kiki67100
Messages postés313Date d'inscriptionsamedi 6 mai 2006StatutMembreDernière intervention10 août 20131 13 juil. 2007 à 11:03
Lol tu la quand même sorti :( << ton code >>
Sinon c'est un bonne source ;)
ciao ...
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 13 juil. 2007 à 00:58
alors :
la fonction getErrno peut te permettre de savoir si un serveur smtp distant est en marche ou non (par exemple, mais ca peut-etre tout type de serveur)
j'ai fait ca pour des raisons plus ou moins louables, cette source ne constitue pas une attaque, ni un espionage, c'est plus une correction des sources ici presentes et peu correctement codes [...]
taymtogo
Messages postés5Date d'inscriptionjeudi 29 mars 2007StatutMembreDernière intervention13 juillet 2007 12 juil. 2007 à 09:16
tu peut nous dire stp a quoisert de scanner les ports ??
6 mai 2008 à 05:57
5 août 2007 à 22:34
Pour les types de variables, je suis... disons... contre cette facon de coder : ta variable en C, tu la declares au debut avec son type, ensuite, elle garde ce type, et donc si t'as un probleme, tu vas voir en haut de ta fonction, ou la ou ta variable est declaree... la, c'est different en php, t'as pas un typage aussi soutenu, et on s'en fou au fond... si tu fais une fonction de plus de 50 lignes, alors elle devient assez illisible, ou fait trop de choses seule, (neurocyfer, un operateur de #programmation, salon officiel de codes-sources, appelle ca "fonction ou classes divine" car ca fait tout seul, sans rien demander aux autres, et surtout, on ne sait pas comment ca peut bien marcher...), alors pour de petits morceaux de codes, savoir quel type a une variable... au pire, un echo gettype($var); en debug...
5 août 2007 à 20:24
Belle ambiance sur ce thread, sympa ^^
Bon j'avais juste quelques remarques, rien de bien mechant :p
Comme me l'avait fait remarquer un jour Malalam, il serait interessant que tu essayes de prefixer tes variables par leurs types ou au moins que tu leurs donnes des noms plus explicite.
Je ne doute pas que le code soit facile a comprendre mais des var qui s'appellent $start ou $end gagnerait (a mon avis) a s'appeller $iPortStart ou $iStartPort ou un truc du genre. C'est du chipotage, je ne met pas en doute tes qualites de developpeur pour autant ;-)
Par contre, j'aurais vu une petite optimisation lors de tes tests avec ces fameuses variables $start et $end. Plutot que de les tester 2 fois (is_numeric() et ensuite if $start >= 655535 [etc]), pourquoi ne pas raccourcir directement avec intval() ?
if (isset($_GET['ip']) && isset($_GET['start']) && isset($_GET['end']))
{
$ip = intval($_GET['ip']);
$start = intval($_GET['start']);
$end = intval($_GET['end']);
$fermes=0;
if ( !long2ip(ip2long($ip))==$ip || $start >=65536 || $end >=65536 || $start <=0 || $end < $start )
echo 'Il y a eu une erreur : veuillez verifier vos parametres (causes possibles : mauvais formats ou valeurs incorrects)';
// ...
}
C'est sur qu'en reflechissant bien, on perd la gestion complete des erreurs et on doit afficher un message generique mais cela me parait mieux que de tester 2 fois les memes variables. Question de gout j'imagine ^^
Je suis etonne du test que tu effectues pour l'adresse ip. Convertir l'ip en format litterale puis la convertir en format numerique, c'est plutot interessant. J'avais l'habitude de tester avec une regex mais je dois dire que cette facon de faire est marrante, je crois que je vais la garder ;-)
Dernier truc, bravo pour la gestion des exceptions. Pas indispensables si on prend bien en compte chaque retour de fonction mais interesant dans sa mise en oeuvre.
Je te met 8 car tu as un peu triche avec fsockopen(), j'aurais prefere voir une source avec socket() mais l'idee est la et le code est plutot solide.
@++
23 juil. 2007 à 09:08
22 juil. 2007 à 23:20
22 juil. 2007 à 14:41
21 juil. 2007 à 15:03
$f = @fsock($ip,$i,$errno,$errstr,$timeout);
et
$f = @fsockopen($ip,$i,$errno,$errstr,$timeout);"
La question ne se pose pas au niveau du code, mais au niveau de la compréhension au niveau du français.
Il est vrai que l'abus de langage fsock/fsockopen ne devrait pas être fait pour que tout le monde puisse comprendre ce que nous disons. Cependant, après avoir rédigé plus de sources et de posts combinés que le nombre de lettres que peuvent contenir ton plus grand post, il arrive parfois que nous utilisons les abréviations pour les fonctions qui sont un peu longue à écrire. Ex : mysql_real_escape_string() ==> escape_string(). Il y en a bien d'autres encore :)
D'ailleurs, si je fais le bilan de ton invervention Jean Marc, voici ce que l'on retiens :
- En php, c'est la fonction fsock() ou fsockopen() ?
- 2) la fonction fsock() mentionnée existe-t-elle en PHP ou est-ce qu'il fallait lire fsockopen() ?
Réponse : Mais là, en l'occurence, il s'agit de fsockopen()
- => "fsock te permet de savoir si un port particulier est ecoute..."
Peux-tu éclairer ma lanterne et me montrer une ou deux lignes de code mettant en oeuvre la commande (ou la fonction) fsock, STP ? Pas fsockopen, fsock tout court, tel que tu l'as écrit. Ca me permettrait d'apprendre quelque chose. Merci.
Réponse : fsock est le diminutif de fsockopen comme tu peux le voir ici : http://fr3.php.net/manual-lookup.php?pattern=fsock fsock n'existe pas...
- Pour ce qui concerne fsock, tu sais très bien que ce n'est pas un diminutif de fsockopen. L'URL que tu as mentionnée fait référence à une recherche dans un manuel web de PHP avec, comme paramètre, un motif de recherche (?pattern=fsock).
- mais je voulais que coucou53 reconnaisse son imprécision dans son explication.
Réponse : C'est cool... j'admets avoir racourci fsockopen en fsock... je l'admets depuis le depart... mais ne vois pas le probleme...
- Et d'ailleurs, CE POINT NON GRAVISSIME EST RÉGLÉ CAR IL L'A ADMIS LUI-MÊME dans son message du 19/07/2007 20:42:57, ce qui n'a provoqué aucun cataclysme. Alors je vois pas pourquoi tu reviens sur quelque chose d'entendu et de classé. C'est vraiment par désir de polémique ou quoi ?
... etc.
Bref, la solution était au dessus depuis le début :) Je vois pas pourquoi il faut absolument y revenir sans cesse :) Surtout quand on se permet de dire par la suite : "Mais vu ton obstination quasi pathologique à vouloir avoir raison coûte que coûte, même quand t'as tort"... Hors c'est toi qui fait de l'obstination sur fsockopen() (à juste titre certes, mais la réponse étant donné plus haut elle n'a plus lieu d'être). Je dis ceci en toute neutralité.
Par contre, je vais à partir de maintenant être moins neutre dans mes propos :
"Mais putain, c'est pas possible ! Non seulement vous êtes butés mais en plus vous êtes bornés !"
Ca, je ne te le permet pas. Quand on prend pas la peine de lire les posts expliquant la "faute fsock()" qui montre qu'il s'agit d'un abus de langage non-intentionnel débouchant sur des excuses... ca s'appèle de la mauvaise foi. Encore cela peut passer... Mais de la à commencer les "vous êtes bornés"... ca commence à faire un peu trop.
J'essaye depuis un bon moment de renforcer ton point de vue JeanMarc, mais tu n'as rien du lire de ce que j'ai mis pour vouloir te retourner également contre moi. J'en déduis donc que tu veux partir seul à la chasse de Coucou contre les définitions serveurs/machines ainsi que fsock()/fsockopen(). Bien. Démerdes toi. Tant pis.
"FhX, qui est peut-être ta deuxième facette"
Comme je l'ai dis plus haut, tu ne regardes absolument rien. Fait une comparaison de nos deux comptes, tu y trouveras des choses bien différentes entre Coucou et moi. Que ce soit au niveau point de vue codage qu'au niveau syntaxique du code. Je ne vois pas comment on peut nous relier tous les deux avec notre style si différent... Mais cela me fait rire quand même :) Car, dans le même registre, je pourrais dire que JeanMarc = Iseult. C'est vrai, le style se ressemble beaucoup ^^. Mais qu'importe.
Et pour terminer :
"Tu vas finir par perdre tout crédit." Ca, ca m'étonnerai beaucoup. Coucou a gagné ses "crédits" grâce à son savoir faire sur PHP qu'il a proposé à la communauté de PHPCS. Sa perte de crédit ne peut se faire que si l'erreur qu'il commet est suffisament grosse. Dans ce cas ci, l'erreur est minime.
Dans le cas opposé par contre, celui qui devrait gagner quelques "crédits", c'est bien toi. Car venir poster sur un forum PHP pour dire "je veux que tu dises que tu t'es trompé" sans prouver quoi que ce soit (que ce soit en terme de sources déposées où d'une ancienneté suffisante sur le forum ), il faut quand même oser. Si j'avais été toi, j'aurais fait le premier post que tu as fais, mais je n'aurais pas continuer l'acharnement par la suite.
Un peu de modération quand on est nouveau ne fait pas de mal. Nous sommes des vieux sur PHPCS, nous avons chacun nos habitudes de langages. Alors certes, pour les nouveaux qui viennent s'inscrire, ils ont un peu de mal. C'est tout à fait compréhensible et nous le comprenons tous. Que vous releviez nos abus de langages ne nous fait pas de mal, mais seulement quand cela reste dans le domaine du respect de l'autre. Ton intervention Jean Marc partait d'une bonne intention et j'étais d'accord avec toi. J'ai d'ailleurs fait la lumière sur le coté réseau de la chose. Non, je n'ai fais qu'appuyer tes dires qui étaient vrais depuis le début.
Ce que je regrètte, c'est l'acharnement que tu as fais sur la fin et c'est bien dommage d'en être arrivé la.
Surtout au point de vouloir remballer Coucou qui est la depuis un bon bout de temps, qui met son temps libre au service de la communauté...
Bref, espérons que ce point est désormais fermé. Etre précis d'accord... mais trop pointilleux non :) Il y a des limites pour tout, que ce soit au niveau des abus de langage mais aussi au niveau de la précision du langage :)
Merci.
20 juil. 2007 à 19:30
20 juil. 2007 à 16:01
c'est vrai que certains admins ne m'apprecient pas enormement... cote orthographe, j'ai jamais pretendu etre un exemple... bien au contraire...
encore une fois, FHX et moi ne sommes pas la meme personne... je ne vois pas comment je pourrais taper deux fois ma doze de code... ca reviendrait a ne pas dormir... sans compter qu'occuper deux places actives sur un forum aussi gros... nan c'est pas du tout credible, je ne sais pas trop comment t'as pu penser ca...
toi t'as aucun sens du respect apparement...
on va relire un pti peu : premier post sur ce sujet : "je ne suis pas super doue en reseau,"... ca resume bien ce qu'on voit par la suite... j'admet, je ne sais pas PRECISEMENT comment marche ping, et ??? ca change quoi ??? c'etait dit des le depart non ???
20 juil. 2007 à 15:45
1)
"ca veut probablement dire que VOUS etes d'accord...". Tu t'ériges en arbitre entre l'autre interlocuteur (FhX, qui est peut-être ta deuxième facette) et moi alors que c'est toi qui es à l'origine de la polémique. C'est balèze, ça ! Tu disais des conneries, j'ai tenté de TE PROUVER UNE VÉRITÉ que tu ne voulais pas admettre et c'est toi qui VEUT PROUVER QUE T'AS RAISON. Faut pas renverser la vapeur...
2)
Je vais te faire plaisir. J'arrête la discussion avec toi. T'es trop imbu de ta personne pour accepter la mondre remarque qui fait ressortir tes erreurs et admettre quoi que ce soit. La seule chose que tu acceptes, ce sont les compliments (post du 14/07/2007 01:56:10). A mon avis, tu dois te regarder le nombril tous les matins et te pâmer en disant "Ah ! Ce que je suis bon !". Comme si reconnaître une erreur c'était remettre en cause sa comptétence ou son autorité dans un domaine ! C'est l'investir, au contraire. Mais t'es trop borné pour le comprendre. Ce qui me fait plaisir, au moins, c'est que si moi je le vois, d'autres lecteurs assistent aussi à ton entêtement stupide. Tu vas finir par perdre tout crédit. J'ai plus envie de perdre du temps avec des gens comme toi. Et d'ailleurs, pour avoir relu les 64 posts actuellement présents, je suis apparemment pas le premier que tu fais partir...
"Et le combat cessa, faute de combattants !" (Le Cid). Evidemment, si c'est ton objectif et que tu fais fuir tout le monde, tu finiras par rester seul et tu t'imagineras sans doute avoir raison puis qu'il n'y aura plus personne pour te faire remarquer tes erreurs. Je te plains, mon pauvre !
Mais bon, mettons ça sur le compte d'une certaine jeunesse qui veut et croit tout savoir. 18 ans ! Heureusement qu'ils ne sont pas tous comme toi. Un conseil, quand tu vas au boulot (puisque tu prétends travailler), n'emmène pas ton biberon ! Ca pourrait enlever le peu de crédit que tu dois inspirer, si jamais, vu tes attitudes, tu en inspires...
Salut, coucou98 ! Que Dieu te vienne en aide (y compris en orthographe, pauvre Molière !), moi je peux plus... ;)
Eh ! Les admins... Avec des mecs pareils je vous plains...
Bon courage... :)
20 juil. 2007 à 12:34
merci pour cet eclaircissement sur le reseau, je croyais que ce qui etait purement logiciel restait de l'ordre du serveur.
20 juil. 2007 à 12:08
$f = @fsock($ip,$i,$errno,$errstr,$timeout);
et
$f = @fsockopen($ip,$i,$errno,$errstr,$timeout);
C'est donc pas la même chose. Et bien que tu estimes que ce n'est qu'une histoire de réduction (ce n'est QUE ton avis) ça ne favorise pas la limpidité du discours. Et si je dis "hier j'ai v à té l'émi de dru", c'est vrai que c'est aussi limpide que si j'avais dit "hier soir à la télé j'ai vu l'émission de drucker". C'est aussi limpide car ce ne sont que des réductions. Pis si c'est la même chose il n'a qu'à écrire à la ligne 15 de son script : "$f @fsock($ip,$i,$errno,$errstr,$timeout);" et on n'en parlera plus, on verra. Et y'aurait pas besoin de "tergiverser 40 posts" (ou plus si nécessaire), si l'autre coucou18 avait l'intelligence et l'honnêteté de reconnaitre qu'il ne s'est pas exprimé correctement. Et d'ailleurs, CE POINT NON GRAVISSIME EST RÉGLÉ CAR IL L'A ADMIS LUI-MÊME dans son message du 19/07/2007 20:42:57, ce qui n'a provoqué aucun cataclysme. Alors je vois pas pourquoi tu reviens sur quelque chose d'entendu et de classé. C'est vraiment par désir de polémique ou quoi ?
> Pour clore le débat sur le point serveur/machine :
1)
Pas le peine de vouloir prendre le ton docte de quelqu'un qui s'adresse à un débile en prenant des comparaisons du niveau classe de 6ème, d'autant plus que celles-ci n'expliquent en rien l'objet de la discussion, d'ailleurs.
2)
TU DIS TOI-MÊME CE QUE JE ME TUE À VOUS FAIRE COMPRENDRE :
a) "La commande ping est au niveau d'IP, soit les couches inférieur du modèle OSI."
b) "Un serveur est situé au niveau applicatif des couches du modèle OSI." (soit au dessus d'IP, à la couche 7)
Donc un PING ne remonte pas jusqu'à cette couche et ne teste donc jamais un serveur. La démonstration est dans tes propres paroles !
Ces deux points fsock et PING ont été simplement et sans faire grand tapage soulevés et expliqués dans mon premier post (18/07/2007 11:58:11) et il n'y aurait pas eu besoin de "40 posts" si l'on avait eu affaire à des gens un peu plus objectifs et un peu moins butés et bornés.
20 juil. 2007 à 04:27
C'est juste une histoire de réduction... pas la peine de tergiverser 40 posts dessus :)
Pour répondre au serveur/machine.
La machine est le coté physique de la bête. C'est la machine, l'hôte. Pour tester l'existance d'une machine, on utilise la commande PING ( commande de bas-niveau pour le protocole IP ... y'a pas de TCP à ce niveau ! ).
Un serveur est un programme qui attend des connections clients. Pour cela, on utilise différents protocoles ( TCP... SSH (qui passe par TCP), etc... ).
Un serveur est situé au niveau applicatif des couches du modèle OSI. La commande ping est au niveau d'IP, soit les couches inférieur du modèle OSI.
Pour résumer à un être humain :
la machine, c'est l'homme (ou la femme, au risque de paraitre machiste ^^)
le serveur, c'est le cerveau.
le ping, c'est la parole.
la communication, c'est le contenu de la parole.
Voila :)
19 juil. 2007 à 23:57
voilà déjà un point d'acquis. Ouf ! C'est pas grave du tout et je m'en fous, sauf que si un débutant te lit et qu'il essaye d'utiliser une fonction fsock, il va perdre du temps pour rien -vu qu'elle n'existe pas- et tu vas passer pour quelqu'un qui dit des conneries. Tu crois pas qu'il vaut mieux éviter ça et que tes interventions fassent référence plutôt que de dire "j'ai raison, j'ai raison" et vouloir paraître chébran en utilisant un langage qui se veut initié ?
Et puis il ne faut pas confondre écorcher (ou abréger) le nom d'une fonction et utiliser un sigle. C'est pas du tout la même chose. Et si en plus, comme dans l'exemple que tu cites toi-même (cms) une abréviation peut avoir plusieurs interprétations, raison de plus pour être précis dans ses termes et non être évasif comme si t'étais au dessus de tout ça. Si t'en veux des sigles et acronymes, t'en auras à l'adresse http://www.teaser.fr/~spineau/acrodict/index.php ; et ce sera pas des mots écorchés...
=> PING :
Si tu veux des certitudes sur PING, tu peux lire les RFC suivants :
- RFC 792 : Internet Control Message Protocol (http://www.ietf.org/rfc/rfc0792.txt)
- RFC 1739 : A Primer On Internet and TCP/IP Tools (http://www.ietf.org/rfc/rfc1739.txt)
- RFC 2925 : Definitions of Managed Objects for Remote Ping, Traceroute, and Lookup Operations (http://www.ietf.org/rfc/rfc2925.txt), rendu obsolète par celui-ci dessous (RFC 4560)
- RFC 4560 : Definitions of Managed Objects for Remote Ping, Traceroute, and Lookup Operations (http://www.ietf.org/rfc/rfc4560.txt)
Bref, une lecture qui devrait te permettre de faire la distinction entre protocoles réseau et protocoles applicatifs et donc par la même occasion, faire la distinction entre les logiciels qui constituent la pile TCP/IP (par exemple) et les logiciels serveurs (daemons).
Par ailleurs documente toi sur les firewalls ipchains ou iptables (par exemple) pour voir comment on fait pour refuser (soit avec DENY soit avec REJECT) les messages ICMP (echo-request, type 8 et echo-reply, type 0).
Mais vu ton obstination quasi pathologique à vouloir avoir raison coûte que coûte, même quand t'as tort, je doute de pouvoir t'être d'une quelconque utilité à progresser...
19 juil. 2007 à 20:42
ensuite : cote travail, on utilise des pocket (il faut entendre pocket pc...) des cms (mais faut pas demander ce que ca veut dire, sauf si on veut entendre "composants magnetiques statiques", la vrai signification est "composants montes en surface") etc...
enfin, QUI REPOND AUX PINGS ??? un programme ou une carte directement ??? (je n'ai aucune certitudes quand a la reponse, cependant, on peut desactiver la reponse aux pings, ping respecte un protocol, etc...) si c'est une carte seule qui repond, alors c'est pas un server qui repond, mais si c'est un programme, alors c'est un server... que tu le veuilles ou non... on lui demande une reponse, il la fournit...
et ... encore une fois, tu fais une grosse approximation sur mon pseudo... tu le fais expres et ne tiens pas compte de mes remarques, et ca c'est honteux, car tu ne PEUX PAS deffendre ton point de vue... (apparement ton point de vue est que je possederais les pseudos de la forme coucou[0-9]+ ...)
19 juil. 2007 à 19:51
Là, je commence à sortir de mes gonds tellement, t'es buté !
1)
Si tu fais un copier/coller d'une URL, ça m'étonnerait aussi que tu trouves en toutes lettres "hypertext transfert protocol deux points slash slash [...]", d'autant que je n'ai jamais dit ça. Dans ton post du 13/07/2007 19:46:48 tu as bien écrit "fsock" au lieu de fsockopen" , oui ou non ? Je l'invente pas ? Encore une fois, c'est comme si j'écrivais "gethost" au lieu de "gethostbyname()". Raconte ce que tu veux, c'est faux, même si c'est pas grave. Point barre.
2)
Dans le copier/coller que t'as fait de la page man de PING c'est écrit "...to elicit an ICMP ECHO_RESPONSE from a host or gateway." ? C'est bien marqué "FROM A HOST" et non "FROM A SERVER" oui ou non ? Et en plus t'ajoute "et aucune option concernant le port..." ! Je l'invente pas, c'est toi qui l'écris ! Alors pourquoi, si y'a pas de notions de port -et pour cause !-, tu affirmais (post du 13/07/2007 19:46:48) que ça donnait le temps de réponse d'un serveur. C'est fou, ça !
3)
Si je t'ai dit d'essayer "ping localhost" et "ping localhost:80" c'est bien pour te permettre de constater la différence. La première commande fonctionne et pas la deuxième. Et je le savais, c'était pour te faire constater par toi-même que la notion de port n'entre pas dans le champ d'application du PING et donc qu'un PING ne teste jamais un SERVEUR. C'est pas mes commandes qui marchent pas, c'est toi qu'es buté et qui ne veut rien comprendre.
C'est pas grave que tu confondes hôte et serveur. C'est pas grave que tu ne connaisses pas le mécanisme d'un PING. Et je m'en fous, d'ailleurs. Mais bon sang de bonsoir, aie au moins l'honnêteté de reconnaître tes approximations comme l'ont reconnu aussi vilhjalms, DiGhan, malalam... Comme dit ce dernier, ça arrive et c'est pas dramatique ni honteux ! On va pas en faire un plat.
C'est pas la nature de l'erreur qui m'énerve car c'est une pécadille et se planter dans son vocabulaire ou ses explications, ça peut arriver à tout le monde. Mais ce qui me fout hors de moi, c'est la mauvaise foi dont tu fais preuve. Même en te démontrant par A+B que tu t'es planté, y'a rien à faire, faut que tu dises que t'as raison, quitte a dire des choses contradictoires. T'es grave, quand même ! J'ose espérer que tu vas t'en rendre compte sinon, je te promets un bel avenir dans tes relations de travail, et t'as du temps devant toi encore...
19 juil. 2007 à 18:24
"hypertext transfert protocol deux points slash slash [...]"
je ne suis ni coucou32 ni coucou54, ni coucou tout court ! moi c'est coucou747, rien de plus, rien de moins !
dans les man pages de ping, je trouve :
ping uses the ICMP protocol?s mandatory ECHO_REQUEST datagram to elicit an ICMP ECHO_RESPONSE from a host or gateway. ECHO_REQUEST datagrams
(??pings??) have an IP and ICMP header, followed by a struct timeval and then an arbitrary number of ??pad?? bytes used to fill out the packet.
et aucune option concernant le port...
quand a ma liste de commandes :
"tapes-tu la commande "ping localhost" ou "ping localhost:80" ? Essaye les deux:" j'ai vu ca dans ton message... j'ai applique... maintenant, TES commandes ne marchent pas, c'est pas ma faute...
19 juil. 2007 à 18:17
fsock() n'existe pas, Coucou a utilisé un raccourci (et cela peut effectivement prêter à confusion...mais bon, coucou a aussi reconnu que fosck n'existait pas. C'est un diminutif a t il dit, pas un alias...).
Quant à la définition d'un ping, si on la cherche sur le net, parle de machine, pas de serveur. Et sur un réseau quel qu'il soit, quand on pinge une machine, elle n'est pas forcément dôtée d'un serveur quelconque...en effet. C'est un fait.
Inutile de jouer sur les mots.
Parfois, on dit des choses approximatives, ça arrive, ce n'est pas grave...(autant l'admettre car ce n'est franchement pas honteux : on le fait tous à nos heures). Ca n'enlève rien aux connaissances que l'on peut avoir.
19 juil. 2007 à 15:25
Evidemment, je savais que fsock() tout court n'existait pas ; mais je voulais que coucou53 reconnaisse son imprécision dans son explication. Car j'ai pu me rendre compte dans ce domaine que pour être efficace, il valait mieux être rigoureux dans sa syntaxe, dans sa tête comme dans ses propos... et si la fonction fsock n'existe pas, on n'en parle pas. Si dans sa tête (ce dont je n'ai jamais douté, car il le prouve en ligne 15 de son script) il pense fsockopen(), qu'il écrive fsockopen(). C'est comme si, pour simplifier mon écriture, j'écrivais seulement gethost au lieu de gethostbyaddr() ou gethostbyname() ou gethostbynamel(). C'est sûr qu'il se trouverait quelqu'un pour me le faire, à juste titre, remarquer. Et si l'on demande aux autres de la rigueur, il faut aussi se l'imposer à soi même ou reconnaître que la remarque est justifiée.
Ce qui est un peu agaçant dans cet échange, c'est que je suis sûr que coucou32 doit savoir lui-même qu'il a fait des erreurs en parlant de fsock et en "expliquant" le PING sur un "serveur". Mais, bien que sachant avoir fait ces erreurs, il ne veut pas l'admettre et tente malgré tout, pour ne pas perdre la face, de prouver qu'il a raison en justifiant ses propos avec des résultats de commandes (notamment pour la commande PING), résultats qui eux mêmes démontrent l'erreur !!! Ca me parait quand même manquer un tant soit peu d'objectivité et d'humilité même si dans le fond, l'affaire n'est pas gravissime et ne porte pas à conséquence. C'est juste une question d'honnêteté intellectuelle par rapport à soi et aux autres, c'est tout.
Bah ! Et puis je me dis que s'il ne veut pas le reconnaître, dans le fond, c'est pas grave. Les lecteurs de cette page se rendront bien compte que malgré ses dénégations, il s'est trompé. Et y'aura pas mort d'homme pour autant, heureusement !... ;) Le pire qu'il puisse lui arriver c'est qu'on le prenne pour un orgueilleux, ce qui n'est pas fondamentalement grave car ça n'empêche pas de programmer... ;)
19 juil. 2007 à 14:23
19 juil. 2007 à 12:01
Tu sais très bien qu'on désigne un serveur par numéro(ou nom)-de-machine, deux-points, numéro de port (ex: 192.168.0.1:80 et lorsque tu l'écris comme ça, avec les deux points, PING te répond qu'il ne connaît pas cet hôte ("ping: unknown host localhost:80"), car je le répète PING vise un hôte et non un serveur.
En revanche si tu ne mets pas les deux points c'est comme si tu mettais deux paramètres. Comme les options (voir "ping -h") commencent par un tiret, les deux paramètres sont considérés par PING comme une désignation d'hôtes et seul le dernier est pris en compte. Donc dans le cas que tu cites (ping localhost 80), et vilhjalms te l'a très bien fait remarquer, tu cherches à PINGuer l'hôte 80 et d'ailleurs la commande PING te le confirme :
"PING 80 (0.0.0.80) 56(124) bytes of data."
et te renseigne que ça n'a pas abouti puisque les 3 paquets de données transmis n'ont pas été reçus et sont perdus à 100% :
"--- 80 ping statistics ---"
"3 packets transmitted, 0 received, 100% packet loss, time 2009ms"
C'est moi qui suis désolé de te dire que c'est ta tentative de démo, à toi, qui ne tient pas la route. Par ailleurs, tu as assez d'expérience, je crois, pour savoir qu'en informatique, ya pas d'à peu près. C'est un serveur ou ça ne l'est pas, mais on ne peut pas se permettre de dire "c'est une forme de serveur..."
Pour ce qui concerne fsock, tu sais très bien que ce n'est pas un diminutif de fsockopen. L'URL que tu as mentionnée fait référence à une recherche dans un manuel web de PHP avec, comme paramètre, un motif de recherche (?pattern=fsock). En fait, tu recherches (dans ce manuel) la succession de ces 5 caractères : f,s,o,c,k. D'ailleurs, si tu tapes cette URL (celle que tu as citée) ça te tépond :
"Sorry, but the function fsock is not in the online manual.
"Perhaps you misspelled it, or it is a relatively new function
"that hasn't made it into the online documentation yet.
"The following are the 20 functions which seem to be closest in
"spelling to fsock (really good matches are in bold). Perhaps
"you were looking for one of these:
"fsockopen
"pfsockopen
"...etc..."
Je conçois aisément qu'il est désagréable de reconnaître avoir dit des bourdes. Mais aux yeux de tous, ne pas vouloir en démordre, quitte à dire n'importe quoi, c'est quand même se ridiculiser un peu, non ?
19 juil. 2007 à 10:12
ping: unknown host localhost:80
max@max-laptop:~$ ping localhost 80
PING 80 (0.0.0.80) 56(124) bytes of data.
--- 80 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2009ms
heu ... la il cherche a pinger l address 0.0.0.80 et il n y arrive pas ce qui parait logique.
19 juil. 2007 à 00:47
ping: unknown host localhost:80
max@max-laptop:~$ ping localhost 80
PING 80 (0.0.0.80) 56(124) bytes of data.
--- 80 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2009ms
max@max-laptop:~$
sur ce... desole de te dire que ta demo tombe a l'eau... c'est bien une forme de server qui repond... idem sur le fait que tu puisses demander a ta machine de ne pas repondre aux pings...
fsock est le diminutif de fsockopen comme tu peux le voir ici : http://fr3.php.net/manual-lookup.php?pattern=fsock fsock n'existe pas...
19 juil. 2007 à 00:13
=> "je ne confonds pas machine et serveur, les deux sont souvent associes"
Je ne pense pas qu'ils soient associés. S'ils le sont c'est dans dans l'esprit des gens ou du moins dans leur manière de s'exprimer. Un serveur "tourne" (est exécuté) sur une machine. C'est la raison pour laquelle bon nombre de personnes parlent improprement du serveur web (ou du serveur ftp) quand ils veulent désigner la machine sur laquelle tourne un serveur web (ou ftp). Ce n'est pas parce que le modèle d'une machine s'appelle "Server AS400" (ou Server autre-chose) qu'elle est pour autant un serveur (au sens réseau du terme, dans une architecture client/serveur, dans un environnement TCP/IP par exemple) si aucun logiciel tournant sur cette machine ne peut fournir un service quelconque.
Comment désignerais-tu la machine sur laquelle sont exécutés simultanément ftpd, httpd, lpd, innd ? Parlerais-tu du "serveur web", du "serveur ftp" (etc...) ou de l'hôte qui héberge des serveurs web, ftp, etc... ?
On parlait de la commande PING. Je supose que tu seras d'accord avec moi pour dire qu'un serveur web répond aux requêtes adressées sur le port 80. Si tu exécutes sur ta propre machine un serveur web, quand tu PINGues ce que tu appelles ton serveur web tapes-tu la commande "ping localhost" ou "ping localhost:80" ? Essaye les deux et tu verras que PING n'a pour destination qu'une interface réseau (derrière laquelle il y a une machine, probablement et sur laquelle, peut-être mais ce n'est pas sûr, tourne un serveur quelconque) mais PING n'a pas pour destination un serveur.
Je ne parlerai pas des clusters (généralement des fermes de calcul) dans lesquels la plupart du temps une tâche est répartie sur plusieurs noeuds. Ca nous éloignerait du PING de départ.
=> "maintenant, c'est pas parce-que la machine ne repond pas qu'elle n'existe pas :)"
Tu as tout à fait raison. Et c'est justement pour éviter les POD que la majeure partie des FAI configurent, entre autres, leurs firewalls pour ne pas répondre aux PINGs (essaye un ping sur un hôte de wanadoo, tu verras). Par ailleurs, je n'ai jamais dit qu'une non réponse à un PING confirmait la non existence d'une machine, seulement qu'en cas de réponse ça confirmait son existence, ce qui est quand même différent.
Mais ce qui me "chicote" un peu c'est que tu dis "c'est pas parce que la machine ne repond pas qu'elle n'existe pas :)" et qu'à la ligne du dessous tu dis "ping te permet de savoir si la machine est la ou non". Je peux me tromper mais ça me parait un peu contradictoire, non ? Peux-tu développer et expliquer le bien fondé de la juxtaposition de ces deux affirmations ?
=> "fsock te permet de savoir si un port particulier est ecoute..."
Peux-tu éclairer ma lanterne et me montrer une ou deux lignes de code mettant en oeuvre la commande (ou la fonction) fsock, STP ? Pas fsockopen, fsock tout court, tel que tu l'as écrit. Ca me permettrait d'apprendre quelque chose. Merci.
18 juil. 2007 à 18:39
si tu preferes : ping te permet de savoir si la machine est la ou non, et de mesurer le temps de reponse de celle ci...
fsock te permet de savoir si un port particulier est ecoute par un eventuel serveur...
c'est en ce sens que ma remaque allait
Sinon, malalam, si ca c'etait deroule autrement avec kiki, crois bien que j'aurais probablement poste un snippet avec uniquement la fonction... voir rien poste du tout... je m'appercois que de toute maniere, il existe foultitude de sources de ce genre, et celle-ci m'a l'air au dessus de beaucoup, alors de toute facon, meme si elle n'apporte rien pour ses fonctionalites, elle apporte surement une forme de "proposition de mieux"... Pour les templates, c'est pas une bonne idee... d'une part, si j'avais integre ca a un moteur de templates, alors j'aurais mis beaucoup trop de code, ca n'aurait pas ete forcement comprehensible par un debutant... pourquoi taper 1500 lignes propres plutot que 15 sales ?
18 juil. 2007 à 16:36
Bonne fin de journée...
18 juil. 2007 à 16:17
18 juil. 2007 à 16:04
fosckopen().
Il existe aussi une lib socket dans PHP (et socket_connect() du coup), différente. Mais là, en l'occurence, il s'agit de fsockopen()
18 juil. 2007 à 15:44
1)
Même si les couches de la pile TCP/IP sont différentes des 7 couches du modèle OSI (on va pas aller détailler les rfc 791 à 793), PING fonctionne de la même manière. S'il reçoit les données envoyées dans une commande d'echo, on en déduit :
- que TCP/IP est implémenté sur les deux machines (source et destination)
- qu'il n'y a pas de rupture dans la connexion réseau entre ces deux machines
- en fonction du temps de réponse, la qualité de cette connexion.
Ca vérifie donc trois choses et pas seulement le temps d'accès à un hôte et encore moins à un serveur qui est un logiciel et non un matériel, d'autant plus que le paramètre obligatoire de PING est soit un nom d'hôte soit un numéro IP et non un numéro de port.
La question que je posais était :
est-ce que je me trompe en disant que coucou47 dans sa réponse faisait la confusion entre serveur et machine ? (ou tout du moins dans son expression écrite car ça peut être clair dans sa tête)
2)
la fonction fsock() mentionnée existe-t-elle en PHP ou est-ce qu'il fallait lire fsockopen() ?
Merci pour vos réponses claires.
18 juil. 2007 à 15:09
18 juil. 2007 à 14:23
ICMP est un protocole de niveau de 3.
Tu utilises l'interface IP pour dialoguer... donc niveau 3.
Le niveau 2 correspond à ARP pour la résolution des adresses mac avec le llc (logical layer control).
Un ping n'est la que pour vérifier le temps d'accès d'un hôte à un autre.
18 juil. 2007 à 13:56
De plus ces 2 types de vérification présentent de grandes différences notamment dans leur place dans le modèle standardisé OSI. Ping utilise ICMP(protocole de niveau 2) alors que les sockets utilisent TCP/UDP(niveau 4).
18 juil. 2007 à 11:58
Un peu plus haut TAYMTOGO demandait (13/07 16h37) "pour connaitre si un server est en marche ou non on envoie un PING. :) non ?"
coucou747 lui a répondu (13/07 18h54) "un ping te permet d'avoir le temps de reponse d'un serveur, voir le errno de fsock te permet beaucoup plus de choses..."
Ya pas une erreur dans la réponse ? Il me semble (mais dites-moi si je me trompe) qu'il y a confusion entre serveur et machine. Un serveur est un PROGRAMME fournissant une prestation à des clients.
Quand on fait un ping sur une machine on le fait sur son nom ou son numéro IP et c'est l'interface réseau sollicitée de cette machine qui répond. Si on arrête tous les serveurs de cette machine (smtp, http, ftp, etc...) et qu'il n'y en a plus un seul en service et si la machine est toujours allumée et connectée au réseau, on aura toujours une réponse au ping. Non ? Dans ce cas, un ping ne permet pas d'avoir le temps de réponse d'un serveur mais la qualité d'une connexion.
D'autant plus qu'il peut y avoir une excellente connexion réseau (temps de réponse aux pings très courts) avec un serveur (http par exemple) tellement sollicité qu'il peine à répondre rapidement.
Est-ce que je me trompe ?
En php, c'est la fonction fsock() ou fsockopen() ?
18 juil. 2007 à 09:34
D'un côté, on a une incompréhension lié à une note minimale mal expliquée, et de l'autre un sentiment d'acharnement sur "la nouvelle venue dont on ne veut pas". Je pense que les uns et les autres, vous devriez vous laisser une chance.
Coucou, puisque tu me connais, je vais te noter et m'expliquer :
je vais te mettre 7/10.
"dans l'ideal :
on separe html et php
on fait un cache
on ajoute des commentaires, mais bon... faut pas exagerer, c'est pas une source extremement complexe, pour ceux qui ne comprennent pas une fonction, utilisez le manuel php.net "
=> ça ne justifie pas que tu postes un code en l'état, à mon sens.
je ne dis pas qu'il est inutile, car il ne l'est pas. Je ne dis pas que le PHP est mauvais, car il ne l'est pas (même s'il est très simple, mais simplicité ne rime pas avec mal codé...ou en tous cas, c'est une rime pauvre...).
MAIS...dans un soucis de portabilité, le HTML n'a rien à faire là. Seul un débutant aura besoin d'un tel code, alors si tu partages ici pour les débutants, aides les jusqu'au bout : fourni leur un code qu'ils pourront adapter facilement à leur design. Et puis quand bien même ce ne serait pas un code vraiment destiné à du site web, ça ne change rien : le html n'a rien à faire au milieu.
Dans le même ordre d'idée et dans un soucis de partage et d'apprentissage, tu aurais dû commenter un minimum. Oh tu peux encore, hein... ;-) Autant que ton code soit pédagogique.
Au niveau PHP, pour pinailler, is_numeric() ne suffit pas dans ce cas-ci. C'est une vérification a minima.
Enfin, je n'aurais pas balancé une exception moi...on peut avoir envie de continuer le scan même si une connexion échoue.
Si tu avais plus...rigoureux en mettant ce code, il aurait mérité 9 ou 10 selon moi, par contre. Malgré sa simplicité, je le répête.
Voilà.
18 juil. 2007 à 01:16
Quand je dis qu'il faut faire ses preuves, c'est en fonction de ce que tu sais faire et ce que tu peux apporter à la communauté de PHPCS mais certainement pas en fonction de qui tu es. Pour le moment, tu n'as rien montré qui puisse faire penser que tu apportes quelque chose car tu n'as su faire qu'une remarque négative non constructive.
Pour moi, les faits sont la.
Je prend le problème autrement :
Tu possèdes des connaissances dans un domaine assez spécialisé, disons la chimie (j'aurais pu prendre les poupées mais je vais encore voir le mot machiste la où il n'y en a pas.). Tu arrives dans un groupe déja bien implanté qui propose une nouvelle équation chimique. Et toi, tu arrives sans crier gare, avec aucun bagage à portée de vue et tu dis : "mon gars, c'est nul, t'es un débutant toi non ?"
Comment tu penses que les gens vont réagir ?
Maintenant, imaginons une autre scène :
Tu es dans un groupe de gens avec qui vous discutez tous les jours. Et la, un pauvre mec se pointe en disant "vous dites n'importe quoi, regardez les infos et allez vous cultiver un peu..." Je suis sur, de toi à moi, que tu le prendrais très mal.
Ici, c'est identique.
Nous (en particulier moi) ne te demandons pas un effort colossal, mais simplement une petite marque de respect envers tout ceux qui oeuvrent pour que PHPCS soit ce qu'il est aujourd'hui.
Maintenant, que tu critiques de facon négative ca nous interesse tous aussi. Je critique énormément par la négative mais toujours en proposant un choix annexe pour une possible amélioration du concept de base. Il m'arrive d'envoyer des paroles en l'air aussi, mais cela, je le dois à l'expérience que j'ai sur ce site ainsi que de la connaissance des autres membres qui comprennent de quoi je veux parler et cela sans trop m'expliquer.
Maintenant à toi de voir. Soit tu tentes une intégration un tant soi peut correct ( critique argumentative, mise à disposition de code (bien que ce ne soit pas obligatoire) ), soit tu vas voir ailleurs.
Car, comme tu le dis, ce que tu dis à Coucou peut arriver à tout le monde, à moi aussi. Voila pourquoi je défends son point de vue.
Mais de la à dire que parce que tu es une femme... laisse moi rire. Il n'y a que toi qui ais faite ce constat. Nous ce qui nous interesse, c'est ton niveau à PHP et ta capacité à aider les autres. Le reste, on s'en fou.
Pour propre info : "Ce ne sont pas toutes QUE des blondes (pardon pour les blondes :)" Je suis blond et ca ne m'empèche pas de sortir du code PHP. L'excuse de la blondeur ne sert pas ici :)
Mais c'est bien tenté quand même, j'aime beaucoup ;)
18 juil. 2007 à 00:09
sur ce, desole de t'avoir fait dire tant de conneries... j'aimerais que tu repondes desormais a ma premiere question : que trouves tu de mal code ?
quand au fait que qqn ici soit debutant ou non, encore une fois, c'est toi qui as mis ca sur le tapis... (et j'avais pas poste un code expert non plus... c'etait quand meme ecrit dans le haut de la source, donc c'etait vraiment ecrit juste pour m'agresser...)
17 juil. 2007 à 23:46
Codeuse, STP... :-)
Le problème dans ce milieu (un peu machiste, quand même.. :-) c'est qu'il faut toujours vous "prouver" quelque chose et "montrer patte blanche" pour avoir le droit de parole. C'est le genre : bras de fer d'abord et on voit après qui des deux a le droit de discuter...
Je suis désolée, mais je n'ai pas besoin de ça ni d'étaler des lignes de code pour me prouver et savoir ce que je vaux et que tu en doutes, alors là, je m'en fous comme de mon premier sous-tif. Navrée d'avoir à le dire mais la place des nanas ne se trouve pas que derrière les fourneaux... Ce ne sont pas toutes QUE des blondes (pardon pour les blondes :)
Quand on se veut objectif sur les appréciations on ne fait pas de distinction entre appréciations positives ou négatives. Ce n'est pas parce que l'une est positive qu'elle peut être dispensée de justification.
Il vous faut des compliments pour aller mieux ?
Et bien voila : Monsieur coucou747-FhX, vous êtes le meilleur, le plus fort, le plus intelligent, le plus beau ! Vous êtes le Phenix des codes de ce site. Y'a pas meilleur programmeur que vous sur terre. Stallman, Torvalds, Lerdorf and Co sont désormais finis. Out of order ! Basta ! La nouvelle génération coucou747-FhX est arrivée. Prosternons nous... Prions le ciel de n'avoir à leur faire que des compliments. Tremblons à l'idée d'oser commencer penser que leur code pourrait souffrir de la moindre imperfection, car ce serait un sacrilège...
Je suis morte de rire :-))) mais pardon si je me lâche un peu sur mon dernier message (oui, car j'ai assez perdu de temps) mais ça m'a soulagée devant tant de fatuité...
Ciao i bambini, me la batto...
17 juil. 2007 à 20:50
"En fait, l'idée en disant ça était plus celle de faire ressortir que ce sont ceux qui en savent le moins qui parlent le plus, que celle de l'envie de chercher querelle, ce qui ne présente aucun intérêt."
Le seul problème, c'est que pour le moment tu n'as prouvé aucune capacité en tant que "codeur" (ou codeuse, au choix). De ce fait, quand on vient quelque part sans avoir montré patte blanche et dire "ce que tu viens de faire, c'est nul", sans rien argumenter derrière... je suis désolé mais ca fait un petit peu provocateur tu ne trouves pas ?
A la limite, tu nous aurais montré de quoi tu es capable, l'esprit critique "je lache une phrase pour dire que c'est nul" ne t'aurais jamais été reproché (ou alors, sur une moindre mesure).
"Bizarrement je constate des appréciations/notations qui ne sont pas justifiées (je précise: pour lesquelles on n'a pas fourni les raisons justifiant les appréciations/notations fournies). Personne n'est choqué." En effet, sur une appréciation positive, pas besoin de tergiverser sur 70 lignes. Dire qu'on apprécie suffit amplement à dire que le script est suffisament bon pour ne pas avoir à y retoucher.
Cependant, lorsqu'on trouve qu'un script n'est pas complet ou alors qu'il est mauvais d'un point de vue lisibilité ou respect des stardards, il faut le dire et ne pas simplement lacher "c'est nul".
Voila l'unique point de reflexion que je te fais remarquer. Imagine si tout le monde faisait comme toi... personne n'avancerait ! Voila l'unique reproche que je peux te faire actuellement.
"FHX, je suis ouvert a tes critiques aussi (sauf si c'est le manque de {} rappelle (notice) par le mode E_STRICT de l'error_reporting)
" Mis à part ce que j'ai énoncé plus haut pour le isset(), je viens de voir ca :
# try{
# for ($i=$start; $i<=$end; $i++){
# if (getErrno($i, $ip))
# echo 'Port : '.$i.' ouvert
';
# else{
# echo 'Port :'.$i.' Fermé
';
# $fermes++;
# }
# }
# }catch (Exception $e){
# echo ''.$e->getMessage().'
';
# $end=$i-1;
# }
Il y a une erreur ici. Imaginons que tout se passe bien. Le scan de port se fait... j'en suis à $i=10000;
Et puis tout à coup, la connection se coupe...
Tu te retrouves avec une exception jeté et puis ton script s'arrète.
Sauf que la connection qui a été coupé se relance au bout de 2 sec (soit 1 sec de + que ton timeout).
Et la, ton script ne continu pas... il est arrété.
J'aurais modifié le script comme ceci :
for ( $i = $start; $i <= $end; $i++ ){
try {
if ( getErrno($i, $ip) ) {
echo 'Port : '.$i.' ouvert
';
} else {
echo 'Port :'.$i.' Fermé
';
$fermes++;
}
} catch (Exception $e) {
echo ''.$e->getMessage().'
';
}
}
Quelque chose dans le genre. De ce fait, si il y a une coupure supérieur au timeout du socket, on passe au port suivant.
Après, y'a toujours :
# '<form action="?">
# adresse ip :
A mettre en fonction etc... mais étant un script basique, je ne relève pas ce genre de chose.
Y'a aussi le fait d'être plus strict pour les entiers/chaines de caractères m'enfin bon ^^
Voila ce que je peux en dire :)
17 juil. 2007 à 20:02
17 juil. 2007 à 19:59
17 juil. 2007 à 19:55
Quand je dis "C'est toujours les petites ceintures jaunes ou ceux qui viennent de débuter et d'apprendre deux ou trois trucs qui cherchent la bagarre, histoire d'épater ;", tu me réponds "Hors, c'est exactement ce que tu fais." en faisant allusion à la polémique involontairement provoquée par ma remarque.
En parlant des "petites ceintures jaunes... qui cherchent la bagarre", je voulais dire, et je pensais que j'étais claire, "... qui cherchent des prétextes à montrer le peu qu'ils savent ou croient savoir, histoire d'épater ;". Naturellement, en matière de sport de combat le savoir porte plus sur les bagarres que sur une compilation de code, d'où la phrase... En fait, l'idée en disant ça était plus celle de faire ressortir que ce sont ceux qui en savent le moins qui parlent le plus, que celle de l'envie de chercher querelle, ce qui ne présente aucun intérêt.
Je ne suis pas ici, comme tu dis, 'pour donner des notes et dire "c'est pourri" quand ca l'est... sans donner aucune explication'. J'ai trouvé des sources magnifiques d'ingéniosité (ex: celui d'etiennexxx9 et son traceur de robots). A propos de ce script, j'ai lu en commentaires :
- Beau travail étienne, si seulement jmy conaissait en php!!
- Vraiment pas co**e ton astuce
- Ca c'est une idée qu'elle est bonne, je donne 10/10
- Tellement bien que je l'ai converti en ASP...
- Je trouve l'idée vraiment géniale, ca c'est une vrai astuce... Je met 10 sans hésiter !
- etc...
Bizarrement je constate des appréciations/notations qui ne sont pas justifiées (je précise: pour lesquelles on n'a pas fourni les raisons justifiant les appréciations/notations fournies). Personne n'est choqué. En clair :
- complimenter et bien noter sans fournir de raison ne choque personne et tout le monde accepte
- mal noter sans fournir de raison est un crime de lèse-développeur...
Curieux, comme attitude...
Tu as raison, FhX, Je m'interroge sur le bien-fondé de ma place ici...
Malalam, 1000 excuses. J'ai relu ton précédent message et effectivement tu avais bien précisé entre parenthèses : "c'est destiné à tout le monde, ça".
(NB: Mais quand même..., une tête de mort... ! :-)
Renfield, tu parlais de la participation sous forme de messages dans les forums. J'en ai parcouru quelques uns et y ai constaté sur certains la mention "Réponse acceptée". N'est-il pas possible pour un membre quelconque, au lieu de cette mention, de mettre une note à la réponse à une question (une seule, car le "notant" est identifié), une note sur la pertincence de sa réponse ou de sa proposition ? Ceux qui font toujours, aux yeux de leurs pairs, des réponses pertinentes seront facilement identifiables et davantage crédibles que ceux qui déposent et participent à tout va pour augmenter leur total de points. De plus, la combinaison "note-due-aux-scripts" et "note-due-aux-discussions" permettrait de tracer un profil utilisateur plus significatif qu'un nombre de points et de repérer très vite les "frimeurs" qui, scolairement, "travaillent" pour la note ("ouais, un type qui fait un truc propre pour php5 aura une note de merde, alors que celui qui code pour php3 sans les fonctions supprimees aura un code parfaitement obsolete, avec des morceaux redondants, mais ca sera portable, youpi !").
coucou747,
---
17 juil. 2007 à 19:24
Lisibilité // je t'attends :) la c'est pas trop commente, normal, t'as aucune classe, et rien de complique... juste une simple fonction de reutilisable...
Algorithme // tu parles de son implementation pas de l'algo en lui meme vu ce que tu as marque... peu de gens font des algos compliques sur phpcs, et parfois, tu choisis un algo pour montrer comment il marche et non pour avoir l'algo de plus faible complexite...
Utilité // parfois on fait des choses inutiles pour demontrer un truc, et si on y arrive, on merite une bonne note, pour ca, j'ai fais des choses sur la securite, genre des demos de failles, un casseur de captcha, etc...
Portabilité // ouais, un type qui fait un truc propre pour php5 aura une note de merde, alors que celui qui code pour php3 sans les fonctions supprimees aura un code parfaitement obsolete, avec des morceaux redondants, mais ca sera portable, youpi ! (pour s'arreter a php3) Mon code est fait pour php5 qui existe deja depuis 3 ans... si tu fais du web, faut etre un minimum a jours... pour ce qui est des libs, bah l'utilisation d'une lib telle que gd ne rendra pas le script fonctionnel sur tout hebergeur, ni sur chaque version de php, ni meme portable sous divers os... et on devrait les saquer pour ca ? Autant faire comme sur javascriptfr ou on indique des le depart sur quel systeme ca peut (ou non) tourner...
pour le </head></html>, pardonnez moi, comme vous avez pu le lire si vous etes arrive au debut de la vie de cette source, l'idee et une partie du html est de kiki, et donc, j'ai laisse trainer une de ses erreur, (maintenant, c'est une erreur de validation parmi 50)
bon, moi je demande clairement a savoir ce que tu reproches a ma source et non a moi... par source, j'entends code, pas utilite, ni meme lisibilite (bien que ma source du bas de ses 75 lignes ne puisse etre traitee de peu lisible...)
FHX, je suis ouvert a tes critiques aussi (sauf si c'est le manque de {} rappelle (notice) par le mode E_STRICT de l'error_reporting)
maintenant, je voudrais simplement savoir quoi ameliorer, et comment...
17 juil. 2007 à 17:26
les admins veillent a la suppression de sources redondantes, inutiles, etc (calculatrices, convertisseurs, exercices scolaires, etc) pour éviter des derives.
mais la aussi, pas simple de juger.
la participation, c'est aussi sur le forum que cela se passe, pour bon nombre de membres qui ne postent pas de source. Il serait donc dommage de ne fixé ce 'score' que sur les notes obtenus sur les sources.
le systeme de notation que tu decris est sympathique, a voir pour l'adapter pour tous les sites du réseau, car pas tous portables directement (pas les meme themes)... mais interessant.
17 juil. 2007 à 17:04
Il faut comprendre que je suis au taf et que ce n'est pas forcément évident d'écrire un long message agréablement tourné dans ces conditions.
Si j'ai supprimé les notes, c'est parce qu'en lisant les commentaires, je n'en ai vu aucun expliquant les manques éventuels. Dans ce cas, je supprime systématiquement en expliquant pourquoi.
Nous ne passons pas d'examen ici, et j'estime toujours qu'on n'est pas ici pour sanctionner un code d'une note cinglante sans autre forme de procès.
Je ne pense pas que tu ailles contre ça non plus.
mon "inutile d'être agressif...etc" était, je le répête, destiné à tout le monde, vu la tournure que prenaient ces commentaires. Absolument pas à toi en particulier.
Pour la petite histoire, ma "tête de mort", c'est un personnage appelé curieusement "Death", dessiné par un des illustrateurs ayant créé beaucoup des couvertures des livres de Terry Pratchett, auteur que j'adore depuis fort longtemps. "Death" est un personnage finalement très humain -bien plus que nombre de véritables humains- dans ses romans, souvent touchant et drôle. Comme quoi, les apparences... ;-) Je ne pense pas que bcp de monde ici te dira que je suis un méchant admin, ivre de pouvoir et plein de condescendance depuis son piédestal.
Donc, désolé si je me suis mal fait comprendre. Ce malentendu sera sans doute dissipé un jour si tu décides de rester encore un peu parmi nous.
PS : après une erreur réseau, je vois ton message, Iseult, et suis d'accord avec le fait que l'amélioration du système de points serait sympa.
17 juil. 2007 à 17:04
">"1) ce n'est pas mon arrivée récente qui fait de moi une débutante"
>Personne n'a encore dit ca.
Apparamment, c'est sous-entendu car :
>"vu ton arrivee aujourd'hui il y a 5 minutes, no sources, no messages, rien du tout, et deja un 1/10..."
Faut être là depuis 10 ans pour avoir le droit d'avoir un avis ? Ton ego en a pris un coup ?"
C'est un problème au niveau de l'interprétation tout ca... Je t'ai expliqué pourquoi Coucou a eu cette réaction mais apparament tu n'en a pas tenu compte. Je me cite au cas où tu n'aurais pas vu : "On a eu/vu tellement de boulets en si peu de temps que nous nous méfions un petit peu (trop)."
Espérons que ce point est compris.
"2) FhX, Tu parles d'une façon telle qu'on dirait que t'étais avec lui quand il l'a écrit ! T'es sûr que vous n'êtes pas tous les deux la même personne ? Surtout quand on voit que vos deux inscriptions sont de la même année à quelques mois d'intervalle ? Et tu te fais tellement bien son avocat que c'est comme si tu te défendais, toi !"
Je rigole, c'est bien la première fois qu'on me dit ca :)
Coucou, il semblerait que nous ayons un lien tous les deux =) Merci pour ce moment de plaisir ^^
Bref, revenons. Non, je ne connais Coucou que par l'intermédiaire de PHPCS. Cependant, je le connais assez bien ( au niveau code ) pour savoir quand il bacle un code et quand il ne le fait pas. En ce qui concerne l'inscription la même année, disons que c'est un coup de chance... sans plus. Je ne vois pas en quoi ca porte un quelconque intérêt d'ailleurs.
Ce qui est étonnant, c'est que plus haut tu mets : "C'est toujours les petites ceintures jaunes ou ceux qui viennent de débuter et d'apprendre deux ou trois trucs qui cherchent la bagarre, histoire d'épater ;" Hors, c'est exactement ce que tu fais. Pourquoi t'en prendre à moi alors que je ne fais qu'exposer un point de vue ?
De plus je te ferai remarquer que je ne protège pas Coucou tant que ca. J'ai admis le fait que son code n'était pas vraiment très propre... sauf que je n'ai pas l'impression que tu ais lu mon post en entier et en profondeur. Dommage.
L'unique conclusion de ton intervention Iseult se résume à dire :
- "Si tu ne veux pas être pris pour un gamin,"
- "c'est que tu as très certainement atteint ton propre niveau d'incompétence"
- "J'ai pas à me justifier, bien que je l'ai fait globalement "
- "j'attendrais pas, comme une gamine, à ce qu'on me dise pourquoi."
C'est assez impressionnant je trouve. Pour quelqu'un qui fait l'éloge du "je n'ai rien à prouver", on peut dire que tu balances beaucoup.
Comme je l'ai déja dit plus haut, tu es ici sur un site communautaire. Quand quelque chose ne va pas (en l'occurence ici un code PHP), il faut en parler, en débattre, donner son appréciation et pas seulement lacher une pauvre note dans la nature.
Si un jour tu as le plaisir de poster un code, tu aimerais bien savoir ce que les gens en pensent (amélioration possible, utilisation de fonction que tu ne connais peut être pas, etc...). C'est ce que Coucou cherche à savoir. Il n'y a rien de scolaire la dedand. Nous sommes tous ouvert les uns aux autres. Il nous arrive même parfois d'avoir de gros différents entre nous ( si j'ai bon souvenir il y a quelques mois... c'était le débat sur objet/vitesse d'exécution ).
Maintenant, si tu es ici simplement pour donner des notes et dire "c'est pourri" quand ca l'est... sans donner aucune explication de ton propre point de vue, il me semble que tu n'as pas ta place ici.
Reste à savoir ce que tu veux réellement sur ce site !
17 juil. 2007 à 17:00
Merci de calmer vouloir le jeu mais ce n'est pas parce qu'une justification n'est pas formulée qu'elle n'existe pas et n'a pas sa raison d'être. Dans ce cas, il conviendrait de revoir et de modifier le système. Plusieurs notes attribuées par le même individu, surtout quand ceux-ci sont identifiés, ne devrait pas être possible sur un tel système, qu'il s'agisse de la même après-midi ou pas.
Par ailleurs, le système devrait dans ce cas interdire toute note attribuée sans justification. Et comme il est très difficile d'analyser une appréciation textuelle, l'appréciation devrait se faire d'une autre manière.
Je propose une autre façon de le faire : trois, quatre, cinq, six critères d'évaluation (ou plus : ils sont à déterminer) et pour chacun de ces critères : son libellé, une note entre 1 et 10 (ou 20) et une raison choisie dans une liste déroulante -LD- (parmi les raisons les plus fréquentes dans la catégorie).
Exemple :
Lisibilité [LD de 1 à 10 pour la note] [ LD pour la justification de la note]
Algorithme [ 9 ] [ Utilisation appropriée de classes pour ce type de traitement ]
Utilité [ 3 ] [ Ne sert que des besoins très particuliers ]
Portabilité [ 10 ] [ fonctionne sous toutes les versions de PHP ]
autre cat. -- idem --
La note générale serait la moyenne des notes de catégories et ne pourrait être validée que si toutes les catégories sont renseignées. Quand on ne peut choisir QUE dans des textes existants (les plus récurrents), ça évite les dérives dans un sens comme dans l'autre, ça oblige à évaluer les différents aspects (utilité, lisibilité, algorithme, etc...) et en l'absence d'un commentaire textuel, ça donne une idée des raisons de la note. Naturellement, chaque membre ne pourrait evaluer un dépôt qu'une seule fois et pas les siens et les commentaires textuels, non obligatoires, pourraient compléter l'évaluation contrôlée. Mais à partir du moment où le système autorise qu'un même individu note plusieurs fois un même dépôt, qu'une note peut être mise sans obligation de justification, on n'est pas TENU de justifier sa note, même s'il avait été de "bon ton d'étayer un peu sa notation".
En parcourant un peu ce site, j'ai lu dans les forum qu'un nouveau venu avait demandé ce qu'était le système de points. On lui a répondu que c'était une carotte pour stimuler la participation. Il serait peut-être bon aussi de supprimer l'attribution automatique de points par le système au profit d'une notation du membre d'après l'ensemble des notes de ses dépôts (encore une fois, ceux-ci étant jugés pour leur utilité, leur efficacité, leur lisibilité, etc... par l'ensemble des déposants). Car dans le cas d'une attribution automatique à chaque dépôt, cela incite tous les narcissiques à déposer à outrance quitte à déposer n'importe quoi pourvu que ça rapporte des points et flatte leur ego. Là où je travaille, y'a plein de petits jeunes qui croient dur comme fer être les héros du futur "War game". Le jugement des pairs est plus sûr et impitoyable avec les frimeurs...
17 juil. 2007 à 15:58
amusant (entre autres), le
</head>
en fin de fichier :p
17 juil. 2007 à 15:46
libre a chacun d'utiliser le ton qu'il souhaite, le fiat d'être admin n'y change rien, chacun a son caractère...
disons que la source possédait apparemement quelques 1/10 qui n'étaient pas justifiés...
quelques "plaisantins" donnent 20 fois 1/10 dans le même après midi. Quel crédit apporter a ces notes ?
le réseau CodeS-SourceS n'est pas une simple vitrine où l'on dépose du code, dans le but de recevoir des commentaires élogieux, comme tu semble le croire de plus en plus. C'est un grand réseau d'entraide. Le forum est très actif, et l'on y trouve très souvent la réponse a de nombreuses questions. Les sources ont pour but de partager ses connaissances, de confronter son travail aux remarques et au conseils/critiques d'autres membres ; bref d'améliorer la perception de chacun, de faire évoluer un peu les connaissances de tous.
les commentaires, a ce titre, sont bien plus importants que les notes...
il est de bon ton d'etayer un peu sa notation, si elle est extrême, ou sort un peu de la note moyenne distribuée, nous n'avons pas tous les mêmes attentes face a un même code, ni la même approche. Encore moins le même niveau en programmation, beaucoup sont encore étudiants, et programment même par loisir...
le commentaire de malalam aura au moins eu l'effet souhaité : te faire réagir (pas toi personnellement, mais ceux qui ont attribué 1/10 sans expliquer le pourquoi de la chose).
Maintenant, il est vrai que si les points noirs d'une source ont déja ete mentionnés, il est certainement inutile de justifier un 1/10 de plus... je te l'accorde volontiers.
pour conclure, je t'invite a t'impliquer dans le réseau CodeS-SourceS, tu m'a l'air d'avoir une tête bien faite, solidement vissée sur tes épaules...
il serait dommage que ton experience et ton point de vue ne profitent a chacun.
bonne continuation, et a bientôt sur le réseau.
Renfield
17 juil. 2007 à 15:31
Je suppose que tu es l'admin (ou l'un des admins) de ce site pour pouvoir :
1) parler comme ça,
2) décider de modifier une note (cf. : "... j'ai viré les 1/10.". Décision arbitraire ?)
Si ta démarche était aussi simple que ça, la mienne n'était pas bien compliquée non plus. Je me suis inscrite sur un site qu'on m'avait recommandé. Le premier script sur lequel je tombe est naze (suis désolée pour lui, mais c'est comme ça). Je dis ça vaut pas plus de 1. C'est tout ! J'ai pas à me justifier, bien que je l'ai fait globalement ("utilité du code, algorithme développé, formatage du source, lisibilité de l'ensemble, efficacité, portabilité, etc..."), je n'ai pas à détailler caractère par caractère. Est-ce que quand tu passes ton diplôme d'ingénieur à Centrale l'examinateur perd du temps à justifier la note qu'il te met, non ? Il te l'attribue. Alors ? Et comme je ne me sens pas du tout l'âme d'une examinatrice, encore moins à justifier... Je n'ai pas de pédagogie à faire non plus. Si je devais déposer un script (mais vu l'accueil, j'en doute de plus en plus) et qu'on me dise qu'il est naze, j'essayerais au moins comprendre pourquoi, j'attendrais pas, comme une gamine, à ce qu'on me dise pourquoi. Ensuite, soit je comprends et je corrige soit je hausse les épaule et je continue. Faut dire tout de suite si les seuls commentaires autorisés sont les commentaires élogieux et qui flattent l'ego.
Et puis si le site était conçu dans ce sens, on ne pourrait pas mettre de note sans y associer obligatoirement une justification. Le seul fait qu'on puisse le faire laisse supposer que justifier ses appréciations est peut être apprécié mais n'est pas une obligation.
Par ailleurs, je ne me suis montrée ni agressive ni blessante. En revanche, le ton sec et péremptoire de votre dernier message, renforcé par un avatar "tête de mort" ne laisse pas supposer une cordialité débordante...
17 juil. 2007 à 14:04
Ma démarche était aussi simple que ça.
Bref, je n'ai rien l'intention de provoquer chez toi, je me fiche pas mal de ce que tu penses de ce code : c'est ton avis, je n'ai aucun problème avec ça. J'estime juste qu'un site comme celui-ci est fait pour partager ET pour aider les gens à avancer? Et en ce sens, si on décide de noter, il est normal que l'on explique sa note.
Inutile de devenir agressif ou blessant (c'est destiné à tout le monde, ça). On est là pour discuter, apprendre, partager.
Si là n'est pas votre but, autant éviter tout commentaire ou note. Le dédain silencieux reste supportable, après tout.
17 juil. 2007 à 13:40
>Personne n'a encore dit ca.
Apparamment, c'est sous-entendu car :
>"vu ton arrivee aujourd'hui il y a 5 minutes, no sources, no messages, rien du tout, et deja un 1/10..."
Faut être là depuis 10 ans pour avoir le droit d'avoir un avis ? Ton ego en a pris un coup ?
> '--> merci de ne pas dire "va voir ca, c'est fait pour toi parce que t'es une brèle"'
J'ai jamais pensé que t'étais une brèle ! Simplement que t'es un débutant qui essaye de convaincre ce que tu appelles la communauté que tu es doué en programmation. Va voir à la sortie des salles de sport. C'est toujours les petites ceintures jaunes ou ceux qui viennent de débuter et d'apprendre deux ou trois trucs qui cherchent la bagarre, histoire d'épater ; c'est jamais les ceintures noires qui connaissent leurs capacités et qui savent qu'ils n'ont pas besoin de la démontrer pour en être sûrs. Ca me fait penser à une réflexion de (hélas) je ne sais plus qui : "La culture, c'est comme la confiture. Moins on en a, plus on l'étale". C'est valable aussi pour la connaissance, même technique. :-)
> "si tu es si douee que ca en programmation php, ..."
Où m'as-tu vu écrire ça ? Je sais ce que je vaux, ce que je sais faire et ce que je dois encore appendre et j'ai pas envie d'étaler un CV, ce qui ne voiudrait rien dire.
Description du script par coucou747 : "Ce code n'est pas parfait, mais..."
Commentaire FhX: > "Certes, mal écrit, on ne peut pas dire le contraire :) Mais Coucou a fait ca en vitesse... "
Deux choses:
1) Je ne fais que confirmer ce qui est marqué deux fois dans cette page dont une fois par l'"Auteur" lui-même (avec un Grand "A", courbette, siouplait... :o)
2) FhX, Tu parles d'une façon telle qu'on dirait que t'étais avec lui quand il l'a écrit ! T'es sûr que vous n'êtes pas tous les deux la même personne ? Surtout quand on voit que vos deux inscriptions sont de la même année à quelques mois d'intervalle ? Et tu te fais tellement bien son avocat que c'est comme si tu te défendais, toi !
> "Disons que tu utilises PHP en ligne de commande (via php-gtk)..."
Disons que sur ma machine locale j'utilise Perl en ligne de commande qui va solliciter l'interpréteur PHP d'une autre machine de mon réseau afin de provoquer le déclenchement d'un script PHP sur le serveur web de mon hébergeur pour que celui-ci me retourne la liste des fichiers présents dans le répertoire courant de ma machine locale! C'est pas mal comme script, non ? 'Achement utile, ça ! Sûr que le monde entier en aura besoin !
> "L'unique question qu'on peut se poser, c'est pourquoi se faire chier à le coder alors que ca existe déja ? Pour le simple plaisir"
... de se regarder le nombril en s'écriant : "Ah, qu'est-ce que je suis bon !" et de mesurer sa compétence au nombre de lignes écrites. (Mais j'ai quand même effrayée quand je vois celles qui font l'objet de ces remarques).
Si tu ne veux pas être pris pour un gamin, ne te comporte donc pas de façon aussi scolaire où il faut que le prof note l'erreur en la soulignant, la commente et te demande de la corriger. Je pense que ton code (dont on peut se demander la réelle utilité) laisse largement à désirer. Je te le fais simplement remarquer sans animosité aucune. Si tu n'es pas capable de voir toi-même là où il pêche, c'est que tu as très certainement atteint ton propre niveau d'incompétence (cf. voir le "Principe de Peter")
Malalam, tu peux si tu veux enlever le 1/10, tu peux aussi lui mettre 9 ou même 10/10, je ne serai pas désappointée pour autant (je n'ai d'ailleurs pas à l'être). Ca n'enlève ou ne rajoute rien à ce que ça vaut réellement. Si l'on prend en compte l'ensemble des paramètres (utilité du code, algorithme développé, formatage du source, lisibilité de l'ensemble, efficacité, portabilité, etc...), 1 sur 10 c'est bien payé mais tu peux décréter, toi, que ça vaut 10/10 et qu'il n'y a rien d'autre de meilleur sur terre, ça ne change rien à ce qui est et je ne serai pas obligée de forcer sur le maquillage pour masquer les boutons. Ca ne m'en provoquera pas :-)
Mais bon, j'ai pas envie de me prendre la tête, surtout pour ça, je suis déjà assez occupée comme ça.
Allez, bonne journée...
17 juil. 2007 à 12:45
17 juil. 2007 à 09:17
j'ai viré les 1/10. J'attends des commentaires plus étayés justifiant les 1/10.
Je reconnais qu'à première vue, le code peut sembler un code de débutant pour un regard pas très expérimentés. Mais en l'occurence, il faut ne pas oublier une chose : ce n'est pas la complexité d'un code qui fait sa qualité.
Inutile de mettre des objets, des exceptions, des de l'abstraction, de l'interface, du design pattern là où c'est...inutile.
Enfin, les noteurs ont sans doute leurs raisons, je les attends car leur avis peut être très intéressant, et laisserai alors les notes.
17 juil. 2007 à 07:16
j'ai commence le php quand php5 a ete propose, evidement, j'ai mis plus ou moins de temps a m'y faire, mais bon, comme globalement, php4 et php5 ont de grosses differences, on va dire que j'ai pu ne pas perdre trop de temps... ok, j'ai pris le temps avant de faire de l'objet (j'ai mis le temps avant d'aimer ca aussi) mais je ne fais pas que du php... J'en suis a plusieurs dizaines de milliers de lignes de php aussi (rien que 7 000 pour un erp, et 18 000 pour un moteur de blog pour deux de mes codes les plus volumineux... si on compte mon code de 51 classes qui est encore en developpement... bah je crois qu'on ne peut pas dire que je sois un debutant en php...)
et cote prog, ca ne fait pas 15 ans evidement, mais deja... 8
bon, ca c'etait pour te dire que je ne suis pas un debutant...
ensuite, tu dis que ma source est mal codee, j'aimerais bien alors savoir pourquoi...
si c'est pour le melange de php et de html, alors pour une source de 75 lignes, un moteur de template, c'est pas vraiment une solution... ni un tas de classes dom...
sinon, mon code passe en etant avec un php.ini correct (l'error reporting a E_ALL, etc...) les erreurs sont traites, les verifs de formulaires aussi...
si tu es si douee que ca en programmation php, alors je suis ouvert a toute critique, si tu ne veux pas detailler sur ce qui est mauvais... alors inutile de mettre 1/10 comme ca, ca ne fera pas avancer les choses...
17 juil. 2007 à 02:51
Oh, je croyais que ca marchait quand même ... tant pis pour moi.
"Jamais vu de code aussi inutile en PHP et aussi mal écrit..."
Je ne comprends pas moi non plus la réaction. Certes, mal écrit, on ne peut pas dire le contraire :) Mais Coucou a fait ca en vitesse... donc il n'est pas tant à blamer que ca.
Inutile je ne pense pas. Je m'explique. Disons que tu utilises PHP en ligne de commande (via php-gtk), tu te fais une appli coté cliente qui va tester les ports ouverts/fermés de ton routeur ou d'un autre routeur. L'unique question qu'on peut se poser, c'est pourquoi se faire chier à le coder alors que ca existe déja ? Pour le simple plaisir. Ou alors pour avoir un logiciel clairement adapté à son besoin. Mais rien n'est inutile :)
"Mais le premier sur lequel je tombe me déçoit quand même un peu. Pas de chance !"
Il ne faut pas juger sur le premier code. Coucou en a fait de bien meilleurs et qui traitent de sujets assez diverses. Un code ne veut absolument rien dire. Moi aussi, j'ai fais des codes pourris...
"1) ce n'est pas mon arrivée récente qui fait de moi une débutante"
Personne n'a encore dit ca.
"2) Je ne me prétendrai jamais créatrice d'un "framework machin truc" si ce n'est pas vrai"
Toutes nos excuses, mais c'est l'habitude de dire quelque chose comme ca. On a eu/vu tellement de boulets en si peu de temps que nous nous méfions un petit peu (trop).
"3) Tu n'as pas à vouloir quoique ce soit à mon égard et surtout me dire ce que je dois dire."
L'explication est la clef de l'amélioration. Si tu n'expliques pas ton point de vue avec des arguments valable, ton commentaire ne sert strictement à rien.
Nous sommes ici en communauté. Pour la plupart, nous nous connaissons tous grâce aux codes que nous publions, mais aussi aux critiques constructives que nous nous faisons entre nous.
Certes, quelques fois il arrive que certains commentaires soient mal pris par certains membres... mais dans l'ensemble tout se passe normalement bien :)
"Et vu ton âge, tu auras du mal à me convaincre que tu as 15 ans d'expérience derrière toi :o)"
C'est ce que je disais plus haut... espérons que personne ne relèvera la remarque qui n'a pas lieu d'être.
"Je te conseille simplement de lire les sources de ceux et celles qui ont de l'expérience en programmation et qui ont écrit des choses utiles."
Je vais quand même terminé sur ca :
--> merci de ne pas dire "va voir ca, c'est fait pour toi parce que t'es une brèle" alors qu'on n'a pas encore fait ses preuves. Simplement par respect des autres membres de PHP Codes-Sources.
Voila pour l'apparté... j'espère que ca ne partira pas en vrille :/
Coucou, tu as essayé d'utiliser les sockets pour tester ?
http://fr.php.net/manual/fr/ref.sockets.php
16 juil. 2007 à 23:50
Suis désolée, j'aurais peut-être dû chercher un peu plus parmi les autres scripts, j'en aurais sûrement trouvé d'autres qui valent la peine.
Ensuite :
1) ce n'est pas mon arrivée récente qui fait de moi une débutante
2) Je ne me prétendrai jamais créatrice d'un "framework machin truc" si ce n'est pas vrai
3) Tu n'as pas à vouloir quoique ce soit à mon égard et surtout me dire ce que je dois dire.
Je pense que c'est un code de débutant et je le dis, sans méchanceté mais en toute objectivité, c'est tout. Et vu ton âge, tu auras du mal à me convaincre que tu as 15 ans d'expérience derrière toi :o) C'est pas une tare, il faut bien débuter un jour... Je te conseille simplement de lire les sources de ceux et celles qui ont de l'expérience en programmation et qui ont écrit des choses utiles. Je suis sûre qu'il doit y en avoit sur ce site
Hé ! Ce n'est qu'un avis... OK ? Keep cool :-)
16 juil. 2007 à 23:20
que trouves tu mal ecrit ? et pourquoi dis tu que je suis debutant ?
(vu ton arrivee aujourd'hui il y a 5 minutes, no sources, no messages, rien du tout, et deja un 1/10... on va supposer un multi compte... j'imagine aussi que tu vas dire etre createur d'un framework machin truc, je te coupe de suite, je m'en moque, ce que je veux, c'est uniquement que tu me dises ce que tu trouves de mal code sur cette source...)
16 juil. 2007 à 23:15
Suis désolée mais tu dois être débutant, non ?
16 juil. 2007 à 18:32
16 juil. 2007 à 13:20
Correction :
<?php
function PortOuvert($port, $ip, $timeout=1){
if ( ($f @fsockopen($ip, $port, $errno, $errstr, $timeout) ) FALSE )
throw new Exception('Can\'t connect to '.$i);
close($f);
return ( $errno === 0 );
}
//if (isset($_GET['ip']) && isset($_GET['start']) && isset($_GET['end'])){
if ( isset($_GET['ip'], $_GET['start'], $_GET['end']) ) {
?>
C'est tout je crois :)
?>
16 juil. 2007 à 12:48
C'est juste pour ne pas gerer un code posé directectement dans la page :
"
if (isset($_GET['ip']) && isset($_GET['start']) && isset($_GET['end'])){
[...]
</form>';
"
16 juil. 2007 à 07:26
function getErrno($i, $ip, $timeout=1)
pour la class... $a=new ??? j'aurais mis quoi comme objet ? il aurait contenu quoi comme variables membres et methodes ? C'etait selon moi pas la bonne solution
je parle de php5 pour le try catch trhow new Exception
16 juil. 2007 à 07:06
15 juil. 2007 à 03:24
NUMERO PORT
PROTOCOLE DE COMMUNICATION (TCP / UDP)
PROTOCOLE APPLICATIF (FTP, HTTP, TELNET, ...)
ETAT (OUVERT / FERME)
TOTAL
Une simple liste des ports les plus utilisés aurait surement apporté une touche d'originalité.
14 juil. 2007 à 01:56
14 juil. 2007 à 01:27
L'utile alié à l'agréable, en toute simplicité cette fois...
10/10 ;-))
13 juil. 2007 à 23:35
13 juil. 2007 à 19:46
13 juil. 2007 à 18:54
mais scanner les ports ca veut dire => savoir quels sont les port
ouvert et quels sont fermés .
pour connaitre si un server est en marche ou non on envoie un PING .
:) non ?
( dézolé si je t'agasse avec mes commentaires !)
13 juil. 2007 à 16:37
Et arrête de te tirer la couverture!
10/10 pour Coucou747
13 juil. 2007 à 13:17
Le code est propre et ça sert toujours sur le web ou en intranet ... je remonte la note :p
13 juil. 2007 à 11:03
Sinon c'est un bonne source ;)
ciao ...
13 juil. 2007 à 00:58
la fonction getErrno peut te permettre de savoir si un serveur smtp distant est en marche ou non (par exemple, mais ca peut-etre tout type de serveur)
j'ai fait ca pour des raisons plus ou moins louables, cette source ne constitue pas une attaque, ni un espionage, c'est plus une correction des sources ici presentes et peu correctement codes [...]
12 juil. 2007 à 09:16