Un mélange des deux. C'est un article de 5 pages qui permet de prendre en main le langage : écrire quelques scripts courts, apprendre à définir des méthodes, utiliser les différentes sortes de variables, créer des classes, faire de l'héritage et même un exemple de XML-RPC. Bref, le "démarrez ruby en 15 minutes" :-)
Je suis un adorateur de Python. J'ai testé Ruby (un article pour Login: de plusieurs pages écrit en novembre dernier, à paraître en septembre prochain seulement) et je préfère Python. MAIS, voici trois exemples de ce qu'on peut faire avec Python dans le genre illisible :
FILE_EXTENSIONS = ['.bmp', '.pcx'] # list of file extensions to handle
STOP_BY_DIRECTORY = ['htrack', 'strack'] # handle directories of one of these names
def fileTreeVisitor(arg, dirname, names):
if os.path.split(dirname)[1] in STOP_BY_DIRECTORY: filterFiles(dirname, names)
def filterFiles(dirname, names):
fileNames = [name for name in names if os.path.splitext(name)[1] in FILE_EXTENSIONS]
if len(fileNames) == 0: return
fileNames.sort()
map(os.mkdir, [os.path.join(dirname, "Angle" + str(i)) for i in range(1, 9) if not os.path.exists(os.path.join(dirname, "Angle" + str(i)))])
for i in range(0, len(fileNames), len(fileNames) / 8):
files = filter(lambda name: int(re.search("(\d+)\.", name).group(1)) % 2 != 0, fileNames[i:i + len(fileNames) / 16])
for file in files:
os.system(".\i_view32.exe " + os.path.join(os.getcwd(), dirname, file) + " /bpp=8 /convert=" + os.path.join(os.getcwd(), dirname, file))
os.rename(os.path.join(dirname, file), os.path.join(dirname, "Angle" + str((i / (len(fileNames) / 8)) + 1), file))
if __name__ == "__main__":
if len(sys.argv) == 1:
print "Please specify the root working directory"
else:
os.path.walk(sys.argv[1], fileTreeVisitor, ())
Maintenant un bot IRC :
BOT_CHANS, BOT_HOST, BOT_PORT, BOT_IDENT, OP, IDENT_PORT, ident, bot = '#pcteam,#progworld', 'ircnet.grolier.net', 6667, 'remouleur', '~romain\.gu@*\.abo\.wanadoo\.fr', 113, socket(AF_INET, SOCK_STREAM), socket(AF_INET, SOCK_STREAM)
ident.bind(('', IDENT_PORT)) or ident.listen(1) or bot.connect((BOT_HOST, BOT_PORT))
irc, irchost = ident.accept()
irc.send(re.search('(\d+)', irc.recv(1024)).group(1) + ", " + str(BOT_PORT) + ' : USERID : UNIX : ' + BOT_IDENT) and (irc.close() or ident.close())
bot.send('NICK ' + BOT_IDENT + '\r\nUSER ' + BOT_IDENT + ' ' + gethostname() + ' ' + BOT_HOST + ' :' + BOT_IDENT + '\r\n')
while (bot.recv(1024).find('376 ' + BOT_IDENT) == -1): pass
bot.send('JOIN ' + BOT_CHANS + '\r\n')
while 1:
match = re.search('(?m)^PING.+|:([^!]+)!([^\s]+) \w+ #(\w+)\s*:(.*)', bot.recv(1024))
if match is not None:
if match.group(0).find('PING') == 0: bot.send('PONG ' + BOT_IDENT + '\r\n')
elif re.search(OP, match.group(2)) is not None and re.search(BOT_IDENT + ', (.*)\r', match.group(4)) is not None and re.search(BOT_IDENT + ', (.*)\r', match.group(4)).group(1) == 'quit': bot.send("QUIT :BOUM ! V'LA L'REMOULEUR !\r\n") and (bot.close() or sys.exit(0))
elif chr(int(re.search('0\.(\d\d)', str(Random().random())).group(1))) in match.group(1).upper(): bot.send('PRIVMSG #' + match.group(3) + ' :' + base64.decodestring(binascii.unhexlify("".join(map(lambda x: hex(x)[2:], [5330296, 81040486, 206591574, 76969238, 189158482, 87303205, 5682518, 122776406, 81085187, 88623430, 86312084, 106320906])))) + '\r\n')
Et enfin un vérificateur d'XHTML :
exec """stack = []\nfor tag in re.findall("<(/?\w+)[^/]*?>", " ".join(open(sys.argv[1]).readlines())): print (tag[0] != '/' and (lambda t: stack.append(t)) or (lambda t: stack.pop() != tag[1:]))(tag) and "\\n%s invalid because of missing <%s> " % (sys.argv[1], tag) or "",\n"""
Heu non, SOAP-RPC et XML-RPC sont comparables à DCOM/RMI/CORBA. Bien entendu SOAP-RPC se base sur SOAP qui n'est rien d'autre qu'un protocole d'échange de fichiers. WSDL permet pour sa part de décrire des services web afin de permettre aux programmes d'exécuter des services de manières plus ou moins automatiques (se référer à UDDI);
Des explications sur 8 pages dans le Login: (désolé :-) du mois de Mai.
Tu sais, même le code de la version GBA (qui a un petit processeur et très peu de mémoire) n'utilise l'assembleur que pour deux choses : la définition du logo Nintendo et le boot (pour branche la console sur le main() du programme). Pourtant ça tourne :-)
Oui ça aide nécessairement, mais le code reste très gros (on s'approche du méga octet de code Python).
Cela étant dit heu... disons que sur un P IV 1.6 Ghz (avec la RAM et la carte gfx qui vont bien) on sent les menus "ramer". En fait le problème est leur utilisation excessive de XML, chaque changement d'écran fait sentir le bon vieux parsing du bazar (en plus ce sont des gros fichiers XML, par exemple la base des joueurs tient dans un fichier de 500 ko).
Oui. Ceci dit, j'ai développé sur GBA plusieurs mois avec ces outils (cf http://progx.jext.org(...) ou Login:) mais je dois bien avouer que leur système pour débugger est vachement plus pratique qu'un émulateur :-) Pour information, il s'agit d'un gros boîtier connecté en SCSI sur la machine, relié à la console (fournissant une sorte de fausse cartouche + le courant pour éviter d'utiliser des piles), et la contrôlant entièrement (de fait, il s'agit de machines particulières, débridées pour pouvoir être rebootées, etc. depuis le PC).
Toujours est-il que pour environ 100 n'importe qui peut acheter une cartouche vierge et uploader ses propres ROMs dedans pour des tests en grandeur nature.
Je confirme. Je me suis lancé à l'assaut du code source de Mozilla et si on met de côté l'absence TOTALE de commentaires dans le code, je suis tombé sur un écueil de taille : le propriétaire du module DOM Inspector sur lequel j'ai bossé. Il n'a de cesse de vouloir changer mon code et j'ai bien l'impression que ça va être dur pour que mon changement passe (pour vous donner une idée il m'a fait ch**r dans un long mail pour me dire de passer un int en static - ce qui à mon avis était stupide au regard de son utilisation).
Toutefois, les gens sur #mozilla prennent bien le temps d'aider les débutants et sont très patients. Un grand merci à eux (et comme quoi sur un projet ils sont pas tous forcément "bons" ou "mauvais" :))
Désolé, mais les légendes "idiotes" on DEJA été critiquées dans cette discussion.
Bref, juste pour te donner un exemple : les gens aimaient pas les tests de logiciels, y'en a plus. Les gens voulaient des articles de plus de deux pages, ça tombe bien, c'est ce qu'il se passe depuis quelques numéros et la tendance n'est pas près de s'inverser, au contraire.
Ce que j'appelle constructif, c'est des exemples précis et plus les sempiternels "je l'achète plus mais c'est nul". Comme je l'ai dit, on veut bien faire des efforts, mais encore faudrait-il que nous puissions déterminer ce que vous n'aimez vraiment pas (hormis les légendes et la couverture, mais ça ça changera pas, désolé :-).
Hmmm. Chaque fois que je fais un site Internet, une grande préoccupation reste, pour chaque image, de voir dans quel format j'obtiendrais le meilleur ratio qualité/taille. J'aime énormément le format PNG, mais il n'est pas le meilleur en toutes circonstances.
Si vous voulez un indice sachez qu'une partie du magazine est décidée "hors rédaction", autrement dit entre le rédacteur en chef et les pigistes. Et pour faire ce travail depuis 3 ans, je peux vous assurer UNE CHOSE : c'est très cloisonné. Autrement dit, en tant que pigiste, j'ai très peu d'informations sur ce qui se passe au magazine. Je ne m'en plains pas. Mais les sujets dont je discute avec le rédacteur en chef (Yann Rocq) sont réellement décidés de manière totalement indépendante du reste. Et dans 90% des cas, l'idée vient de moi, et non de lui. Et comme je ne risque pas de me préoccuper de la couverture...
Concernant avoir une couverture accrocheuse et une réputation de qualité, je pense que les deux magazines en question les ont. Vous savez, pour 10 personnes qui se plaignent ici de la mauvaise qualité de Login:, nous en trouvons 50 qui disent le contraire à d'autres endroits.
Un magazine possède une certaine cible après tout, et tout le monde ne peut en faire partie. Lire des messages qui disent "c'est nul, changez ça ça et ça" et en même temps d'autres qui disent "j'adore, ne touchez à rien" ou même "j'aime bien le lire de temps en temps"... ça simplifie pas les choses !
Bien sûr, la rédaction s'efforce d'apporter des changements quand elle le juge nécessaire, mais il y aura toujours des laissés pour compte. Et comme j'ai il semblerait que les ventes de Login: soient loin de chuter on *peut* se dire que l'avis de 10 personnes sur linuxfr.org disant qu'ils n'achètent de toute manière plus le magazine n'aura pas tellement d'importance.
Ah et concernant une remarque lue quelque part dans ce sujet à propos des tests de logiciels dans Login: ... cette personne serait étonnée de voir depuis combien de mois Login: n'a pas testé de soft.
[^] # Re: Interview de Matz le créateur de Ruby
Posté par Romain Guy . En réponse à la dépêche Interview de Matz le créateur de Ruby. Évalué à 3.
[^] # Re: Interview de Matz le créateur de Ruby
Posté par Romain Guy . En réponse à la dépêche Interview de Matz le créateur de Ruby. Évalué à 3.
[^] # Re: Interview de Matz le créateur de Ruby
Posté par Romain Guy . En réponse à la dépêche Interview de Matz le créateur de Ruby. Évalué à -1.
[^] # Re: humour et relativité
Posté par Romain Guy . En réponse à la dépêche Vol des serveurs Tuxfamily. Évalué à 2.
[^] # Re: Login: 105
Posté par Romain Guy . En réponse à la dépêche Login: 105. Évalué à 0.
[^] # Re: Login: 105
Posté par Romain Guy . En réponse à la dépêche Login: 105. Évalué à 1.
[^] # Re: Login: 105
Posté par Romain Guy . En réponse à la dépêche Login: 105. Évalué à -4.
[^] # Re: Login: 105
Posté par Romain Guy . En réponse à la dépêche Login: 105. Évalué à -1.
[^] # Re: Légèreté
Posté par Romain Guy . En réponse à la dépêche OpenOffice 1.1 Beta. Évalué à 1.
[^] # Re: XML - Quelles sont tes possibilités ?
Posté par Romain Guy . En réponse au journal XML - Quelles sont tes possibilités ?. Évalué à 1.
Des explications sur 8 pages dans le Login: (désolé :-) du mois de Mai.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Romain Guy . En réponse à la dépêche Des technologies ouvertes au service du jeu. Évalué à 3.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Romain Guy . En réponse à la dépêche Des technologies ouvertes au service du jeu. Évalué à 8.
Cela étant dit heu... disons que sur un P IV 1.6 Ghz (avec la RAM et la carte gfx qui vont bien) on sent les menus "ramer". En fait le problème est leur utilisation excessive de XML, chaque changement d'écran fait sentir le bon vieux parsing du bazar (en plus ce sont des gros fichiers XML, par exemple la base des joueurs tient dans un fichier de 500 ko).
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Romain Guy . En réponse à la dépêche Des technologies ouvertes au service du jeu. Évalué à 7.
Toujours est-il que pour environ 100 n'importe qui peut acheter une cartouche vierge et uploader ses propres ROMs dedans pour des tests en grandeur nature.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Romain Guy . En réponse à la dépêche Des technologies ouvertes au service du jeu. Évalué à 5.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Romain Guy . En réponse à la dépêche Des technologies ouvertes au service du jeu. Évalué à 10.
[^] # Re: XFree, la saga continue
Posté par Romain Guy . En réponse à la dépêche XFree, la saga continue. Évalué à 5.
# Re: Sortie de Mozilla 1.3
Posté par Romain Guy . En réponse à la dépêche Sortie de Mozilla 1.3. Évalué à 10.
[^] # Re: Login n°104 - Mars 2003 est en kiosque
Posté par Romain Guy . En réponse à la dépêche Login n°104 - Mars 2003 est en kiosque. Évalué à 1.
[^] # Re: Login n°104 - Mars 2003 est en kiosque
Posté par Romain Guy . En réponse à la dépêche Login n°104 - Mars 2003 est en kiosque. Évalué à 1.
Bref, juste pour te donner un exemple : les gens aimaient pas les tests de logiciels, y'en a plus. Les gens voulaient des articles de plus de deux pages, ça tombe bien, c'est ce qu'il se passe depuis quelques numéros et la tendance n'est pas près de s'inverser, au contraire.
Ce que j'appelle constructif, c'est des exemples précis et plus les sempiternels "je l'achète plus mais c'est nul". Comme je l'ai dit, on veut bien faire des efforts, mais encore faudrait-il que nous puissions déterminer ce que vous n'aimez vraiment pas (hormis les légendes et la couverture, mais ça ça changera pas, désolé :-).
[^] # Re: libMNG version 1.05 est sortie !
Posté par Romain Guy . En réponse à la dépêche libMNG version 1.05 est sortie !. Évalué à 7.
[^] # Re: précision
Posté par Romain Guy . En réponse à la dépêche Login n°104 - Mars 2003 est en kiosque. Évalué à 0.
Concernant avoir une couverture accrocheuse et une réputation de qualité, je pense que les deux magazines en question les ont. Vous savez, pour 10 personnes qui se plaignent ici de la mauvaise qualité de Login:, nous en trouvons 50 qui disent le contraire à d'autres endroits.
Un magazine possède une certaine cible après tout, et tout le monde ne peut en faire partie. Lire des messages qui disent "c'est nul, changez ça ça et ça" et en même temps d'autres qui disent "j'adore, ne touchez à rien" ou même "j'aime bien le lire de temps en temps"... ça simplifie pas les choses !
Bien sûr, la rédaction s'efforce d'apporter des changements quand elle le juge nécessaire, mais il y aura toujours des laissés pour compte. Et comme j'ai il semblerait que les ventes de Login: soient loin de chuter on *peut* se dire que l'avis de 10 personnes sur linuxfr.org disant qu'ils n'achètent de toute manière plus le magazine n'aura pas tellement d'importance.
Ah et concernant une remarque lue quelque part dans ce sujet à propos des tests de logiciels dans Login: ... cette personne serait étonnée de voir depuis combien de mois Login: n'a pas testé de soft.
[^] # Re: lemonde.fr et
Posté par Romain Guy . En réponse au journal lemonde.fr et "La face cachée du Monde". Évalué à 1.
[^] # Re: Je vais encore avoir l'air chiant mais...
Posté par Romain Guy . En réponse à la dépêche Login n°104 - Mars 2003 est en kiosque. Évalué à -1.
[^] # Re: précision
Posté par Romain Guy . En réponse à la dépêche Login n°104 - Mars 2003 est en kiosque. Évalué à 1.
[^] # Re: Je vais encore avoir l'air chiant mais...
Posté par Romain Guy . En réponse à la dépêche Login n°104 - Mars 2003 est en kiosque. Évalué à 0.