#1051 Le 03/11/2010, à 13:24
- compte supprimé
Re : /* Topic des codeurs couche-tard [2] */
#1052 Le 03/11/2010, à 13:33
- tshirtman
Re : /* Topic des codeurs couche-tard [2] */
bon, ma solution gère pas les diagonales, il parait qu'il faut, pour les mots à l'envers c'est facile, mais j'ai la flemme pour les diagonales ^^.
@ArkSeth: c'était absolument hors de question ^^.
Hors ligne
#1053 Le 03/11/2010, à 13:57
- grim7reaper
Re : /* Topic des codeurs couche-tard [2] */
@ArkSeth: c'était absolument hors de question ^^.
Le contraire m'aurait étonné
Hors ligne
#1054 Le 03/11/2010, à 15:23
- Elzen
Re : /* Topic des codeurs couche-tard [2] */
@ArkSeth: c'était absolument hors de question ^^.
Pffff… tricheur et mauvais joueur
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#1055 Le 03/11/2010, à 17:42
- \\Ouranos//
Re : /* Topic des codeurs couche-tard [2] */
@tshirtman : C't'un mot mêlé ou autre ?
Ubuntu facile, c'est :
- Dire "Bonjour"
- Lire la doc et les règles du forum avant de poster. Savoir poser une question intelligemment.
- Mettre des balises url autour des liens et un tiret à su.
Hors ligne
#1056 Le 03/11/2010, à 20:23
- Pylades
Re : /* Topic des codeurs couche-tard [2] */
word = calloc(sizeof(word), 42);
J'espère sérieusement que tu te rends compte de l'ignominie de la chose ? Et pas que pour une raison…
Et puis, vraiment, inclure unistd.h sans réel besoin, c'est moche. D'autant plus que là tu ne te sers même pas de quoi que ce soit qui soit déclaré ou défini dedans !
Dernière modification par Pylade (Le 03/11/2010, à 20:24)
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#1057 Le 03/11/2010, à 21:04
- grim7reaper
Re : /* Topic des codeurs couche-tard [2] */
@Pylade : +42
Effectivement, je n'avais pas fais attention mais ce code est émétique :
- fuite de mémoire (manque le free);
- allocation de 4 fois trop de mémoire ("sizeof *word" et non pas "sizeof word");
- inclusion inutile (unistd.h);
- calloc alors qu'un malloc suffit dans ce cas (aucun intérêt d'initialiser la mémoire à zéro dans ce cas donc pure perte de temps).
Sinon dans les trucs subjectifs, les parenthèses pour return c'est moche et inutile .
Dernière modification par grim7reaper (Le 03/11/2010, à 21:49)
Hors ligne
#1058 Le 03/11/2010, à 22:12
- nathéo
Re : /* Topic des codeurs couche-tard [2] */
Quelques points…
C'est rarement par le sarcasme qu'on élève son âme.
Le jus de la vigne clarifie l'esprit et l'entendement.
De quoi souffres-tu ? De l'irréel intact dans le réel dévasté ?
La liberté n'est qu'un vain fantôme, quand une classe d'hommes peut affamer l'autre impunément. timezone[America/Bogota]
Hors ligne
#1059 Le 03/11/2010, à 23:00
- \\Ouranos//
Re : /* Topic des codeurs couche-tard [2] */
Ubuntu facile, c'est :
- Dire "Bonjour"
- Lire la doc et les règles du forum avant de poster. Savoir poser une question intelligemment.
- Mettre des balises url autour des liens et un tiret à su.
Hors ligne
#1060 Le 03/11/2010, à 23:04
- Pylades
Re : /* Topic des codeurs couche-tard [2] */
@grim7reaper : exactement.
Et puis aussi, je trouve qu'allouer un nombre fixe de 336 octets (ben oui, je suis en 64 bits) et ne pas s'adapter aux besoins, c'est moche.
Et tant qu'on est dans le subjectif, mettre une opérande simple entre parenthèses (sizeof(word)), c'est moche aussi.
Dernière modification par Pylade (Le 03/11/2010, à 23:04)
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#1061 Le 03/11/2010, à 23:14
- grim7reaper
Re : /* Topic des codeurs couche-tard [2] */
@grim7reaper : exactement.
Et puis aussi, je trouve qu'allouer un nombre fixe de 336 octets (ben oui, je suis en 64 bits) et ne pas s'adapter aux besoins, c'est moche.
Ouais, en 64 bits ça gaspille encore plus vu la taille des pointeurs .
Bon sinon, j'ai pas tiqué pour l'adaptation car c'était un code vite fait, le but était pas de pondre une appli correcte. On va pas pousser non plus (il a mis 42 alors c'est pardonnable ).
Mais le memory leak + gaspillage de mémoire c'est clairement trop, même dans ce contexte ^^.
Et tant qu'on est dans le subjectif, mettre une opérande simple entre parenthèses (sizeof(word)), c'est moche aussi.
Exact, mais attention pour sizeof ça peut être particulier : si c'est un type alors les parenthèses sont obligatoires (mais pour un nom de variable comme c'est le cas ici, elles sont inutiles).
Dernière modification par grim7reaper (Le 03/11/2010, à 23:32)
Hors ligne
#1062 Le 04/11/2010, à 01:06
- gnuuat
Re : /* Topic des codeurs couche-tard [2] */
@Pylade et grim7reaper :
Bon, alors déjà, la phrase "Avez vous remarqué que si on remplace 5 lettres à Ruby on obtient Python" était une blague de type absurde, comme la majorité de mes blagues.
Ensuite pour le bout de code : je ne l'ai même pas compilé, parce que lui même était une blague absurde.
Pourquoi include unistd ? parce que je faisais un write avant de passer au puts. Mais bon, include étant une instruction préprocesseur, ce n'est pas ça qui rend le code moche.
Pourquoi pas de free ? Parce que c'était pas sérieux. Et puis bon, c'est pas un programme multithread, donc non il n'y a pas de fuites de mémoire (ou alors l'OS est vraiment con).
Pourquoi pas sizeof(*word) ? Parce que j'ai pas fait gaffe, et parce que la valeur magique 42 est assez grande dans tous les cas pour l'utilisation que je fais de word.
Pourquoi la valeur magique 42 ? Parce que c'est la Réponse, et parce que je n'avais pas envie de me faire chier à Faire des realloc pour une blague absurde.
Pourquoi calloc au lieu de malloc ? Parce que c'est mieux d'initialiser la mémoire avant de l'utiliser.
Pourquoi les parenthèse au return ? Parce que c'est un mot clef et que dans ma norme, on met des parenthèses aux mots clefs. En plus c'est beau.
Pareil que la ligne au dessus pour sizeof.
Là je viens de rentrer de l'escalade, donc je vous pond une version sérieuse, j'espère que vous l'utiliserez tous les jours :
/*
** Did you ever note that if you replace 5 letters in Ruby, you obtain Python?
** by gnuuat
** Fuck of the date
*/
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#define WORD_1 "Ruby"
#define WORD_2 "Python"
int main(void)
{
char *word;
size_t len;
len = strlen(WORD_1);
word = calloc(sizeof (*word), len);
strcpy(word, WORD_1);
puts(word);
len = strlen(WORD_2);
word = realloc(word, len * sizeof (*word));
bzero(word, len);
strcpy(word, WORD_2);
puts(word);
free(word);
return (EXIT_SUCCESS);
}
Bon, et puis au lieu de vous exiter sur une blague, vous auriez pu poster votre version, ça aurait été moins "je t'agresse en disant que je suis meilleur sans le prouver", et tant qu'à faire, au lieu de vous focaliser sur des points aussi inutiles, vous auriez du critiquer l'inutilité même du programme.
Miaou schnobeguadish.
Aussi, on peut combiner Python avec Ruby pour obtenir PythonRuby, mais c'est une histoire de chat.
Dernière modification par gnuuat (Le 04/11/2010, à 01:07)
Bisouland : embrassez les tous !
Volez les points d'amour de vos adversaires en les embrassant, dans ce jeu gratuit par navigateur !
Hors ligne
#1063 Le 04/11/2010, à 01:19
- cm-t
Re : /* Topic des codeurs couche-tard [2] */
'Nuit;
Actu Ubuntu ☺/
Pauses Ubuntu sur Paris \_< -t
[(π)] La Quadrature du net
Hors ligne
#1064 Le 04/11/2010, à 01:20
- tshirtman
Re : /* Topic des codeurs couche-tard [2] */
Hors ligne
#1065 Le 04/11/2010, à 01:33
- Кຼزດ
Re : /* Topic des codeurs couche-tard [2] */
Ah ben je comprends mieux le bordel, alors…
dou
Hors ligne
#1066 Le 04/11/2010, à 02:16
- grim7reaper
Re : /* Topic des codeurs couche-tard [2] */
Pourquoi include unistd ? parce que je faisais un write avant de passer au puts. Mais bon, include étant une instruction préprocesseur, ce n'est pas ça qui rend le code moche.
Moche non, d'ailleurs je n'ai pas dis que c'était moche juste inutile. OK, le C ça compile vite donc on peut inclure à l'arrache, mais dans d'autres langages tu le sentirais passer.
Pourquoi pas de free ? Parce que c'était pas sérieux. Et puis bon, c'est pas un programme multithread, donc non il n'y a pas de fuites de mémoire (ou alors l'OS est vraiment con).
Si, il y a fuite de mémoire.
C'est pas parce que certains OS balayent la merde des gens que c'est le cas de tous. D'autres OS ne le font pas (ils ont autre chose à foutre) et ça n'a rien d'une connerie.
Pourquoi calloc au lieu de malloc ? Parce que c'est mieux d'initialiser la mémoire avant de l'utiliser.
C'est mieux quand ça a une signification ou que tu te sers de cette initialisation pour faire quelque chose (un contrôle quelconque ou que sais-je encore). Écrire une chiée de zéro pour réecrire par dessus à l'instruction suivante je trouve ça inutile, mais bon…
Pourquoi les parenthèse au return ? Parce que c'est un mot clef et que dans ma norme, on met des parenthèses aux mots clefs. En plus c'est beau.
Pareil que la ligne au dessus pour sizeof.
Rien à redire là dessus, chacun ces conventions de codage.
Là je viens de rentrer de l'escalade, donc je vous pond une version sérieuse, j'espère que vous l'utiliserez tous les jours :
C'est mieux, mais c'est pas encore ça.
Il y a encore un bzero qui sert à rien (qui en plus est déclaré implicitement, tu n'as pas inclus strings.h) .
Et sinon tu as des off-by-one car tu n'as pas ajouté 1 à la taille lors des allocations.
Bon, et puis au lieu de vous exiter sur une blague, vous auriez pu poster votre version, ça aurait été moins "je t'agresse en disant que je suis meilleur sans le prouver"
La question n'est pas de savoir qui est le meilleur, mais quand on poste du code on s'expose à la critique, c'est tout.
Alors ok. Je sais que je ne suis pas diplomate ou pédagogue pour 2 sous mais j'ai rien contre toi en particulier (Pylade aussi a eu son heure de gloire lorsqu'il a posté les premières versions de sa lib).
Et puis quant à en pondre une version, j'ai malheureusement d'autres codes à fouetter en ce moment .
M'enfin, histoire de pas "t'agresser en disant que je suis meilleur sans le prouver", voilà ma version.
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define RUBY "Ruby"
#define PYTHON "Python"
int main(void)
{
int status = EXIT_FAILURE;
size_t len = strlen(RUBY) + 1;
char* buf = malloc(sizeof *buf * len);
if(buf)
{
char* tmp = NULL;
strcpy(buf, RUBY);
puts(buf);
len = strlen(PYTHON) + 1;
tmp = realloc(buf, sizeof *buf * len);
if(tmp)
{
buf = tmp;
strcpy(buf, PYTHON);
puts(buf);
status = EXIT_SUCCESS;
}
free(buf);
}
return status;
}
vous auriez du critiquer l'inutilité même du programme.
Il n'y a rien de mal à faire du code inutile, si on devait se contenter des choses utiles…
Enfin, bonne nuit quand même .
@tshirtman : bah ça va (ou pas, tout dépend du point de vue ), je code aussi en Perl.
@Кຼزດ : ouais, moi aussi.
Dernière modification par grim7reaper (Le 04/11/2010, à 07:17)
Hors ligne
#1067 Le 04/11/2010, à 02:42
- Кຼزດ
Re : /* Topic des codeurs couche-tard [2] */
Après avoir posté là, j'ai essayé (code à la rache™ 100% crado), l'appli s'appelle blogging :
blogging/models.py
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=150)
entry = models.TextField()
published = models.DateTimeField()
tags = models.TextField()
def search_tag(self, word):
return word in getattr(self, 'tags').split(",")
def search_title(self, word):
return word in getattr(self, 'title')
def search_entry(self, word):
return word in getattr(self, 'entry')
def __unicode__(self):
return self.title
blogging/views.py
from models import Post
from django.http import HttpResponse, HttpRequest
from django.shortcuts import render_to_response
from django.template import RequestContext
def index(request):
post_list = Post.objects.all().order_by('-published')[:10]
return render_to_response("home.html", {"post_list": post_list})
def last(request, num):
post_list = Post.objects.all().order_by('-published')[:num]
return render_to_response("postlist.html", {"post_list": post_list, "max_num": num})
def details(request, post_id):
post = Post.objects.get(id=post_id)
tags = getattr(post, 'tags').split(",")
ret = render_to_response("post.html", {"post":post, "tags":tags}, context_instance=RequestContext(request))
return ret
def search_tag(request, word):
post_list = Post.objects.all()
res_list = []
for i in post_list:
if i.search_tag(word): res_list.append(i)
return render_to_response("postsearch.html", {"post_list":res_list, "request":word, "type":"tag"})
def search_title(request, word):
post_list = Post.objects.all()
res_list = []
for i in post_list:
if i.search_title(word): res_list.append(i)
return render_to_response("postsearch.html", {"post_list":res_list, "request":word, "type":"title"})
def search_entry(request, word):
post_list = Post.objects.all()
res_list = []
for i in post_list:
if i.search_entry(word): res_list.append(i)
return render_to_response("postsearch.html", {"post_list":res_list, "request":word, "type":"entry"})
Trucs pas vraiment « à coder » :
blogging/admin.py
from django.contrib import admin
from blogging.models import Post
admin.site.register(Post)
urls.py
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Example:
(r'^$', 'blogging.views.index'),
(r'^last/(?P<num>\d+)/?', 'blogging.views.last'),
(r'^post/(?P<post_id>\d+)/?', 'blogging.views.details'),
(r'^search/tag/(?P<word>.+)/?', 'blogging.views.search_tag'),
(r'^search/title/(?P<word>.+)/?', 'blogging.views.search_title'),
(r'^search/entry/(?P<word>.+)/?', 'blogging.views.search_entry'),
(r'^comments/?', include('django.contrib.comments.urls')),
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/home/mathieui/manga/static'}),
# Uncomment the admin/doc line below to enable admin documentation:
# (r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
(r'^admin/', include(admin.site.urls)),
)
settings.py
# Django settings for blog project.
DEBUG = False
TEMPLATE_DEBUG = DEBUG
ADMINS = (
# ('Your Name', 'your_email@domain.com'),
)
MANAGERS = ADMINS
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'koin.sqlite', # Or path to database file if using sqlite3.
'USER': '', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# On Unix systems, a value of None will cause Django to use the same
# timezone as the operating system.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'Europe/Paris'
# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'fr-fr'
SITE_ID = 1
# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True
# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale
USE_L10N = True
# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = ''
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = ''
# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/media/'
# Make this unique, and don't share it with anybody.
SECRET_KEY = 'une_secret key'
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
ROOT_URLCONF = 'blog.urls'
TEMPLATE_DIRS = (
"./templates"
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.comments',
'blogging',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
)
FORCE_SCRIPT_NAME = ''
Templates
model.html
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{% block title %}Blog{% endblock %}</title>
<link rel="icon" href="favicon.png" type="image/png" />
<link rel="stylesheet" type="text/css" href="/static/style.css" media="all" />
</head>
<body>
<div id="header">
<a href="/" title="retour à la case départ">{% block head %}Koin{% endblock %}</a>
</div>
<div id="sidebar">
{% block sidebar %}
<ul>
<li><a href="/">{% trans "Accueil" %}</a></li>
<li><a href="/last/50">{% trans "50 derniers posts" %}</a></li>
</ul>
{% endblock %}
</div>
{%block opt %}{% endblock%}
<div id="content">
{% block content %}{% endblock %}
</div>
<div id="footer">
{% block footer %}<p>Site en carton utilisant <a href="http://www.djangoproject.com/">django</a> réalisé par koin</p>{% endblock %}
</div>
</body>
</html>
post.html
{% extends "model.html" %}
{% load comments %}
{% block title %}{{post.title}}{% endblock %}
{% block head %}{{post.title}}{% endblock %}
{% block content %}
<h2>{{post.title}}</h2>
<p>{{post.entry|safe}}</p>
<p>Publié le {{post.published}}</p>
<p>Tags :
{% for i in tags %}
<a href="/search/tag/{{ i|iriencode }}">{{i}}</a>
{% endfor %}
</p>
<hr/>
{% get_comment_count for post as count %}
{% if count > 0 %}
{% render_comment_list for post %}
{% else %}
<div id="comments">
<p>Soyez le premier à poster un commentaire !</p>
</div>
{% endif %}
<div id="comment_form">
{% render_comment_form for post %}
</div>
{% endblock %}
postlist.html
{% extends "model.html" %}
{% block title %}{{max_num}} derniers posts{% endblock %}
{% block head %}{{max_num}} derniers posts{% endblock %}
{% block content %}
<ul>
{% for post in post_list %}
<li>{{post.published}}: <a href="/post/{{post.id}}/">{{post}}</a></li>
{% endfor %}
</ul>
{% endblock %}
postsearch.html
{% extends "model.html" %}
{% block title %}Recherche
{% if type == "title" %}
du titre contenant
{%endif%}
{% if type == "entry" %}
du post contenant
{%endif%}
{% if type == "tag" %}
du tag
{%endif%}
{{request}}{% endblock %}
{% block head %}Recherche
{% if type == "title" %}
du titre contenant
{%endif%}
{% if type == "entry" %}
du post contenant
{%endif%}
{% if type == "tag" %}
du tag
{%endif%}
{{request}}{% endblock %}
{% block content %}
{% if post_list %}
<ul>
{% for post in post_list %}
<li>{{post.published}}: <a href="/post/{{post.id}}/">{{post}}</a></li>
{% endfor %}
</ul>
{% else %}
<p>Aucun post trouvé.</p>
{% endif %}
{% endblock %}
Ça fait un peu plus qu'un truc ultra basique, donc bon, je pense que j'aurais pu le faire en 30 lignes
edit : et bien sûr l'adresse du bouzin : http://blogtest.jeproteste.info/
Dernière modification par Кຼزດ (Le 04/11/2010, à 03:08)
dou
Hors ligne
#1068 Le 04/11/2010, à 03:27
- nesthib
Re : /* Topic des codeurs couche-tard [2] */
plop
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#1069 Le 04/11/2010, à 04:47
- samυncle
Re : /* Topic des codeurs couche-tard [2] */
Hello world
Hors ligne
#1070 Le 04/11/2010, à 07:06
- PPdM
Re : /* Topic des codeurs couche-tard [2] */
Et ben ! Ça chauffe a tout les étages ici !
La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera
Hors ligne
#1071 Le 04/11/2010, à 09:33
- tshirtman
Re : /* Topic des codeurs couche-tard [2] */
@koin: pas mal en effet, j'avais codé un blog en repoz.bfg mais butté sur des problèmes d'orm, faudrait que je retente un de ces 4, j'étais pas loin…
(mais django saymal, il parait )
Hors ligne
#1072 Le 04/11/2010, à 15:41
- grim7reaper
Re : /* Topic des codeurs couche-tard [2] */
Ptain quel con. J'avais fait un édit à 3h pour avoir 10 points et je l'ai écrasé par un édit à 07:17 >_<.
Bon, sinon les bots sont en grèves aujourd'hui ^^ ?
Dernière modification par grim7reaper (Le 04/11/2010, à 23:41)
Hors ligne
#1073 Le 04/11/2010, à 22:04
- nathéo
Re : /* Topic des codeurs couche-tard [2] */
Points…
C'est rarement par le sarcasme qu'on élève son âme.
Le jus de la vigne clarifie l'esprit et l'entendement.
De quoi souffres-tu ? De l'irréel intact dans le réel dévasté ?
La liberté n'est qu'un vain fantôme, quand une classe d'hommes peut affamer l'autre impunément. timezone[America/Bogota]
Hors ligne
#1074 Le 04/11/2010, à 23:43
- Compteur du TdCCT
Re : /* Topic des codeurs couche-tard [2] */
Scores totaux, depuis le début :
1) 1751 nesthib
2) 1690 samuncle
3) 1445 Pylade
4) 1041 Кຼزດ
5) 863 cm-t
6) 704+5 grim7reaper /* ./viewtopic.php?pid=3486252#p3486252 */
7) 676 Р☢w ! ✰ :mad: ✰ (эй !)
8) 662 \\Ouranos//
9) 636 helly
10) 367 Lagierl
11) 305 gnuuat
12) 266 tshirtman
13) 167 Kanor
14) 136 Askelon
15) 121 ǤƦƯƝƬ
16) 93 petifrancais
17) 78 edge_one
18) 70 gulp
19) 66 pierguiard
20) 62 nathéo
21) 59 kamui57
22) 50 The Uploader
23) 37 ilagas
24) 30 keny
25) 27 Le Rouge
26) 25 GentooUser
27) 24 ไ୦บเઢ'
28) 20 Morgiver
28) 20 CROWD
30) 18 Ph3nix_
30) 18 xapantu
32) 15 timsy
33) 14 kouskous
34) 12 stratoboy
34) 12 sailing
36) 11 alexises
36) 11 Crocoii
38) 10 Toineo
38) 10 NutMotion
38) 10 pseudovingtcinqcaracteres
38) 10 pfriedZ
42) 8 Mornagest
43) 7 Vista
44) 6 Zeibux
44) 6 ubuntlin
44) 6 asma.geek
47) 5 tendances-tdct
48) 4 danychou56
48) 4 Neros
48) 4 Biaise
48) 4 totoflute
48) 4 pinballyoda ㋛
53) 2 SoJaS
53) 2 ceric
55) 1 geenux
Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !
J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).
Hors ligne
#1075 Le 04/11/2010, à 23:43
- Compteur du TdCCT
Re : /* Topic des codeurs couche-tard [2] */
Scores de la période en cours :
1) 30 samuncle
1) 30 nesthib
1) 30 nathéo
4) 26 grim7reaper
5) 18 Кຼزດ
6) 17 cm-t
7) 16 gnuuat
8) 10 Pylade
8) 10 tshirtman
10) 8 \\Ouranos//
11) 7 Lagierl
12) 6 Askelon
13) 3 Kanor
Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !
J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).
Hors ligne