#2326 Le 13/12/2010, à 00:57
- Кຼزດ
Re : /* Topic des codeurs couche-tard [2] */
hop
dou
Hors ligne
#2327 Le 13/12/2010, à 01:02
- samυncle
Re : /* Topic des codeurs couche-tard [2] */
Hello world
Hors ligne
#2328 Le 13/12/2010, à 01:05
- gnuuat
Re : /* Topic des codeurs couche-tard [2] */
Bisouland : embrassez les tous !
Volez les points d'amour de vos adversaires en les embrassant, dans ce jeu gratuit par navigateur !
Hors ligne
#2329 Le 13/12/2010, à 01:14
- tshirtman
Re : /* Topic des codeurs couche-tard [2] */
Het, tshirtman, ça existe les boucles do while en Python ? Sinon, existe-t-il une manière propre de les émuler ?
j'aurais fait
while True:
#corps
if not (condition): break
Hors ligne
#2330 Le 13/12/2010, à 01:46
- 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
#2331 Le 13/12/2010, à 03:02
- grim7reaper
Re : /* Topic des codeurs couche-tard [2] */
Bon, finalement je vais peut-être tenter clfb en Haskell (mais je suis pas sûr d'avoir le niveau, au pire je changerai de langage en cours de route )
Dernière modification par grim7reaper (Le 13/12/2010, à 03:02)
Hors ligne
#2332 Le 13/12/2010, à 05:48
#2333 Le 13/12/2010, à 07:42
- Compteur du TdCCT
Re : /* Topic des codeurs couche-tard [2] */
Scores totaux, depuis le début :
1) 2067 nesthib
2) 1970 samuncle
3) 1644 Pylade
4) 1281 Кຼزດ
5) 1048 cm-t
6) 968+5 grim7reaper /* ./viewtopic.php?pid=3486252#p3486252 */
7) 710 \\Ouranos//
8) 706 Р☢w ! ✰ :mad: ✰ (эй !)
9) 686 helly
10) 459 gnuuat
11) 438 Lagierl
12) 319 tshirtman
13) 196 Askelon
14) 172 nathéo
15) 167 Kanor
16) 121 ǤƦƯƝƬ
17) 93 petifrancais
18) 78 edge_one
18) 78 pierguiard
20) 70 gulp
21) 62 The Uploader
22) 59 kamui57
23) 37 ilagas
24) 32 Le Rouge
25) 30 keny
26) 26 Rolinh
27) 25 GentooUser
28) 24 ไ୦บเઢ'
29) 20 Morgiver
29) 20 CROWD
29) 20 xapantu
32) 18 Ph3nix_
33) 15 timsy
34) 14 kouskous
34) 14 Steap
36) 12 stratoboy
36) 12 sailing
36) 12 sakul
39) 11 alexises
39) 11 Crocoii
41) 10 Toineo
41) 10 NutMotion
41) 10 pseudovingtcinqcaracteres
41) 10 pfriedZ
45) 8 Mornagest
46) 7 Vista
47) 6 Zeibux
47) 6 ubuntlin
47) 6 asma.geek
50) 5 tendances-tdct
50) 5 kinouchou
52) 4 danychou56
52) 4 Neros
52) 4 Biaise
52) 4 totoflute
52) 4 pinballyoda ㋛
57) 2 SoJaS
57) 2 ceric
59) 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
#2334 Le 13/12/2010, à 07:42
- Compteur du TdCCT
Re : /* Topic des codeurs couche-tard [2] */
Scores de la période en cours :
1) 90 nesthib
2) 81 grim7reaper
3) 80 samuncle
4) 64 Кຼزດ
5) 57 Pylade
6) 41 cm-t
7) 32 gnuuat
8) 30 Lagierl
8) 30 helly
10) 26 tshirtman
11) 18 Rolinh
12) 15 Р☢w ! ✰ :mad: ✰ (эй !)
13) 12 sakul
14) 11 \\Ouranos//
15) 10 pierguiard
16) 9 Steap
17) 5 kinouchou
18) 3 The Uploader
19) 1 xapantu
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
#2335 Le 13/12/2010, à 08:49
- grim7reaper
Re : /* Topic des codeurs couche-tard [2] */
Hello World !
J'ai d'autres questions
→ si ce fichier correspond au répertoire de travail actuel, son contenu est listé.
Et si je suis dans le répertoire toto qui contient un fichier toto et que l'utilisateur tape toto, je fais quoi ?
Je considère que c'est le fichier ou le répertoire ?
– faire en sorte que dans le shell parent, lancer clfb avec une ligne de commande clfb valide en paramètre ne démarre pas le mode interactif, mais effectue simplement cette commande.
Certaines commandes, comme le changement de répertoire ne pourront pas être effectuées je pense. Le changement va être interne au processus clfb et dès qu'on revient dans le shell père on a pas bougé.
Si vous comprenez pas mes questions, c'est normal j'ai pas encore dormi ^_^
Hors ligne
#2336 Le 13/12/2010, à 09:00
- nany
Re : /* Topic des codeurs couche-tard [2] */
Bonjour chez vous.
Petit passage juste pour figurer dans cette édition du topic et vous rappeler que je vous suis depuis le début.
──────────────────────────────────────────
Le tdcct a un nouvel élan, c'est cool !
[…]
──────────────────────────────────────────
[…]
En effet, cette journée est exceptionnelle, mais j'attendais les graphiques pour faire la remarque.
[…]
C'est vrai que les graphiques ne ressemblent plus à un électroencéphalogramme plat mais je préfère ceux du TdCT avec leur arrière-plan transparent.
Hors ligne
#2337 Le 13/12/2010, à 10:18
- Rolinh
Re : /* Topic des codeurs couche-tard [2] */
Nom de bleu, l'a été prolifique le topic durant mon absence! O_O
J'ai pas mal loupé, tout ça à cause de ce TP pourri de modélisation d'OS mobile en réseau de Petri coloré... que je n'ai même pas finis en plus!!
Bref, j'ai juste le temps de voir que Pylade m'avait déçu, en abandonnant C pour Python alors que grim7reaper et moi étions prêt à donner un coup de main!
Nanméo...
@n@nyl@land:
@ArkSeth: mmm, j'ai configuré mon mercurial avec Apache mais ça ne doit pas être bien différent avec lighttpd. Faut que je jette un œil. Tu veux qu'on s'y prenne comment au juste? A l'arrache ici?
Sinon, autre chose: pour noël, mon père m'offre un nom de domaine ( ) et je me demandais comment je pouvais configurer le DNS pour mon serveur auto-hébergé. Le truc, c'est que mon IP est dynamique et actuellement j'utilise dyndns et un script de synchronisation qui se lance toute les 3mn pour mettre à jour l'IP en fonction du nom de domaine. Seulement voilà, je ne vois pas trop comment je peux faire pour utiliser mon nom de domaine. Faut-il que je me configure un serveur DNS local?
Hors ligne
#2338 Le 13/12/2010, à 10:36
- tshirtman
Re : /* Topic des codeurs couche-tard [2] */
Mieux vaut être tout seul sur un projet python que 10 sur un projet C, ça avance plus vite
Hors ligne
#2339 Le 13/12/2010, à 11:15
- Rolinh
Re : /* Topic des codeurs couche-tard [2] */
(non, je ne me ferais pas avoir par un troll aussi gros)
Hors ligne
#2340 Le 13/12/2010, à 12:25
- grim7reaper
Re : /* Topic des codeurs couche-tard [2] */
Bref, j'ai juste le temps de voir que Pylade m'avait déçu, en abandonnant C pour Python alors que grim7reaper et moi étions prêt à donner un coup de main!
Je crois qu'il va revenir au C car une bibliothèque n'est pas dispo en Python 3 (et vu son amour pour Python 2 ^_^), mais elle l'est en C.
Mieux vaut être tout seul sur un projet python que 10 sur un projet C, ça avance plus vite
Obvious troll is obvious
Hors ligne
#2341 Le 13/12/2010, à 12:32
- tshirtman
Re : /* Topic des codeurs couche-tard [2] */
ou alors il va refaire son wrapper python pour cette lib…
Hors ligne
#2342 Le 13/12/2010, à 12:33
- grim7reaper
Re : /* Topic des codeurs couche-tard [2] */
ou alors il va refaire son wrapper python pour cette lib…
Possible aussi.
On verra bien.
Hors ligne
#2343 Le 13/12/2010, à 12:57
- Rolinh
Re : /* Topic des codeurs couche-tard [2] */
Il n'a pas le droit. C est beau, C est pure... C parfait!
Hors ligne
#2344 Le 13/12/2010, à 12:57
- Kanor
Re : /* Topic des codeurs couche-tard [2] */
python-magic semble fonctionner avec python3
https://github.com/ahupp/python-magic/
Hors ligne
#2345 Le 13/12/2010, à 13:10
- grim7reaper
Re : /* Topic des codeurs couche-tard [2] */
Il n'a pas le droit. C est beau, C est pure... C parfait!
Heu ouais, peut-être pas quand même
@Kanor : bah ça devrait lui faire plaisir alors.
Mais comment tu vois qu'il fonctionne avec Python 3 ?
Hors ligne
#2346 Le 13/12/2010, à 13:18
- helly
Re : /* Topic des codeurs couche-tard [2] */
Rumpf, jsuis coincé du c++, ça fait trop longtemps que j'ai pas pratiqué !
Cette année j'ai juste fait du c, du java, du haskell…
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#2347 Le 13/12/2010, à 13:22
- grim7reaper
Re : /* Topic des codeurs couche-tard [2] */
Parle pas de Java, malheureux !
Je commence demain…
Hors ligne
#2348 Le 13/12/2010, à 13:30
- Elzen
Re : /* Topic des codeurs couche-tard [2] */
Par contre, le changement de yyout n'a pas l'air d'être pris en compte par flex, en fait :s Il me sort le résultat sur la sortie standard et j'ai (null) qui s'affiche dans le Dialog
Enfin, c'est déjà un début. J'pourrai demander des précisions à mon prof de compil' demain.
Merci beaucoup pour ça
En fait, c'était bien yyout qu'il fallait changer… mais il fallait que mon traitement fasse un fprintf dessus plutôt qu'un printf ^^"
Sinon, question : comment on fait hériter une structure d'une autre ? (comme GtkContainer* qui est un GtkWidget* aussi, par exemple)
Dans l'énoncé, ils nous suggèrent de gérer des variables, et si possible typées, donc on avait pensé à faire une liste chaînée de structures contenant un nom et une valeur, et donc dans la pratique, ça donnerait une structure qui contient un char* et un pointeur sur son propre type, et des structures dérivées possédant en plus un int, ou un double, ou autres à voir.
@ArkSeth: mmm, j'ai configuré mon mercurial avec Apache mais ça ne doit pas être bien différent avec lighttpd. Faut que je jette un œil. Tu veux qu'on s'y prenne comment au juste? A l'arrache ici?
J'utilise Apache, dans l'immédiat, lighttpd, j'envisageais d'y passer, mais c'est pas encore d'actualité.
Sinon, autre chose: pour noël, mon père m'offre un nom de domaine ( ) et je me demandais comment je pouvais configurer le DNS pour mon serveur auto-hébergé. Le truc, c'est que mon IP est dynamique et actuellement j'utilise dyndns et un script de synchronisation qui se lance toute les 3mn pour mettre à jour l'IP en fonction du nom de domaine. Seulement voilà, je ne vois pas trop comment je peux faire pour utiliser mon nom de domaine. Faut-il que je me configure un serveur DNS local?
Je suis pas trop calé sur la configuration DNS, encore moins en cas d'IP dynamique, désolé…
./ ça compte ?
(…)
Même question mais pour ../ ?
Ouaip.
Fichier de conf de clfb ou on se base sur la norme xdg de Freedesktop ?
Si c'est un fichier de conf, on pourrai fixer sa forme pour être un peu homogène (ou pas, à vous de voir).
Très bonne question…
Les deux ont des avantages et des inconvénients. Je pense que je vais laisser au choix du développeur ^^ (mais pour le cas où on utilise un fichier de conf, il faut prévoir soit de la doc pour indiquer comment le configurer, soit une interface de configuration, soit les deux )
Je ne sais pas si c'est très utile.
À voir…
En fait, on va faire ça différemment, en gérant les applis alternatives (comme dans clic droit → ouvrir avec dans les navigateurs graphiques)
Ça risque d'être lourd, faut au moins que ça soit désactivable via une option quand on lance clfb.
Par contre, ça risque d'être utile en mode debug.
Ouais, j'ai passé en option.
Oui, ça me paraît important comme fonctionnalité.
Moi aussi, mais dans un challenge de ce genre, il faut prévoir des trucs obligatoires et des trucs en option, pour ceux qui ont du mal à tout faire.
Et si je suis dans le répertoire toto qui contient un fichier toto et que l'utilisateur tape toto, je fais quoi ?
Je considère que c'est le fichier ou le répertoire ?
Le nom « toto » ne peut en aucun cas correspondre au répertoire courant. Dans le pire des cas, ce sera « ../toto/ » (Il ne peut pas y avoir deux fichiers différents ayant le même nom dans un même répertoire, donc pas de soucis de ce côté-là, quoi ^^)
Certaines commandes, comme le changement de répertoire ne pourront pas être effectuées je pense. Le changement va être interne au processus clfb et dès qu'on revient dans le shell père on a pas bougé.
Je pense aussi. Item pour une commande genre !verbose (voir ci-dessous), si on lance clfb avec ça comme option, ça ne fera pas grand chose. Au programmeur de voir s'il veut prévoir ces cas et prévenir l'utilisateur ou pas.
Bon, j'ai repensé un peu la spec, donc voici la version 2.0, à vous de me dire ce que vous en pensez. Il reste encore quelques trucs à déterminer, genre l'affichage ou non des fichiers cachés, je pense… mais ça me paraît pas trop mal comme ça :
Spécifications du CLFB, version 0.2
Rédacteur principal : ArkSeth/Elzen.
Contributeurs : grim7reaper, Pylade.Les présentes spécifications sont ouvertes à la discussion. Les points notés requis sont indispensables à la validation du logiciel. Ceux notés optionnels ne le sont pas, mais leur réalisation serait vivement appréciée.
Pour toute question ou suggestion concernant ces spécifications, ainsi que pour toute demande d'aide sur le codage, en l'absence d'un espace dédié sur fadrienn.irlnc.org, se référer au TdCCT actuel.Deux modes existent pour le programme, un « mode bavard » et un « mode silencieux ». Lorsque le premier est actif, le programme affiche sur la sortie standard, avant chaque opération, une ligne explicitant la commande Shell à utiliser pour obtenir le même résultat (lorsque existant), précédé par un caractère "#".
Le mode silencieux est activé par défaut, et les options permettant de basculer en mode bavard sont ci-dessous toutes indiquées comme optionnelles.Points d'ordre général
Requis :
– Le programme candidat doit être placé sous licence Libre.
Optionnel :
– La licence doit être virale (type GNU GPL).Lancement du programme
Requis :
– Lancé sans paramètres, le programme démarre le mode interactif.
– Avec le paramètre « --help » affiche un message d'aide et se termine.
Optionnel :
– Lancé avec le paramètre « --verbose », le programme démarre en mode bavard.
– Si une commande clfb est passée en paramètre, le programme exécute cette commande et se termine.Commandes internes
Requis :
– « !help » affiche un message d'aide.
– « !quit » termine le programme.
Optionnel :
– « !verbose » bascule de l'état silencieux à l'état bavard et réciproquement.
– Une auto-complétion permet de faciliter l'entrée de commandes.Gestion de fichiers
Requis :
– « fichier » ou « fichier 0 » ouvre le fichier avec le programme défini par défaut.
– « fichier - » demande une confirmation avant de supprimer le fichier.
– « fichier1 fichier2 + » copie fichier1 vers fichier2.
– « fichier1 fichier2 - » déplace fichier 1 vers fichier2.
– « fichier ? » affiche les méta-informations du fichier (droits d'accès, taille, date de dernière modif…) de la façon la plus lisible possible.
– « fichier #motif » modifie les droits d'accès selon le motif indiqué (« u+r » ; « 744 » ; « rwxr--r-- »…)
Optionnel :
– « fichier X » (avec X entier > 0) ouvre le fichier avec le Xème programme alternatif.
– « fichier1 fichier2 * » crée un lien physique fichier2 pour fichier1.
– « fichier1 fichier2 < » crée un lien symbolique fichier2 pour fichier1.
– « fichier1 fichier2 » déplace ou copie selon si fichier2 est sur la même partition que fichier1 ou non.
– « fichier ? » affiche également des méta-informations spécifiques selon les types de fichiers (type de compression ; hauteur et largeur d'une image ; tags d'un fichier média…)Spécificités pour les répertoires
Requis :
– « . » ou « ./ » liste le contenu du répertoire courant.
– « repertoire » se déplace vers le nouveau répertoire courant.
– « repertoire1 repertoire2 + » exécute la copie en profondeur (copie du répertoire + copie des fichiers récursivement).
Optionnel :
– par extension du comportement de « . », « repertoire » vérifie si le répertoire demandé est le répertoire courant, et liste son contenu dans ce cas.
– « repertoire X » ouvre le répertoire avec le Xe programme externe par défaut.
– les liens physiques sur les répertoires n'étant pas autorisés, « repertoire1 repertoire2 * » crée un nouveau répertoire et crée des liens physiques vers tous les fichiers contenus.
Qu'en pensez-vous ?
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
#2349 Le 13/12/2010, à 13:36
- helly
Re : /* Topic des codeurs couche-tard [2] */
Oui.
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#2350 Le 13/12/2010, à 13:45
- grim7reaper
Re : /* Topic des codeurs couche-tard [2] */
En fait, c'était bien yyout qu'il fallait changer… mais il fallait que mon traitement fasse un fprintf dessus plutôt qu'un printf ^^"
Arf, effectivement.
Sinon, question : comment on fait hériter une structure d'une autre ?
Comme ça
typedef struct
{
GtkWidget widget;
/* autres champs */
} GtkContainer;
grim7reaper a écrit :./ ça compte ?
(…)
Même question mais pour ../ ?Ouaip.
Je m'en doutais et je l'avais codé comme ça.
Mais je voulais quand même une confirmation.
grim7reaper a écrit :Fichier de conf de clfb ou on se base sur la norme xdg de Freedesktop ?
Si c'est un fichier de conf, on pourrai fixer sa forme pour être un peu homogène (ou pas, à vous de voir).Très bonne question…
Les deux ont des avantages et des inconvénients. Je pense que je vais laisser au choix du développeur ^^ (mais pour le cas où on utilise un fichier de conf, il faut prévoir soit de la doc pour indiquer comment le configurer, soit une interface de configuration, soit les deux )
Ok, perso je pense partir sur un fichier de conf (mais bon, à voir…)
grim7reaper a écrit :Et si je suis dans le répertoire toto qui contient un fichier toto et que l'utilisateur tape toto, je fais quoi ?
Je considère que c'est le fichier ou le répertoire ?Le nom « toto » ne peut en aucun cas correspondre au répertoire courant. Dans le pire des cas, ce sera « ../toto/ » (Il ne peut pas y avoir deux fichiers différents ayant le même nom dans un même répertoire, donc pas de soucis de ce côté-là, quoi ^^)
Ok, j'avais du mal comprendre une de tes phrases.
Par contre, ça me semble tendu à gérer les ../repertoire courant (enfin, va sûrement falloir que je revoie mon approche quoi ^_^).
genre l'affichage ou non des fichiers cachés
Je me posais justement la question moi aussi.
– Si une commande clfb est passée en paramètre, le programme exécute cette commande et se termine.
J'aurais peut-être vu une option là aussi, genre
./clfb -e 'commande'
Voire
./clfb -e 'commande1;commande2;commande3'
Mais je ne sais pas, à vous de voir.
– « !quit » termine le programme.
On peut garder le ^D en parallèle ?
– « fichier1 fichier2 » déplace ou copie selon si fichier2 est sur la même partition que fichier1 ou non.
Si fichier2 est un entier, il me semble que ça entre en conflit avec les appels de programmes.
– par extension du comportement de « . », « repertoire » vérifie si le répertoire demandé est le répertoire courant, et liste son contenu dans ce cas.
Je ne suis pas sûr d'avoir bien compris. Tu peux réexpliquer ?
– « repertoire X » ouvre le répertoire avec le Xe programme externe par défaut.
C'est-à-dire ?
Ouvrir vraiment le répertoire (ça me semble limité au niveau intérêt) où tout les fichiers qu'il y a dedans.
C'est tout pour le moment, si j'ai d'autres remarques qui me viennent en code j'en ferai part .
Dernière modification par grim7reaper (Le 13/12/2010, à 14:01)
Hors ligne