Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Programmation > Langage C > la bilbiothèque des zeros en C! > Lecture du sujet

la bilbiothèque des zeros en C!

zeros.h et zeros.c

Vous devez être inscrit pour pouvoir poster des messages

Page : Précédente  1  2  3  4  5  6  7  8  Suivante
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2  3  4  5  6  7  8  Suivante
Hors ligne Xhtml_boys # Posté le 17/05/2008 à 14:57:45
Psychopate Suicidaire
Avatar
Groupe : Membres
Reprise du dernier message de la page précédente :
Citation : -ed-
[...]
Citation : Pas de titre
Code : C
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
int stolowercalc(char s[]){//stolower + calacul du nombre de caracteres transformes
    char copie[50000] = "";
    int i = 0,j = 0,carac = 0;
    strcpy(copie, s);
    stolower(s);
    while(copie[i] != '\0'){
        if(copie[i] != s[j]){carac++;}
        i++;
        j++;
    }
    return carac;
}


Ca c'est horrible. Pourquoi 5000 ?

Tu as du mal lire, c'est encore pire : c'est 50.000 :-°

Au mon dieu, un noelliste ! Image utilisateur
Stoppons !! (la POP-programmation, anti-windows, ...) Pour en savoir plus ( la bio de Gambit2099 )
3:52 : cette heure est memorable, c'est l'heure ou superMinirop a bannis le pire des boulays :)
 
Hors ligne sharky.fr # Posté le 17/05/2008 à 15:00:49
DIY
Avatar
Groupe : Membres
Recoder strlen ? La je vois pas bien l'intérêt .

  • Être conscient de son ignorance, c'est tendre vers la connaissance. Benjamin Disraeli
  • Il semble que la perfection soit atteinte non quand il n’y a plus rien à ajouter, mais quand il n’y a plus rien à retrancher. Antoine de Saint-Exupéry
Image utilisateur

 
Hors ligne Jaloyan1 # Posté le 17/05/2008 à 16:05:48
Choisir = se priver du reste.
Avatar
Groupe : Membres
Citation : guis
salut à tous,

je suis avec cette idée. on est des Zéros et il faut qu'on avance petit à petit.

ce qu'on voit sur ce forum des mêmes programme se refait chaque fois.

ce topic nous laisse nous les Zéros + 1 chercher à trouver les programmes des

bibliothèque existe déjà que utiliser les fonctions prêt , et aussi on essaie

d'améliorer nos connaissence on reste pas toujours des Zéros.

pour ce là voilà moi programme

elle se trouve dans zstring.c
Code : C
1
2
3
4
5
6
7
int zstrlen(char * chaine)
{
    int i=0;

       while(chaine[i] != '\0') i++;
    return i;
}


elle est très simple

Code : C
1
int zsrtlen(char *);


Code : Autre
1
2
3
4
5
6
7
8
9
zstrlen permet de compter le nombre de caractère d'une chaine de caractère.

en entrer, on donne la chaine et on déclare le i comme entier et on le 

initialise par 0, on parcoure la chaine caractère par caractère et tant que ce

 n'ai pas fin de chaine qui est '\0' on incremente le i .Qaund elle trouve '\0'

 elle sort de la boucle et on return le i


ps: si quelq'un trouve mon explication est mal merci de la corriger

je suis là pour apprendre avec vous

merci



ben on peut en faire une fonction cachée.
Et on peut améliorer un peu, si la chaine dépasse x caractère, il renvoit une erreur etc.
et au fait, les suffixes commencent par zrl_
Donc je vais modifier ton code source(trop la flemme de recoder je vais bricoler(je sais ed c'est mal)).

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir.
Image utilisateur
Image utilisateur
Image utilisateur

Chef du fan club de jaloyan1
 
Hors ligne -ed- # Posté le 17/05/2008 à 16:42:40
C is a sharp tool
Avatar
Groupe : Membres
Citation : guis
ce qu'on voit sur ce forum des mêmes programme se refait chaque fois.

OK; Le but est donc de ne pas réinventer la roue, notamment les fonctions de la bibliothèque standard.
Citation : Pas de titre

Code : C
1
2
3
4
5
6
7
int zstrlen(char * chaine)
{
    int i=0;

       while(chaine[i] != '\0') i++;
    return i;
}


Qu'apporte cette fonction par rapport au strlen() standard, à part qu'elle n'accepte pas les chaines constantes, ni de longueur > INT_MAX ?

Je rappelle que le prototype de strlen() est
Code : C
1
size_t strlen (char const *s);


Exemples de fonctions pouvant vraiment servir à quelque chose :

http://mapage.noos.fr/emdel/clib/ed/inc/str.h
Édité le 17/05/2008 à 17:03:39 par -ed-

Emmanuel Delahaye.
Non à la pub sur l'alcool sur Internet.

Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://mapage.noos.fr/emdel/


Image utilisateur
 
Hors ligne Jaloyan1 # Posté le 17/05/2008 à 16:50:15
Choisir = se priver du reste.
Avatar
Groupe : Membres
ok merci je fonce.
On peut le faire en version 32 bytes.
avec une struct.



euh ed, size_t vaut
unsigned long int


tu as meme posté la dedans.
http://www.developpez.net/forums/showthread.php?t=135250
Édité le 17/05/2008 à 17:01:05 par Jaloyan1

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir.
Image utilisateur
Image utilisateur
Image utilisateur

Chef du fan club de jaloyan1
 
Hors ligne el-khawarrizmi # Posté le 17/05/2008 à 17:00:38
_____/'G|U|S/'______
Avatar
Groupe : Membres
Citation : -ed-
Je rappelle que le prototype de srlen() est
Code : C
1
size_t strlen (char const *s);



justement je suis un Zéros + 1 ;le prototype de strlen je le connais pas j'ai

réalisé mon programme d'apres mon test de la fonction vous me signalez cette

erreur et je refais mon programme comme ça j'apprends à cause cette erreur et d'autre

ne fait pas l'erreur qui je la fais

Jaloyan1>On peut le faire en version 32 bytes.

svp on complique pas trop les choses quand on appris la fonctionnalité ce qu'on a on ,on saute a autre chose.

je vous jure que je voudrai prendre les assetus de programmation

comme la signalisation d'erreur je ne la connais pas
Édité le 17/05/2008 à 17:02:23 par el-khawarrizmi

SVP, ne commanter pas sur mon français svp je sais qu'il est mal mais je vous assure que je fais des efforts. ^^
 
Hors ligne 1337833K # Posté le 17/05/2008 à 17:02:08
fgsfds
Groupe : Membres
Citation : guis
je vous jure que je voudrai prendre les assetus de programmation

J'ai mis une minute avant de comprendre "assetus".
Et pour le reste du post, rien compris.

Image utilisateur
Big Brother is watching you.
The chocolate is a lie !
Vous pouvez faire un geste gratuit pour changer le monde. :)
Libérez quelqu'un et quelqu'un-d'autre !
 
Hors ligne Jaloyan1 # Posté le 17/05/2008 à 17:02:43
Choisir = se priver du reste.
Avatar
Groupe : Membres
regarde mon edit: il suffisait juste de mettre comme veleur de return size_t ou unsigned long int.

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir.
Image utilisateur
Image utilisateur
Image utilisateur

Chef du fan club de jaloyan1
 
Hors ligne -ed- # Posté le 17/05/2008 à 17:09:15
C is a sharp tool
Avatar
Groupe : Membres
Citation : Jaloyan1
ok merci je fonce.
On peut le faire en version 32 bytes.
avec une struct.

Quel rapport ? Une longueur de chaine C ne peut excéder (((size_t) -1) - 1)
Citation : Pas de titre

euh ed, size_t vaut
unsigned long int

Sur ton implémentation. La norme dit 'entier non signé'. C'est tout.

tu as meme posté la dedans.
http://www.developpez.net/forums/showthread.php?t=135250
Bah, non, pas du tout. Relis cette discussion...

Emmanuel Delahaye.
Non à la pub sur l'alcool sur Internet.

Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://mapage.noos.fr/emdel/


Image utilisateur
 
Hors ligne Jaloyan1 # Posté le 17/05/2008 à 17:11:11
Choisir = se priver du reste.
Avatar
Groupe : Membres
euh si tu as posté dans cette discussion.
Je vois le message comme je vois le sujet ici.
Rdv sur mon nouveau problème.

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir.
Image utilisateur
Image utilisateur
Image utilisateur

Chef du fan club de jaloyan1
 
Hors ligne -ed- # Posté le 17/05/2008 à 17:11:38
C is a sharp tool
Avatar
Groupe : Membres
Citation : Jaloyan1
regarde mon edit: il suffisait juste de mettre comme veleur de return size_t ou unsigned long int.

Et le compteur ?

Emmanuel Delahaye.
Non à la pub sur l'alcool sur Internet.

Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://mapage.noos.fr/emdel/


Image utilisateur
 
Hors ligne Jaloyan1 # Posté le 17/05/2008 à 17:21:11
Choisir = se priver du reste.
Avatar
Groupe : Membres
gné?

Ben on le cast.

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir.
Image utilisateur
Image utilisateur
Image utilisateur

Chef du fan club de jaloyan1
 
Hors ligne 1337833K # Posté le 17/05/2008 à 17:33:31
fgsfds
Groupe : Membres
Le cast c'est pas de la magie hein ... (contrairement à ce que son npm peut faire croire)
Il faut aussi déclarer le compteur de type size_t.
Édité le 17/05/2008 à 17:34:02 par 1337833K

Image utilisateur
Big Brother is watching you.
The chocolate is a lie !
Vous pouvez faire un geste gratuit pour changer le monde. :)
Libérez quelqu'un et quelqu'un-d'autre !
 
Hors ligne gogohan # Posté le 17/05/2008 à 17:35:29
Avatar
Groupe : Membres
Bon, je vais vous passer des fonctions que j'ai codé il y a quelques temps.
Je ne mets pas exprès ma fonction de cryptage car j'attends votre avis, si je dois la mettre ou non (système de clé de n'importe quelle taille).

Code : C
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include plein de trucs

int verify_folder(const char *folder)
{
	DIR *dir = NULL;
	
	dir = opendir(folder);
	
	if(dir == NULL)
		return 1;
	
	else 
		closedir(dir);
	
	return 0;
}

char **fract_folder(const char *folder, int *nb_folders)
{
	*nb_folders = 0;
	int count = 0;
	int i = 0;
	char **folders = NULL;
	char *tmp = NULL;
	size_t len = strlen(folder);
	
	if(folder != NULL)
	{
		tmp = malloc(500);
		
		for(i = 0; i < 500; i++)
			tmp[i] = 0;
		
		i = 0;
		folders = malloc(sizeof(char));
		
		while(i < len)
		{
			if(i != 0 && folder[i] == '/')
				*nb_folders += 1;
			i ++;
		}
		
		if(*nb_folders == 0)
		{	
			
			return NULL;
		}
		
		i = 0;
		
		while(count < *nb_folders)
		{
			switch(folder[i])
			{
				case '/':
					count += 1;
					
					if(count > 1)
						folders = realloc(folders, sizeof(char) * count);
					
					folders[count - 1] = strdup(tmp);
					break;
					
					default:
					break;
			}
			
			tmp[i] = folder[i];
			
			i++;
		}
		
		
		if(tmp != NULL)
			free(tmp);
		
		
	}
	return folders;
}

int create_folder(const char *folder)
{	
	char **folders = NULL;
	int len = 0, i = 0;
	DIR *dir = NULL;
	int t = 0;
	int exist = 0;
	
	if(folder != NULL)
	{
		folders = aqua_fract_folder(folder, &len);
		
		if(folders == NULL || len == 0) /* De toute façon, c'est les 2 ou rien :/ */
			return 2;
		
		while(i < len)
		{
			t = aqua_verify_folder(folders[i]);
			
			/* Si le dossier n'existe pas */
			if(t == 1) 
			{
				exist = -1;
				if( -1 == (t = mkdir(folders[i], S_IRWXU | S_IRWXO | S_IRGRP | S_IXGRP)) )
				{
					/*
					 Le dossier n'a pu etre cree.
					 */
					
					return -1;
				}
			}
			
			i++;
		}
		
		if(folders != NULL)
			free(folders);
		if(dir != NULL)
			closedir(dir);
	}
	
	if(exist == -1)
		return 1;
	
	return 0;
}


En bref, une seule fonction à utiliser normalement si vous voulez créer un dossier :p
Je vais chercher ce que j'ai codé y a un bail pour la lib des Zéros ce soir ^^

Codeur amateur C, C++, obj-c, TI-Basic, Python... ;)
 
Hors ligne Jaloyan1 # Posté le 17/05/2008 à 17:51:51
Choisir = se priver du reste.
Avatar
Groupe : Membres
Je n'ai pas compris tes fonctions, Elles servent a créer un dossier et c'est tout?
Ou alors a supprimer un dossier etc etc?

Et tu m'autorises a les mettres dans la zéro sous forme de zrl_createfolder?
Et tout ca?(et aussi un peu modifier après tes explications)

Et si tu veux que tes fonctions de cryptages fassent partie de la zérolib, vas y tu peux les poster, ca rajoutera ton nom a la grande liste des personnes qui ont construit la zérolib.

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir.
Image utilisateur
Image utilisateur
Image utilisateur

Chef du fan club de jaloyan1
 
Hors ligne -ed- # Posté le 17/05/2008 à 18:14:06
C is a sharp tool
Avatar
Groupe : Membres
Citation : Jaloyan1
gné?

Ben on le cast.

Depuis quand est-ce qu'un cast résout un problème de plage de valeurs ?

Emmanuel Delahaye.
Non à la pub sur l'alcool sur Internet.

Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://mapage.noos.fr/emdel/


Image utilisateur
 
Hors ligne Jaloyan1 # Posté le 17/05/2008 à 18:24:59
Choisir = se priver du reste.
Avatar
Groupe : Membres
euh je ne sais pas.
C'est quoi d'abord un problème de plage?
Je connais juste les requins et les vagues pas les ordis sur les plages je pensais qu'on vient pour se baigner pas pour travailler.

On cast une plage?
C'est ce que je me suis dit d'ailleurs que c'est pas possible.

Bon j'arrete de faire mon débile -x x étant l'infini.

Sans blague, c'est quoi?

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir.
Image utilisateur
Image utilisateur
Image utilisateur

Chef du fan club de jaloyan1
 
Hors ligne 1337833K # Posté le 17/05/2008 à 18:33:11
fgsfds
Groupe : Membres
Value overflow ça te dit rien ?

Allez, teste ça:
Code : C
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#include <stdio.h>

int main(void)
{
  int i;
  for (i = 1; i > 0; i++);
  printf("Cette boucle n'est pas infinie.\nRegarde, i a fait un value overflow: %d.\n", i);
  getchar();
  return 0;
}

Après quelques secondes, tu devrais voir le message qui s'affiche.

Le fait de déclarer i unsigned ne change rien au problème, mais au moins la marge est plus grande.
Édité le 17/05/2008 à 18:43:34 par 1337833K

Image utilisateur
Big Brother is watching you.
The chocolate is a lie !
Vous pouvez faire un geste gratuit pour changer le monde. :)
Libérez quelqu'un et quelqu'un-d'autre !
 
Hors ligne Jaloyan1 # Posté le 17/05/2008 à 19:06:22
Choisir = se priver du reste.
Avatar
Groupe : Membres
euh ca je sais très bien.

Mais quel est le problème déjà?

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir.
Image utilisateur
Image utilisateur
Image utilisateur

Chef du fan club de jaloyan1
 
Hors ligne -ed- # Posté le 17/05/2008 à 19:12:15
C is a sharp tool
Avatar
Groupe : Membres
Citation : Jaloyan1
euh je ne sais pas.
C'est quoi d'abord un problème de plage?
<...>

La plage (range) des valeurs possibles pour un type donné...

int : INT_MIN a INT_MAX
long : LONG_MIN a LONG_MAX
unsigned long : 0 a ULONG_MAX
size_t : 0 à (size_t)-1

etc.
Édité le 17/05/2008 à 19:14:21 par -ed-

Emmanuel Delahaye.
Non à la pub sur l'alcool sur Internet.

Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://mapage.noos.fr/emdel/


Image utilisateur
 
Hors ligne Jaloyan1 # Posté le 17/05/2008 à 19:29:17
Choisir = se priver du reste.
Avatar
Groupe : Membres
oui et?

Si je renvois un size_t je déclare un size_t que pour cahque caractère je fais +1 au size t
et ej renvoie la valeur que je cast en int dans le main.

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir.
Image utilisateur
Image utilisateur
Image utilisateur

Chef du fan club de jaloyan1
 
Hors ligne -ed- # Posté le 17/05/2008 à 19:42:20
C is a sharp tool
Avatar
Groupe : Membres
Citation : Jaloyan1
Si je renvois un size_t je déclare un size_t que pour cahque caractère je fais +1 au size t
et je renvoie la valeur
Jusque là, tout va bien.Citation : Pas de titre
que je cast en int dans le main.
Pour quoi faire ?

Emmanuel Delahaye.
Non à la pub sur l'alcool sur Internet.

Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://mapage.noos.fr/emdel/


Image utilisateur
 
Hors ligne Jaloyan1 # Posté le 17/05/2008 à 19:54:39
Choisir = se priver du reste.
Avatar
Groupe : Membres
ben c'est casté automatiquement, comme on le fait avec strcmp.
Ou alors on le cast en int si on veut faire des transformations avec.

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir.
Image utilisateur
Image utilisateur
Image utilisateur

Chef du fan club de jaloyan1
 
Hors ligne 1337833K # Posté le 17/05/2008 à 20:02:42
fgsfds
Groupe : Membres
Pourquoi devoir caster en int ?

Image utilisateur
Big Brother is watching you.
The chocolate is a lie !
Vous pouvez faire un geste gratuit pour changer le monde. :)
Libérez quelqu'un et quelqu'un-d'autre !
 
Hors ligne -ed- # Posté le 17/05/2008 à 20:07:08
C is a sharp tool
Avatar
Groupe : Membres
Citation : Jaloyan1
ben c'est casté automatiquement, comme on le fait avec strcmp.
Ou alors on le cast en int si on veut faire des transformations avec.

Je ne comprends pas ce que tu veux faire. J'ai l'impression que tu essaye de jongler avec des principes basiques que tu ne maitrises pas, mais ça ne trompe pas un observateur averti...

Montre le code.

Emmanuel Delahaye.
Non à la pub sur l'alcool sur Internet.

Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://mapage.noos.fr/emdel/


Image utilisateur
 
Hors ligne Jaloyan1 # Posté le 17/05/2008 à 20:10:29
Choisir = se priver du reste.
Avatar
Groupe : Membres
non il n'y a pas de code, c'est juste que je demande que quand on fait printf %ld,strlen(chainede15)

ca le cast avant de le transformer en long int.
C'est ca ou non?

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir.
Image utilisateur
Image utilisateur
Image utilisateur

Chef du fan club de jaloyan1
 
Hors ligne 1337833K # Posté le 17/05/2008 à 20:19:52
fgsfds
Groupe : Membres
Non, c'est même un comportement indéterminé, car tu essayes d'afficher un non signé avec le formateur %ld. Pour les non signés, c'est %u.
Édité le 17/05/2008 à 20:20:10 par 1337833K

Image utilisateur
Big Brother is watching you.
The chocolate is a lie !
Vous pouvez faire un geste gratuit pour changer le monde. :)
Libérez quelqu'un et quelqu'un-d'autre !
 
Hors ligne -ed- # Posté le 17/05/2008 à 20:20:21
C is a sharp tool
Avatar
Groupe : Membres
Citation : Jaloyan1
non il n'y a pas de code, c'est juste que je demande que quand on fait printf %ld,strlen(chainede15)

ca le cast avant de le transformer en long int.
C'est ca ou non?

Ca, c'est un cas spécial, car il s'agit d'un printf(), donc d'une fonction variadic.

Dans ce cas, il y a incertitude sur la promotion (conversion automatique), car on ne sait pas quel est le type exact du size_t, qui, je le rappelle, dépend de l'implémentation.

En C99, c'est simple :
Code : C
1
printf ("len = %zu\n", strlen(chainede15);

En C90, il faut caster dans le plus grand type non signé possible (unsigned long) :
Code : C
1
printf ("len = %lu\n", (unsigned long) strlen(chainede15);

Édité le 17/05/2008 à 20:23:06 par -ed-

Emmanuel Delahaye.
Non à la pub sur l'alcool sur Internet.

Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://mapage.noos.fr/emdel/


Image utilisateur
 
Hors ligne Jaloyan1 # Posté le 17/05/2008 à 20:24:39
Choisir = se priver du reste.
Avatar
Groupe : Membres
ah d'accord donc il faut bel et bien le caster.
Et on peut aps le mettre en unsigned long long?

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir.
Image utilisateur
Image utilisateur
Image utilisateur

Chef du fan club de jaloyan1
 
Hors ligne -ed- # Posté le 17/05/2008 à 21:06:54
C is a sharp tool
Avatar
Groupe : Membres
Citation : Jaloyan1
ah d'accord donc il faut bel et bien le caster.
Et on peut pas le mettre en unsigned long long?

T'es lourd... Y'a pas de long long en C90 et en C99, il y a "%zu". Tu n'as pas lu mon post ?

Emmanuel Delahaye.
Non à la pub sur l'alcool sur Internet.

Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://mapage.noos.fr/emdel/


Image utilisateur
 
Hors ligne Jaloyan1 # Posté le 17/05/2008 à 21:30:39
Choisir = se priver du reste.
Avatar
Groupe : Membres
ben si mais j'ai pas tout compris dedans.
C'est pour ca que je repose la question a ma facon.

Donc merci ca y est j'ai compris maintenant.

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir.
Image utilisateur
Image utilisateur
Image utilisateur

Chef du fan club de jaloyan1
 

Retour au forum "Langage C" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 294 Zéros connectés | Requêtes SQL 6 requêtes | Temps de génération de la page : Total (SQL) 0.0304s (0.0116s)