Image

Téléchargements

Fiches de méthode et résumés

Informatique*

Programmes

  • Un programme d’entraînement pour les échecs, ChessTrainer. Écrit en Python (3.7+) et utilisant tkinter. Il permet de s’entraîner sur des livres d’ouverture au format PGN, qu’il peut également modifier ou créer et enregistrer. Pour le faire fonctionner il faut ajouter le module chess de python-chess disponible ici. Il faut également avoir installé le moteur d’échecs stockfish pour pouvoir lancer une analyse. L’archive zip contient également un autre programme, autoPGN, qui permet de créer automatiquement des fichiers PGN en utilisant le moteur d’analyse. Ces fichiers sont alors utilisables avec ChessTrainer.
  • Un jeu bien connu, le démineur. Écrit en Python et utilisant tkinter. Le clic droit permet de protéger ou déprotéger des cases. Un clic gauche sur un numéro avec le bon nombre de cases protégées autour permet de dégager la vue. Également disponible, une version pour la calculatrice Numworks. La touche + protège, la touche Exe dévoile.
  • Un jeu où le hasard a un rôle (sans doute trop) important : Submersion. Écrit en Python (3.4) et utilisant tkinter. C’est un jeu pour deux joueurs, où le but est de conserver une île rongée par l’érosion des eaux. La partie se termine quand au moins l’un des deux joueurs voit son île submergée.
  • Un jeu que j’espère original, Choc !, écrit en Python (3.4) et utilisant tkinter. Il s’agit d’un jeu de conquête de billes, qui se joue un peu comme un billard ou un golf miniature. Il se joue entièrement à la souris ou avec le clavier.
  • Ma version personnelle de l’algorithme de Moore-Dijkstra, écrit en langage Python (3.3) et utilisant Tkinter. Le principe de cet algorithme est donné ici. L’interface graphique permet de créer un graphe, puis de lancer l’algorithme en indiquant le sommet de départ et le sommet d’arrivée. On peut aussi obtenir un cycle eulérien ou une chaîne eulérienne s’il en existe. Il est également possible de charger, de sauvegarder les graphes et d’obtenir les codes LaTeX permettant de tracer le graphe (en TikZ) mais également le tableau construit lors de l’application de l’algorithme de Moore-Dijkstra à la main, tel que peuvent le faire des élèves de terminale ES en spécialité. Enfin, les graphes peuvent être orientés ou non.
  • Un programme de stéganographie, écrit en langage Python (2.7) en collaboration avec Sébastien Sigrist. Ce programme permet de cacher des images (BMP) dans d’autres images de même dimension. Il fonctionne sur le principe donné ici, où il n’est possible de manipuler que des images imposées. Le programme proposé ici utilise tkinter, et nécessite la librairie de manipulation d’images PIL.
  • Une version graphique du jeu du pendu, écrit en langage Python (3.2). Utilise la librairie graphique Tkinter, qui ne nécessite aucune installation supplémentaire à Python.
  • Le jeu des tours de Hanoï, écrit en langage Python (2.7 sauf avis contraire). Trois scripts : Le jeu permet de résoudre, manuellement ou automatiquement, le problème pour un nombre de disques compris entre 2 et 9. Les scripts ne sont pas (encore) optimisés en terme de taille, en particulier la version graphique.
  • Mon démonstrateur, avec quelques exemples : fichier compressé
    • Vous pouvez voir ici une vue très globale des commandes du langage restreint
    • Pour le lexique plus détaillé voir ce fichier
    • Et voici la grammaire
  • Voici un fichier Ocaml qui permet de résoudre le problème du 5x5 que l’on peut trouver dans les petits jeux de emacs
  • Plus ancien, voici ici un ensemble de démonstrateurs automatiques de formules propositionnelles écrits en Ocaml. Le dossier comprend également des générateurs de familles de formules démontrables dont le principe des tiroirs (ou pigeon-hole en anglais)

Scripts

  • Une mise à jour du script donné au point suivant, renommé ecopdf. Il améliore nettement le précédent en faisant cas du nombre de pages initial (dans le cas d’une page, celle-ci est copiée deux fois sur une seule page), et en améliorant le format de sortie (dans certains cas selon le format d’entrée il y avait des problèmes d’orientation en sortie). Le script ouvre automatiquement un programme de lecture de fichier pdf (ici evince, à changer selon le programme utilisé) pour permettre son impression, puis supprime le fichier créé à la fermeture.
  • Un script bash (pour linux) que j’ai fait pour transformer tout fichier pdf ayant une seule page A4 portrait en un fichier pdf ayant deux copies A5 de cette page sur une page A4 paysage. J’utilise ce script pour faire des économies de papier et d’impression.
    Pour l’utiliser il suffit de le rendre exécutable et de le lancer dans une console en lui donnant en paramètre le fichier pdf à traiter. Le fichier obtenu aura un nom terminant par _2pp.pdf.

Codes source LaTeX

  • Un fichier pdf donnant un ensemble d’exemples concrets d’utilisation de la librairie tikz (et tkz-tab) pour créer des figures avec LaTeX pour le lycée. Le document contient le code source permettant d’obtenir ces figures.

Textes

  • Un brouillon d’article non publié provenant d'un des chapitres de ma thèse, dont le titre est « a typed lambda calculus with two arrows ». Le document est ici
  • Un article de recherche publié dans Electronic Notes in Theoretical Computer Science (ENTCS)
    • Volume 140, Pages 55-66 (18 November 2005) Proceedings of the Second Workshop on Computational Logic and Applications (CLA 2004) Lyon, France 17-18 June 2004, Edited by P. Lescanne, R. David and M. Zaionc
    • Peut être téléchargé sur le site sciencedirect.com ou directement ici
  • Mon mémoire de master 2 sur le lambda calcul symétrique, qui se trouve être une traduction de
  • Mon mémoire de didactique que j’ai fait en licence. Il s’agissait d’étudier les probabilités sous l’aspect de leur enseignement au lycée de l’époque.
  • Le mini projet que j’ai fait en DEUG MIAS 2, version remasterisée. Il s’agissait d’un petit problème que je m’étais posé seul auquel trois solutions ont été données.
(*) : Les fichiers sont donnés sans mode d’emploi. Ils sont relativement simples d’utilisation pour qui connait bien le langage, selon les cas bash, Ocaml ou Python. Cependant, si jamais vous souhaitez des explications, vous pouvez me contacter par mail.