Ha oui
avatarProud to be CAKE©®™
The cake is a lie! - Love your weighted companion cube

->986-Studio's Wonder Project!<-
yN a cassé ma signature :o
squalyl (./9) :
ça marche même avec --std=c89 dans gcc. Comment on désactive les extensions gcc? grin

-pedantic-errors
avatarMes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité
-
J'ai renommé la fonction et changé le contenu de protocolString pour vous donner l'occasion de jouer :
static public string SecretProtocol(string myString) {
    string protocolString = "azerty";
    CharEnumerator charEnumerator = protocolString.GetEnumerator();
    while (charEnumerator.MoveNext())
    {
        char padleftChar = charEnumerator.Current;
        myString = myString.PadLeft(myString.Length + 1, padleftChar);
    }
    return myString;
}

À vous de comprendre à quoi sert cette fonction. C'est du C# mais les mots clés sont assez compréhensibles.
Et voici la version d'origine, plus facile de comprendre à quoi servait cette fonction.
static public string PrependProtocol(string urlString) {
    string protocolString = "//:ptth";
    CharEnumerator charEnumerator = 
          protocolString.GetEnumerator();
    while (charEnumerator.MoveNext())
    {
        char padleftChar = charEnumerator.Current;
        urlString = urlString.PadLeft(urlString.Length + 1, padleftChar);
    }
    return urlString;
}
avatar« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique
tu as laissé "urlString" dans le while, ca aide hehe
Au contraire, ça n'aide pas ^^ ça complique de savoir d'où il sort.
Mais ce n'est pas aussi important que le contenu ://ptth.
Et de toute façon, l'essentiel n'est pas de savoir dans quel contexte est utilisée cette fonction, mais à quoi sert-elle smile
avatar« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique
c'est une façon inefficace d'inverser une chaîne ?
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo
Pas tout à fait, l'inversion de la chaîne n'est qu'une conséquence (stupide) du fait que le codeur n'a pas trouvé d'autre façon de faire ce qu'il voulait faire faire.
Non non, quelque chose de vraiment trivial... du moins en théorie, puisqu'en pratique quand on en est à écrire une fonction pareille, ça n'est pas trivial pour tous.
avatar« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique
Strcat
avatarProud to be CAKE©®™
The cake is a lie! - Love your weighted companion cube

->986-Studio's Wonder Project!<-
yN a cassé ma signature :o
Anéfé, une bête concaténation. L'usage de PadLeft() obligeant en plus à écrire http:// à l'envers est assez fabuleux, il faut aimer se prendre la tête.
static public string PrependProtocol(string urlString) {
    return "http://" + urlString;
}
avatar« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique
It was over 9000!
avatarProud to be CAKE©®™
The cake is a lie! - Love your weighted companion cube

->986-Studio's Wonder Project!<-
yN a cassé ma signature :o
Ne me dis pas que ça vient de ton boulot ?
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo
Wow, sacré combo d'horreurs en une aussi petite fonction grin
avatarAll right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)
Non, ce n'est pas de chez moi grin
On peut presque imaginer le raisonnement du codeur :
« Alors, il faut que j'ajoute http:// avant l'url, comment faire...
Il me faut trouver une fonction qui permette de mettre du texte à gauche d'un autre.
Petite recherche... ah, j'ai ça qui permet d'ajouter un caractère à gauche d'un string.
Il suffit de boucler pour ajouter les caractères de http:// à la suite.
Tiens, ça ne fonctionne pas, c'est à l'envers... ah bien sûr, puisque toute nouvelle lettre va à gauche de tout le reste.
Hop, je l'écris à l'envers, et ça fonctionne, roule ma poule. »


Peut-être est-ce un code de stagiaire : quelqu'un qui a une connaissance superficielle du code et trouve une solution semblable parce qu'il lui manque quelques notions vraiment basiques, comme quand j'ai parlé de mon stagiaire PHP à qui on n'avait même pas appris à écrire une fonction. Et pas "dans les règles de l'art", non, rien que la déclaration.
avatar« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique
Je sais pas, peut etre une deformation, mais premier truc que je cherche c'est strcat, voir meme un simple
$head = "http://";
$tail = "www.example.com";
$newstr = $head . $tail;
printf($newstr);


PHP fait ca sans probleme non?

En fait ca sens le gars qui ne sais faire que ces m****** de design pattern et ne sais pas réfléchir par lui même sur comment faire le code.
avatarProud to be CAKE©®™
The cake is a lie! - Love your weighted companion cube

->986-Studio's Wonder Project!<-
yN a cassé ma signature :o
tres mauvaise habitude securitaire de mettre une variable en premier arg de printf.

toujours printf("%s",$newstr)
j'ai tape printf par habitude, mais je voulais taper print qui ne prends pas d'argument "format"
avatarProud to be CAKE©®™
The cake is a lie! - Love your weighted companion cube

->986-Studio's Wonder Project!<-
yN a cassé ma signature :o
squalyl -> tu m'as dit ça ya longtemps, du coup je mets des %s partout, mais j'ai jamais compris pourquoi grin
Tu peux m'expliquer stp ?
avatar<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !
prenons

printf(toto)

et la, imaginons que l'attaquant te passe par exemple une valeur telle que:

toto = "%08X%08X%08X%08X"

ou bien:

toto = "%s"

il va se passer quoi d'apres toi? grin
ok, mon printf va donner accès à des données plus haut sur la pile, données que n'est pas censé connaitre l'attaquant, c'est ça ?
avatar<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !
Encore pire, il y a le format %n qui écrit dans le pointeur passé en argument. sick
avatarMes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité
vala, donc ca permet d'espionner des adresses de retour par ex, ou pire de jardiner ^^
-
Ca fait du Stuff ? embarrassed

c'est ce que tu utilises pour t'autocensurer globalement?
je me souviens, une fois, un programme du genre avait foutu en l'air toute la bdd yaronet ^^
avatarWebmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca
(et un sleep au milieu ?)
Hmm c'est gore quand même grin

Maintenant y'a moyen de faire ça avec une API JSON plutôt que de scanner des pages HTML, à l'occasion j'ajouterai la documentation dans les pages d'aide.
avatarAll right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)
-
Je me suis amusé à faire ça aujourd'hui en vacances avec un IDE php sur mon smartphone et un serveur local pour tester... Il est temps que japprenne autre chose pour mes tests, comme QPython. N'importe quel langage pourrait être utilisé pour ce petit script, ça n'est absolument pas spécifique au Web.
Je me suis aussi amusé à renommer les variables et virer les commentaires trop explicatifs, à vous de deviner ce que fait ce code, et surtout QU'EST ce qu'il cherche à calculer...

Le premier for a été ajouté après le reste, d'où l'indentation foireuse (flemme de la taper).
Pour les non-adeptes de php, array_shift depile le premier élément du tableau et retourne sa valeur, shuffle mélange aléatoirement un tableau. Pour le reste vous devriez comprendre. Les lignes de commentaires vides sont des commentaires supprimés, j'ai gardé la ligne pour mieux montrer les étapes dans l'algorithme.
<?php
$total = $min = $max = $exces = 0;
$moyenne = 100;
for ($round = 0; $round < $moyenne; $round++) {

//
$elements = array();
for ($i = 1; $i <= 4; $i++) {
	for ($j = 1; $j <= 13; $j++) {
		$elements[] = $j;
	}
}
shuffle($elements);

//
$lot1 = $lot2 = array();
for ($i = 0; $i < 52; $i += 2) {
	$lot1[] = $elements[$i];
	$lot2[] = $elements[$i+1];
}

//
$fin = 0;
$tour = 0;
while(true) {
	$tour++;
	/* Note : ce if n'existe qu'à cause de
		boucles parfois trop longues pour le
		smartphone ($exces), elle pourrait
		être supprimée au besoin */
	if ($tour > 10000) {
		$exces++;
		$fin = 4;
		break;
	}
	$element1 = array_shift($lot1);
	$element2 = array_shift($lot2);
	$groupe = array();
	
	while ($element1 === $element2) {
		// Verifier s'il y a assez d'éléments
		if (sizeof($lot1) < 2 || sizeof($lot2) < 2) {
			//
			$fin = 3;
			break 2;
		}
		$groupe[] = $element1;
		$groupe[] = $element2;
		$groupe[] = array_shift($lot1);
		$groupe[] = array_shift($lot2);
		$element1 = array_shift($lot1);
		$element2 = array_shift($lot2);
	}
	
	//
	$groupe[] = $element1;
	$groupe[] = $element2;
	$recuperation = ($element1 > $element2) ? "lot1" : "lot2";
	for ($i = 0; $i < sizeof($groupe); $i++) {
		${$recuperation}[] = $groupe[$i];
	}
	
	//
	if (empty($lot1)) {
		$fin = 2;
		break;
	} elseif (empty($lot2)) {
		$fin = 1;
		break;
	}
}

/* Une partie du code a été supprimé,
affichant des messages différents selon
la valeur de $fin */

if ($fin < 4) {
	$total += $tour;
	if ($min === 0) {
		$min = $tour;
	}
	if ($min > $tour) {
		$min = $tour;
	}
	if ($max < $tour) {
		$max = $tour;
	}
}
}
echo "Min : $min<br>";
echo "Max : $max<br>";
echo "Moyenne : ".ceil($total/$moyenne)."<br>";;
echo "Excès : $exces";
avatar« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique
./34 je te propose cette version légèrement revisitée grin
static public string PrependProtocol(string urlString) {
    string protocolString = new string(Array.Reverse("http://".toCharArray()));
    CharEnumerator charEnumerator = 
          protocolString.GetEnumerator();
    while (charEnumerator.MoveNext())
    {
        char padleftChar = charEnumerator.Current;
        urlString = urlString.PadLeft(urlString.Length + 1, padleftChar);
    }
    return urlString;
}