Michaël a écrit 2929 commentaires

  • [^] # Re: Quelles sont les fonctionnalités malheureuses, selon vous ?

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de LibreOffice 6.0. Évalué à 1. Dernière modification le 05 mars 2018 à 07:02.

    En ce qui concerne le formatage direct, tant que les traitements de texte n'auront pas un “mode plan” qui permettrait de contrôler facilement que les styles qui n'ont pas de nom ne sont pas utilisés dans le document, autant privilégier ce qui marche – à savoir le formatage direct.

    Mode plan: du genre je vois mon document avec deux énormes marges où apparaissent les noms des styles utilisées et les paragraphes concernés apparaissent sur fond coloré p.ex. Avec un visuel un peu comme ça

    Three way merge

    ou comme ça

    Two-way merge

    sauf qu'au lieu d'avoir des fragments de code dans le panneau qui n'affiche pas le document, on aurait des informations sur le style.

    (Mode plan: le genre de fonctionnalité qui a l'air claire et sympa comme ça sur un coin de table mais qui est hyper galère à spécifier en vrai ;) )

  • [^] # Re: Emacs un jour, Emacs toujours

    Posté par  (site web personnel) . En réponse au journal Quel IDE pour quel langage. Évalué à 3.

    Je trouve chiante et instable la façon de gérer les extensions emacs : cela a peut être changer mais pour moi, on est loin de npm/ go get /urpmi il s'agit toujours d'aller chercher une version à la main et modifier le fichier de config.

    Instable je ne sais pas parceque je n'utilise quasiment que des extensions qui sont fournies par mon système de ports ou installable directement depuis Emacs. Après effectivement il faut souvent copier-coller quelques lignes dans son fichier dot.emacs. Comme on fichier `dot.emacs' est sous SCM je peux te donner le log des dernières années:

    2017-12-03 11:43:32 +0100 Allow long lines in Lisp
    2017-11-25 10:13:17 +0100 Add simplified window and frame navigation
    2017-11-02 16:56:33 +0100 Fix emacs configuration
    2017-11-02 08:07:47 +0100 Update for new system
    2017-09-25 14:46:37 +0200 Configure slime as in portacle
    2017-09-13 10:09:05 +0200 Install slime
    2017-06-06 15:16:11 +0200 Update emacs settings
    2016-12-12 10:34:45 +0100 Update merlin configuration
    2015-08-28 15:29:12 +0200 Update style
    2015-08-28 15:15:38 +0200 Record company PHP Style
    2015-06-02 09:21:04 +0200 Configure merlin and ocp-indent
    2015-06-02 08:47:35 +0200 Remove broken hunspell support
    2015-03-24 14:45:36 +0100 Add PHP mode
    2015-02-03 09:48:02 +0100 Change the font size on Darwin
    2014-03-03 10:37:44 +0100 Remove CEDET
    2014-03-03 10:34:05 +0100 Disable the tool-bar and the scroll-bar
    2014-03-03 10:23:38 +0100 Add trac-wiki
    2014-03-03 10:22:00 +0100 Add Markdown mode
    2013-08-18 08:36:18 +0200 Update key shortcuts
    2013-08-18 08:32:55 +0200 Correct the name of ocamldebug
    2013-08-04 16:20:14 +0200 Whitespace mode
    2013-08-04 16:03:04 +0200 Rework dot.emacs
    2013-07-20 19:07:20 +0200 Add slime
    

    (Généré avec git log --pretty='format:%ci %s').

    Pour quelqu'un qui travaille vraiment beaucoup avec Emacs, je ne l'ai jamais utilisé moins de 20h par semaine dans l'historique que tu vois, et qui se sait se satisfaire des réglages par défaut sans trop faire de customisation, je trouve que s'il s'agit d'un effort à faire, ce n'est pas non plus disproportionné.

    Et une fois, le truc installé, il faut deviner tout seul comment le module marche. Il me semble que tuareg est fournis de base maintenant, mais il ne semble pas que tu peux "jumper" d'un fichier à l'autre pour trouver définition de code et usage de code.

    La navigation de fichier à fichier peut effectivement laisser à désirer dans le réglage de base par rapport au confort de PHP Storm (sauter à l'implémentation etc.) mais cela dépend des modes. Par exemple Slime (pour CL) sait le faire, mais je crois que pour OCaml cela n'existe pas. (Pour C et le reste, je crois que l'outil magique est CEDET.)

    tu n'as pas auto-complétion sémantique ou de library (à moins d'ouvrir tout dans un buffer…) […], ou de vérification de la syntaxe en ligne.

    En ce qui concerne OCaml, merlin apporte tout cela: la syntaxe est testée à la sauvegarde et l'auto-complétion marche (en tout cas pas plus mal que dans les IDE que j'ai utilisé). Pour Lisp, slime fait assez bien cela – sauf la vérification de syntaxe mais en pratique on programme interactivement c'est à dire qu'on fait des va-et-viens constants entre le programme et la REPL et il y a un petit raccourci qui évalue la défintion en cours (C-M-x) ce qui rapporte les erreurs. L'approche des IDE de type Visual Studio ou PHP Storm donne plus d'information interactives, mais d'une c'est assez lent et de deux je n'ai jamais réussi à m'habituer à tous ces coloriages (genre rouge faute de syntaxe, violet pour une infraction à la coding guideline XY, orange pour ceci-cela) et les petits tooltips qui vont avec sont assez pénibles – je préfère l'approche de merlin par exemple qui met à jour cette information à la sauvegarde, c'est à dire à un moment que je choisis.

    tu n'as pas […] de refactoring […]

    Ça oui!

  • # Emacs un jour, Emacs toujours

    Posté par  (site web personnel) . En réponse au journal Quel IDE pour quel langage. Évalué à 6. Dernière modification le 17 février 2018 à 14:10.

    Pour programmer en

    • OCaml que tu cites, aver tuareg, merlin et ocp-*
    • Shell, à cause de l'évaluation interactive.
    • Lisp avec Slime, à cause de tout.

    Pour avoir utilisé longtemps deux IDEs – Visual Studio et PHP Storm de Jet Brains – et bien je les trouve assez désagréable à utiliser. Pour l'un comme pour l'autre l'analyse de code et la complétion sont d'une lenteur quasi-prohibitive sur des grosses bases de code, voire carrément inutilisables. La configuration est assez difficile pour tout ce qui est exotique et la documentation pas franchement merveilleuse. (Je n'utilise plus, donc je n'ai plus d'exemples en tête, mais ça m'est quand-même arrivé plusieurs fois de vouloir ajouter des traitements à l'IDE ou lui demander de lancer une commande avant de commencer une session de débogage, par exemple.) Ensuite je suppose que c'est une affaire d'habitude mais les interface touffues avec des boutons partouts et des fenêtres coulissantes avec tout et n'importe quoi dedans, et bien ça me distrait énormément et je préfère largement travailler avec un éditeur qui montre du code et plus d'informations quand je lui demande plutôt que le contraire. Même en fouillant dans mes souvenirs je crois bien que je n'ai jamais eu le sentiment que les fonctions dans ces IDEs soient très faciles à trouver… bref quand je feux faire quelque chose qui sort de ma routine que ce soit avec Emacs ou un IDE il faut que tapote dans mon moteur de recherche préféré. (Et si on n'arrive pas à retrouver certaines fonctions dans la doc, que ce soit avec Emacs ou un IDE, et bien ce n'est pas interdit de prendre des notes ;) )

    P.S.: En ce qui concerne le reformatage de code ou les divers refactoring, dans mon Visual Studio pour C++ et bien ça n'y était pas et dans PHP-Storm même le renommage de méthode ou de variable membre se prend les pieds dans le tapis de temps à autres.

  • [^] # Re: Fonctions qui manquent dans beaucoup de tableurs

    Posté par  (site web personnel) . En réponse au journal Licht 0.1. Évalué à 3.

    Dans une table en général il y a d'une part le “gros” des données, au dessus et à gauche des annotations de type légende et en bas de colonne parfois des agrégats (somme, moyenne, écart-type, quartiles, ou quoiqu'on veuille y mettre). Pour moi j'aimerais bien pouvoir penser à ma ma table comme:

    table {
      header {
        a1 = "TITRE DE MON TABLEAU"
        a2 = 2015
        b2 = 2016
        c2 = 2017
        d2 = 2018
      }
      data {
        a1 = …
        a2 = …
      }
      foot {
        a1 = average(../data/a:)
        a2 = standard_deviation(../data/a:)
        b1 = average(../data/a:)
        b2 = standard_deviation(../data/a:)
      }
    }
    

    L'intérêt est que ça évite de devoir changer les références dans les cellules aussi souvent que dans les modèles classiques. Dans la plupart des tableurs, si on insère une ligne au dessus de sa ligne avec la moyenne, le tableur change les définitions. En plus d'être plus propre, plus facile à vérifier dans une présentation de type “preuve”, ça permet aussi de facilement représenter les imports externes (genre data = sqlite(file.db) ou data = csv(file.csv)). Je trouve ça assez idiot qu'un logiciel ajoute une sémantique à une donnée (le pied de page) sans rendre cette donnée “représentable”.

  • # Fonctions qui manquent dans beaucoup de tableurs

    Posté par  (site web personnel) . En réponse au journal Licht 0.1. Évalué à 3.

    Il y a deux fonctions qui manquent dans beaucoup de tableurs. La première est assez basique et consiste à travailler, au lieu d'une grosse feuille avec des cellules, de petites tables en indexant de façon spéciale les lignes pied-de-table et haut-de-table. La seconde est “un mode contrôle” qui permettrait de voir simultanément toutes les définitions d'une feuille ou d'une table. Est-ce que tu as écrit ça?

  • # OpenSP

    Posté par  (site web personnel) . En réponse au message Commande awk et expression reguliere pour extraire une adresse ip. Évalué à 5.

    C'est en général une assez mauvaise idée d'utiliser des expressions rationnelle pour fouiller dans une page HTML.

    Ici la page est assez simple tu peux afficher la première IP trouvée sur chaque ligne avec

    awk 'match($0,/[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+/{print(substr($0,RSTART,RLENGTH))
    

    En général pour traiter du HTML ou plus généralement du SGML, on utilise OpenSP et plus précisément le programme onsgmls. Par exemple

    % curl https://monip.org | onsgmls 2>&-
    (HTML
    -\n
    (HEAD
    -    
    (TITLE
    -MonIP.org v1.0
    )TITLE
    -\n    
    AHTTP-EQUIV CDATA Content-type
    ACONTENT CDATA text/html; charset=UTF-8
    (META
    )META
    )HEAD
    -\n
    AALIGN CDATA center
    (P
    ASIZE CDATA 8
    (FONT
    (BR
    -IP : 89.0.149.201
    (BR
    )BR
    )BR
    )FONT
    ASIZE CDATA 3
    (FONT
    (I
    -xdsl-89-0-149-201.netcologne.de
    )I
    (BR
    )BR
    )FONT
    ASIZE CDATA 1
    (FONT
    (BR
    (BR
    -Pas de proxy détecté - No Proxy detected
    )BR
    )BR
    )FONT
    )P
    )HTML
    

    Sous cette forme canonique il est facile d'extraire l'IP recherchée, par exemple avec awk:

    awk -F ' *: *' '$1 == "-IP" {print($2)}'
    

    Ceci dit, si c'est un serveur que tu contrôles, tu pourrais lui apprendre à répondre avec du texte ou du JSON à la demande. Par exemple

    % curl -H 'Accept: application/json' https://monip.org
    {'ip':'89.0.149.201','dns':'xdsl-89-0-149-201.netcologne.de','proxy':false}
    

    Te fournirait un moyen bien plus fiable de récupérer une IP.

  • [^] # Re: Math

    Posté par  (site web personnel) . En réponse au journal La recherche en langages de programmation au quotidien. Évalué à 2.

    Je ne suis pas d'accord : si seule l'existence d'une preuve primait, personne ne chercherait à re-prouver un résultat déjà établi.

    Je ne vois pas trop en quoi tu exprimes un désaccord avec arnaudus.

  • [^] # Re: Plusieurs options

    Posté par  (site web personnel) . En réponse au message workflow git. Évalué à 3.

    Ça doit faire 25 ans aussi que personne ne dit “djeun's” et je te taquinais aimablement ;)

  • [^] # Re: Plusieurs options

    Posté par  (site web personnel) . En réponse au message workflow git. Évalué à 2.

    aaah okay okay okay (copyright Papin)

    Ça fait djeun's. ;)

  • [^] # Re: Plusieurs options

    Posté par  (site web personnel) . En réponse au message workflow git. Évalué à 2.

    En anglais to hop signifie sautiller, par exemple à cloche-pied. Dans le slang de l'informatique on donne au substantif dérivé a hop le sens de petit bond, mais de façon abusive on peut aussi désigner ainsi la destination intermédiaire.

  • # Plusieurs options

    Posté par  (site web personnel) . En réponse au message workflow git. Évalué à 5.

    Tu as plusieurs approches possibles. Tout d'abord notons CLIENT et PERSO tes dépôts (copies de travail) git, ce qui nous servira à décrire les workflows. Pour évaluer les différentes solutions il faut que tu regardes ce qui est techniquement et commercialement faisable.

    La raison qui fait que c'est possible techniquement est que git est décentralisé et un dépôt donné n'a aucun rôle techniques spécifique par rapport à un autre – le clone produit par git clone est en principe total – et git fournit plein d'outils pour échanger les données entre les divers clones d'un même dépôt.

    1. INSTALLER UN HOP SUR TON INTRANET

    Comme tu mentionnes que tu peux accéder pour quelques minutes à ton propre depuis chez ton client, ce serait facile de créer un serveur sur ton propre intranet qui tourne toujours et héberge un dépôt HOP, accessible via SSH-GIT, HTTPS-GIT, ou bien par NFS par exemple. Ainsi ton workflow ressemblerait à:

    • Arrivée site client
    • Hack
    • Pousse de CLIENT vers HOP avant de rentrer à la maison
    • À la maison, tire de HOP sur PERSO
    • Hack
    • Avant de partir chez le client pousse de PERSO sur HOP
    • Arrivée sur le site client, tire de HOP sur CLIENT
    • Hack
    • Pousse de CLIENT vers HOP avant de rentrer à la maison
    2. INSTALLER UN HOP AILLEURS SUR INTERNET

    Tu peux aussi considérer un hébergement de dépôt git payant, cela coûte une poignée d'euros par mois. Tu y créerais un dépôt HOP, que tu utiliserais comme précédemment. Variante avec une box complète, prix analogue.

    3. UTILISER UN HOP SUR UNE CLEF USB

    Si tes postes de travail peuvent accéder aux mêmes systèmes de fichiers (par exemple ce sont deux Linux) tu peux utiliser un support amovible pour stocker ton dépôt HOP (par exemple un bare repo). Il faudrait certainement crypter ce support pour se prémunir contre sa perte.

    4. UTILISER GIT-BUNDLE PAR E-MAIL

    La sous-commande git bundle permet de sauvegarder une partie d'un dépôt git dans une archive fichier, dite “bundle”, qui peut ensuite être importé dans un autre dépôt. Le “bundle” peut être acheminé via une clef USB ou en P.j. sur un email.

    % man git-bundle
    …
           Some workflows require that one or more branches of development on one
           machine be replicated on another machine, but the two machines cannot
           be directly connected, and therefore the interactive Git protocols
           (git, ssh, http) cannot be used. This command provides support for git
           fetch and git pull to operate by packaging objects and references in an
           archive at the originating machine, then importing those into another
           repository using git fetch and git pull after moving the archive by
           some means (e.g., by sneakernet). As no direct connection between the
           repositories exists, the user must specify a basis for the bundle that
           is held by the destination repository: the bundle assumes that all
           objects in the basis are already in the destination repository.
    

    Cela correspond assez exactement à ton besoin. Je l'ai utilisé pendant longtemps en mode “sneakernet,” c'est un peu relou mais si tu dois jongler entre les intranets cela reste sûrement plus simple que les push/pull à travers le réseau.

    En gros c'est le même workflow qu'avec le HOP mais au lieu de cela à la fin de ta session de travail, tu fais und bundle avec tous tes derniers commits et l'apporte ou l'email à ton autre station pour pouvoir l'importer.

    5. GIT-IMAP

    Jette un œil à la man-page git-imap-send – je n'ai jamais utilisé cette fonction mais cela semble pouvoir répondre à ton besoin.

    6. MON AVIS

    Admettant que ton client soit d'accord avec ces manips, je pense que les solutions les plus simples sont, par ordre croissante de complexité à l'usage.

    1. Installer un HOP ailleurs sur Internet, si tu as un accès illimité chez ton client.
    2. Utiliser un HOP sur une clef USB, si tu as droit au support amovible.
    3. Utiliser git-bundle via email
    4. Installer un HOP sur ton intranet.
  • [^] # Re: Il faut bien lire ce qu'on lit!

    Posté par  (site web personnel) . En réponse au journal Le retour de la vengeance de la virgule flottante. Évalué à 4.

    Pour le calcul de taux, que le long_float soit binaire ou décimal n'a aucune importance concernant l'exactitude des résultats

    C'est chouette! Et donc si je calcule un truc du genre 0,2% de 1000 milliards d'euros, le genre de blagues qui arrive avec les flottants du type

    # printf  "%.25f\n" (0.0021  *. 1_000_000_000_000.0);;
    2099999999.9999997615814208984375000

    n'arrivent pas. (Puisque comme on le voit sur l'exemple la précision est assez grande pour donner le bon résutlat après arrondi.) Le point important est de bien arrondir après chaque multiplication dans la définition de la structure de “float-module,” c'est bien ça?

  • [^] # Re: Nanosecondes

    Posté par  (site web personnel) . En réponse au journal En évoquant Facebook. Évalué à 5. Dernière modification le 28 janvier 2018 à 17:48.

    Sauf que Python fournit le module datetime qui gère des dates de l'année 1 à 9999.

    Qui les gère, mais vite fait:

    The papal bull of February 1582 decreed that 10 days should be dropped
    from October 1582 so that 15 October should follow immediately after
    4 October, and from then on the reformed calendar should be used.
    
    This was observed in Italy, Poland, Portugal, and Spain. Other Catholic
    countries followed shortly after, but Protestant countries were
    reluctant to change, and the Greek orthodox countries didn't change
    until the start of the 1900s.

    (Voir https://www.tondering.dk/claus/cal/gregorian.php, notamment la section “When did country X change from the Julian to the Gregorian calendar?” avec mention spéciale pour nos amis suédois!)

    Les calculs fait par Python datetetime ne sont probablement justes que pour l'époque contemporaine.

  • [^] # Re: Aigreur, quand tu nous tiens

    Posté par  (site web personnel) . En réponse au journal ils l'ont voulu, ils l'ont obtenu, et ils l'ont dans le baba.... Évalué à 4.

    A l'inverse un commercial rapporte de l'argent puisqu'il vend des billets donc il faut augmenter leur budget ou au moins ne pas le baisser, c'est une logique stupide mais c'est la logique de la sncf.

    Si cette logique ne sévissait qu'à la SNCF, quel beau monde dans lequel nous vivrions!

  • [^] # Re: Aucune idée mais…

    Posté par  (site web personnel) . En réponse au message Packetfence et pare-feu: la différence?. Évalué à 4.

    En tout cas bonne chance! Si jamais tu décides quand-même de regarder ce que peut faire packetfence pour toi, ce serait super chouette que tu le racontes sur LinuxFR!

  • [^] # Re: Aucune idée mais…

    Posté par  (site web personnel) . En réponse au message Packetfence et pare-feu: la différence?. Évalué à 2.

    Je ne connais pas trop cet outil mais si je comprends bien leur plaquette, packetfence est un logiciel qui permet d'administrer la configuration des routeurs (si le matériel est supporté!): il s'agit d'un outil de plus haut niveau, qui peut en particulier, parmi toutes les mesures que l'outil sait prendre, configurer des pare-feu. Un pare-feu tourne sur une machine et la configuration parle d'interfaces, d'adresses IP, de ports, alors que manifestement PacketFence peut modéliser les différents éléments du réseau et assigner les nouveaux venus à des classes spéciales, etc.

    Ensuite ta question "si j'ai besoin d'une solution de pare-feu, puis-je installer packetfence?" n'est pas très bien posée parcequ'elle ne parle que de solutions techniques et pas des besoins – du coup on ne sait pas quel besoin particulier te pousse à choisir un pare-feu. Si tu prends un peu de temps pour faire la liste de ce que tu veux faire avec ton pare-feu tu devrais assez facilement voir si packetfence te permet de faire la même-chose, ou pas.

  • [^] # Re: Il faut bien lire ce qu'on lit!

    Posté par  (site web personnel) . En réponse au journal Le retour de la vengeance de la virgule flottante. Évalué à 2.

    Pour donner l'exemple de Java que tu donnais BigDecimal bd = new BigDecimal(5.5); le plus simple serait sûrement soit de construire une classe spéciale MoneyAmount qui fait ce qu'il faut pour s'initialiser correctement à partir d'un float. Ou bien de définir une sorte de constructeur à BigDecimal, qui fait ce qu'il faut?

  • [^] # Re: Il faut bien lire ce qu'on lit!

    Posté par  (site web personnel) . En réponse au journal Le retour de la vengeance de la virgule flottante. Évalué à 3.

    J'ai l'impression que ton commentaire porte uniquement sur la deuxième partie de la citation ; corrige-moi si je me trompe.

    Tu as raison, ma citation est un peu “bizarre par excès” si on peut dire. :)

    Pourquoi tous les nouveaux langages fonctionnent avec, à chaque fois, une interprétation des litéraux à virgules comme étant des floats ou des doubles ?

    Je pense qu'un aspect important est que soit “interpréter les litéraux à virgules comme étant des décimaux” est une idée tellement géniale que tous les langages vont adopter cette convention dans les 5 ans, soit le langage qui fait ce choix va rester durant toute son existence le cousin un peu bizarre avec qui tout le monde se prend les pieds dans le tapis parcequ'il fait les choses un peu différemment. (Déjà que certains langages se paient le luxe d'avoir des opérateurs égal ==, vraiment égal === et physiquement égal ;) )

  • [^] # Re: Il faut bien lire ce qu'on lit!

    Posté par  (site web personnel) . En réponse au journal Le retour de la vengeance de la virgule flottante. Évalué à 3.

    Mettre l'exactitude mathématique comme but ultime, ce n'est pas toujours ce qui est attendu du programme informatique.

    Je crois que le but des exemples n'est pas d'insister sur l'exactitude ou pas des calculs mais sur le fait qu'il y a plein de décisions arbitraires à prendre (arrondir quoi, comment, etc.) au delà des calculs proprement dits et que, qu'on utilise des flottants des rationnels ou encore autre chose ne change rien au fait que le comportement du programme doit être soigneusement spécifié par le programmeur.

  • [^] # Re: Il faut bien lire ce qu'on lit!

    Posté par  (site web personnel) . En réponse au journal Le retour de la vengeance de la virgule flottante. Évalué à 3.

    Mon coiffeur a une perspective différente sur cette question et une autre appréciation.

  • [^] # Re: Il faut bien lire ce qu'on lit!

    Posté par  (site web personnel) . En réponse au journal Le retour de la vengeance de la virgule flottante. Évalué à 5.

    Tu résumes en une phrase la nature un peu trollesque (involontairement je pense) de ces deux journaux qui parlent des flottants: on ne peut pas faire l'économie des maths dès qu'on veut parler de la représentation des nombres en machine.

    Vu la constance avec laquelle la plupart des livres de programmation généralistes passent sous silence ce type de subtilités on ne peut pas vraiment faire le reproche ce cette ignorance aux programmeurs en général. Que des programmeurs travaillent précisément dans le domaine de l'économat ou de la comptabilité d'entreprise ne semblent pas familiers avec celles-cis est plus surprenant. De façon rigolote on peut noter que la page Wikipedia pour Business Informatics ou Wirtscahftsinformatik n'a pas d'équivalent en français. :)

  • [^] # Re: Il faut bien lire ce qu'on lit!

    Posté par  (site web personnel) . En réponse au journal Le retour de la vengeance de la virgule flottante. Évalué à 5.

    Exactement, et pour reprendre l'exemple de TeX, c'est parce qu'on ne calcule jamais de surface et plus généralement qu'on ne multiplie jamais entre elles deux mesures de longueurs, qu'on peut travailler avec des mesures entières. Pour l'économat on est dans une situation analogue (on ne calcule pas des euros au carré ou des litres de lait au carré) mais travailler en virgule fixe n'épargne de répondre à toutes les questions sur les arrondis, les pratiques de taux de change et de conversion d'unité – qui sont en pratique les problèmes qui “mettent dedans” les programmeurs qui ne sont pas conscients de toutes les décisions à prendre lorsqu'on programme ce genre de calculs.

  • [^] # Re: Il faut bien lire ce qu'on lit!

    Posté par  (site web personnel) . En réponse au journal Le retour de la vengeance de la virgule flottante. Évalué à 3.

    Tu veux dire que dans les Éléments de Géométrie d'Euclide tu as une preuve de la trisection de l'angle ? Es-tu certain ou j'ai mal compris ?

    Je suis très surpris aussi, si on considère les axiomes de Hilbert on est quand-même assez loin de pouvoir faire ce travail. Il y aurait deux approches à mon avis:

    • Démonter que le cercle est rectifiable, mais pour cela je n'ai pas d'idée très maline pour majorer la somme des longueurs de cordes consécutives sur un cercle. Si on démontre que le cercle est rectifiable, on a une notion d'abscisse curviligne sur lui, ce qui nous permet de mesurer les angles et de les couper en parts égales.

      • Construire l'exponentielle complexe.

    Dans un cas comme dans l'autre – si on a l'ambition de produire une démonstration rigoureuse à partir des seuls axiomes de Hilbert – il y a quand-même un travail considérable qu'on a aucune chance de retrouver ne serait-ce qu'esquissé chez les grecs. Je ne suis pas familier avec les éléments d'Euclide cependant, mais peut-être qu'ils admettent que le cercle est rectifiable? Cela serait cohérent avec la distinction faite entre les lignes droites et celles qu'on est en droit d'attendre si on croit bon de préciser que certaines lignes sont droites.

  • [^] # Re: Il faut bien lire ce qu'on lit!

    Posté par  (site web personnel) . En réponse au journal Le retour de la vengeance de la virgule flottante. Évalué à 3.

    Heu, à bac+1, des étudiants plutôt forts (choisis parmi les 10% meilleurs d'une classe d'âge post bac S), sortis du bac, ne comprennent pas la définition formelle d'une limite qu'on donnait dans toutes les classes de première S il y a 20 an

    Ah oui tiens, j'ai passé mon bac en 97. :D

  • [^] # Re: Il faut bien lire ce qu'on lit!

    Posté par  (site web personnel) . En réponse au journal Le retour de la vengeance de la virgule flottante. Évalué à 2.

    l'existence de la mesure de Lebesgue sur R, c'est du lourd, et la mesure produit sur R2 en rajoute une couche

    C'est vrai que c'est un sujet très technique, mais je pense qu'on l'apprend avec toutes cette technicité surtout parcequ'on a en vue la théorie des probabilités qu'on ne peut aborder sérieusement que si on est au point sur les notions de tribus engendrées, etc. – ou bien l'analyse fonctionnelle où l'étude des distributions demande de bien être au point sur les mesures et les théorèmes de représentation qui vont avec (au moins pour la raison que les distributions les plus célèbres comme “intégrale de a à b” et Dirac sont données par des mesures!).

    Mais à Bac+1 on peut raisonnablement définir les ensembles mesurables d'un l'espace euclidien en utilisant “le critère d'Archimède”: Si la mesure extérieure et intérieure d'une partie F de l'espace euclidien coïncident (prises avec des petits pavés bien orthogonaux) et que les filtres (je dis filtre pour abréger) correspondant convergent vers la même valeur alors (définition) la partie F est mesurable et sa mesure est la valeur commune des mesures intérieure et extérieures. Cela marche raisonnablement bien pour démontrer les outils basiques (les ensembles mesurables sont une sigma-algèbre – le dénombrable vient du fait que dans une somme fini d'un nombre infini de termes, seule une quantité dénombrable de termes peuvent être non nuls) et c'est suffisamment compatible pour avec les méthodes d'intégration du style Riemann (par exemple sa version améliorée Henstock Kurzweil qui gère la convergence dominée, le théorème fondamental de l'analyse et tout et tout) pour que le lien entre intégration et calcule d'aire se démontre facilement.