Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#551 Le 10/04/2012, à 16:05

The Uploader

Re : /* Topic des codeurs [7] */

There is a whole lot of action at a distance. Consider this code, taken from the PHP docs somewhere.

  @fopen('http://example.com/not-existing-file', 'r');

What will it do?

    If PHP was compiled with --disable-url-fopen-wrapper, it won’t work. (Docs don’t say what “won’t work” means; returns null, throws exception?) Note that this flag was removed in PHP 5.2.5.
    If allow_url_fopen is disabled in php.ini, this still won’t work. (How? No idea.)
    Because of the @, the warning about the non-existent file won’t be printed.
    But it will be printed if scream.enabled is set in php.ini.
    Or if scream.enabled is set manually with ini_set.
    But not if the right error_reporting level isn’t set.
    If it is printed, exactly where it goes depends on display_errors, again in php.ini. Or ini_set.

I can’t tell how this innocuous function call will behave without consulting compile-time flags, server-wide configuration, and configuration done in my program. And this is all built in behavior.

WTF ! lol

Dernière modification par The Uploader (Le 10/04/2012, à 16:06)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#552 Le 10/04/2012, à 16:24

Dr Le Rouge

Re : /* Topic des codeurs [7] */

tshirtman a écrit :

Je retrouve pas, mais j'avais un pdf sur une attaque réelle sur des systèmes de votes électronique assez récente… c'était passé sur le planet debian, mais ça peut dater d'un mois ou deux… ou plus…

Merci google >_<"


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#553 Le 11/04/2012, à 00:39

Pylades

Re : /* Topic des codeurs [7] */

Bon, j’ai maté la conf de Benoît Sibaud, mais je me pose toujours des questions. Parce qu’avec la crypto, on peut faire des trucs super. Par exemple, je dois pouvoir demander ce que j’ai voté au bureau de vote, on me répond un truc chiffré et on publie les résultats pour chaque bureau. Comme ça, t’as déjà facilement secret et vérifiabilité. Bon, après ce n’est pas vraiment explicable à tous, mais ça reste explicable à des gens. Ces gens peuvent auditer le bureau de vote (et on organise l’audit du matériel et du logiciel), donc on n’y perd pas trop en démocratie.

Après, la crypto, pourrait même permettre d’offrir en plus le vote par internet (même si pense que ça serait mal de se séparer des bureaux, ne serait-ce parce que tout le monde ne peut pas voter par internet). Le Rouge, tu t’es déjà renseigné ?

Bon, après faut arriver à faire comprendre ça à nos dirigeants. Des gens qui achètent des boîtes noires bourrées de bugs et de défauts à des entreprises américaines, ça va être difficile de faire leur éducation… hmm


(si je raconte de la merde, c’est normal, mon cerveau est actuellement débranché)


“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

#554 Le 11/04/2012, à 01:03

Kanor

Re : /* Topic des codeurs [7] */

j'avais prévue de finir le coloration du code ce soir mais la partie de wesnoth a duré un peu trop longtemps hmm

Hors ligne

#555 Le 11/04/2012, à 09:10

Dr Le Rouge

Re : /* Topic des codeurs [7] */

Πυλάδης a écrit :

Le Rouge, tu t’es déjà renseigné [sur le vote par Internet] ?

Ça se fait bien Estonie et ça arrive en France.

Bon, après faut arriver à faire comprendre ça à nos dirigeants. Des gens qui achètent des boîtes noires bourrées de bugs et de défauts à des entreprises espagnoles, ça va être difficile de faire leur éducation… hmm

(article en cours d'écriture)


(comment je tease cool)


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#556 Le 11/04/2012, à 11:17

HP

Re : /* Topic des codeurs [7] */

Report Period
    2011-10-23 01:32:29 to 2012-04-11 11:04:08
Age
    172 days, 59 active days (34.30%)
Total Files
    381
Total Lines of Code
    15352 (23547 added, 8195 removed)
Total Commits
    408 (average 6.9 commits per active day, 2.4 per all days)
Authors
    1 (average 408.0 commits per author)

cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#557 Le 11/04/2012, à 11:28

The Uploader

Re : /* Topic des codeurs [7] */


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#558 Le 11/04/2012, à 13:55

Pylades

Re : /* Topic des codeurs [7] */

Le Rouge a écrit :

Ça se fait bien Estonie et ça arrive en France.

Ouais, mais en Estonie, est-ce qu’ils arrivent à faire ça à peu près proprement, ou est-ce que c’est à la française ?


“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

#559 Le 11/04/2012, à 17:02

cervo

Re : /* Topic des codeurs [7] */

énorme!

Hors ligne

#560 Le 11/04/2012, à 18:36

Rolinh

Re : /* Topic des codeurs [7] */

T'as un bon cran de retard tongue
(mais cet article m'avait fait plus que sourire à l'époque wink )

Hors ligne

#561 Le 12/04/2012, à 12:27

grim7reaper

Re : /* Topic des codeurs [7] */

Classe.
Bon, qui nous fait un script shell pour générer un processeur maintenant big_smile

Hors ligne

#562 Le 12/04/2012, à 13:34

Rolinh

Re : /* Topic des codeurs [7] */

Sympa. smile

Dis grim, pendant que tu es là: comment tu voyais l'implémentation des fonctions pour l'export vers CSV pour dfc? Parce que par exemple, dans ce cas, il n'y a pas de couleur à traiter ni de graphe (change_color etc. ne sont pas pertinents).

Hors ligne

#563 Le 12/04/2012, à 14:13

grim7reaper

Re : /* Topic des codeurs [7] */

Ouais j’y avais un peu pensé à ça (le coup du CSV), tu fais juste des fonctions sans corps ou, si tu es sûr et certain qu’elles ne seront jamais appelées, tu peux virer leur définitions et mettre NULL aux pointeurs de fonctions correspondant.

Hors ligne

#564 Le 13/04/2012, à 09:59

Rolinh

Re : /* Topic des codeurs [7] */

grim7reaper a écrit :

Ouais j’y avais un peu pensé à ça (le coup du CSV), tu fais juste des fonctions sans corps ou, si tu es sûr et certain qu’elles ne seront jamais appelées, tu peux virer leur définitions et mettre NULL aux pointeurs de fonctions correspondant.

Un peu risqué. Le but de la structure était justement de pouvoir appeler les fonctions de manière uniforme et que le traitement soit identique peu importe que l'output soit CSV, texte ou HTML.
Le problème, c'est que la signature des fonctions se doit d'être identique également et que pour le cas du CSV par exemple, il y a des paramètres qui me sont inutiles et cela me génère des warnings. Je pourrais m'en fiche mais je n'aime pas voir passer des warnings... tongue

Hors ligne

#565 Le 13/04/2012, à 10:14

grim7reaper

Re : /* Topic des codeurs [7] */

C’est pour ça que le coup du NULL c’est à faire que si tu es certain qu’elle ne sont pas appelé (et il me semblait bien que c’était pas le cas ici), je suis plus partisan pour les fonctions vides (enfin, pas tout à fait car tu mets le code suffisant pour faire sauter les warnings et voilà ;-)).
Tu sais, genre :

(void)variable;

Hors ligne

#566 Le 13/04/2012, à 10:15

Rolinh

Re : /* Topic des codeurs [7] */

Ouais ouais, j'étais partit là-dessus wink

Hors ligne

#567 Le 13/04/2012, à 10:45

Rolinh

Re : /* Topic des codeurs [7] */

Bon, je crois qu'il faut revoir l'archi. La fonction disp de dfc.c varie trop en fonction de l'output. Cependant, la ré-implémenter pour tous les cas n'aurait pas de sens car beaucoup de choses serait communes (les filtres par exemple).
La scinder avec des mini-fonctions à appeler parmi chacun des outputs me semble la chose la plus raisonnable. Qu'en penses-tu/que suggérerais-tu?

Hors ligne

#568 Le 13/04/2012, à 11:13

grim7reaper

Re : /* Topic des codeurs [7] */

Oui.
Depuis le début disp est un peu monstrueuse donc la découper me semble bénéfique.

Hors ligne

#569 Le 14/04/2012, à 21:36

Rolinh

Re : /* Topic des codeurs [7] */

grim7reaper a écrit :

Oui.
Depuis le début disp est un peu monstrueuse donc la découper me semble bénéfique.

Je l'ai découpée et elle est à peine moins monstrueuse. tongue

Ceci étant, j'ai bien avancé par rapport à ma feuille de route aujourd'hui. smile Il manque encore l'export vers html et celui vers TeX.
Et puis la traduction. Si j'ai bien compris le principe, on utilise gettext(3) comme ceci:

(void)puts(gettext("String to be translated"));

Mais comme c'est moche et lourd, la plupart des développeurs font ceci:

  #define _(STRING)    gettext(STRING)

Bref, une fois les chaînes à traduire modifiée, on utilise xgettext(1) afin de générer un *.pot contenant uniquement les chaînes à traduire.
Puis on utilise msginit(1) afin de générer un *.po que l'on a plus qu'à traduire.

Par contre, est-ce que les locales sont définies automatiquement? Et comment je précise le *.po à utiliser pour chaque traduction?
Bref, si quelqu'un peut confirmer que je ne suis pas à côté de la plaque, alors je vais commencer à entreprendre la mise-en-place du support des traductions. Cela m'évitera de faire du travail inutile.

Hors ligne

#571 Le 15/04/2012, à 04:09

grim7reaper

Re : /* Topic des codeurs [7] */

Rolinh a écrit :

Par contre, est-ce que les locales sont définies automatiquement?

Non, il faut que tu ajoutes

#include <locale.h>
#include <libintl.h>

Dans dfc.c
Et

setlocale( LC_ALL, "" );
bindtextdomain( "dfc", "/usr/share/locale" );
textdomain( "dfc" );

au début de ton main.

Rolinh a écrit :

Et comment je précise le *.po à utiliser pour chaque traduction?

Avec bindtextdomain et textdomain, la locale fait le reste.

Sinon, tu peux aussi lire ce lien qui est une bonne intro.

Dernière modification par grim7reaper (Le 15/04/2012, à 04:11)

Hors ligne

#572 Le 15/04/2012, à 05:19

Pylades

Re : /* Topic des codeurs [7] */

Ça amuserait ArkSeth…


@ Rolinh : yep, c’est ça. Tiens, cadeau :

include ../config.mk

.PHONY: all clean mrproper

all: $(patsubst %.po,locale/%/LC_MESSAGES/$(EXEC).mo,$(wildcard *.po))

locale/%/LC_MESSAGES/$(EXEC).mo: %.po
    mkdir -p $(@D)
    msgfmt $< -o $@

*.po: $(EXEC).pot
    msgmerge -U $@ $<
    @touch $@

$(EXEC).pot: ../global.h ../clfb.c ../parser.c
    xgettext -k_ -o $@ -siw 72 $^ --package-name=$(EXEC) \
        --package-version=$(VERSION) --from-code=utf-8 \
        --copyright-holder=Rolinh

clean:
    @rm -f *~

mrproper: clean
    @rm -f $(EXEC).pot
    @rm -rf locale

Sinon, mieux vaut ne pas lier /usr/share/locale/, comme ça lie le répertoire par défaut du système est lié. bindtextdomain, c’est pour lier ton propre répertoire lorsque tu n’as pas installé tes fichiers de localisation.


“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

#573 Le 15/04/2012, à 06:04

grim7reaper

Re : /* Topic des codeurs [7] */

Plus ou moins déjà de base en Haskell smile

Hors ligne

#574 Le 15/04/2012, à 10:52

Rolinh

Re : /* Topic des codeurs [7] */

@grim7reaper: merci smile

@Pylade: merci aussi. Je vais voir comment je peux adapter ce bout de Makefile au mien tout en restant BSD-make compliant.

Hors ligne

#575 Le 15/04/2012, à 14:28

Rolinh

Re : /* Topic des codeurs [7] */

Bon, j'ai implémenté le support pour la traduction (voir ce commit) et ai traduit en français.
L'un de vous pourrait faire un git pull / git clone du dépôt (git://gw-computing.net/dfc.git) afin de me confirmer que cela fonctionne? Je n'ai pas ma locale en français...

Hors ligne