Nicolas M. Thiéry
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
      • Invitee
    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Versions and GitHub Sync Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
Invitee
Publish Note

Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

Your note will be visible on your profile and discoverable by anyone.
Your note is now live.
This note is visible on your profile and discoverable online.
Everyone on the web can find and read all notes of this public team.
See published notes
Unpublish note
Please check the box to agree to the Community Guidelines.
View profile
Engagement control
Commenting
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Suggest edit
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
Emoji Reply
Enable
Import from Dropbox Google Drive Gist Clipboard
   owned this note    owned this note      
Published Linked with GitHub
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
--- tags: Enseignement, TER, Jupyter --- # TER Jupyter ## Feuille de route ### Rapport et soutenances Les soutenance auront lieu par visio conférence le 13 mai, pendant le créneau usuel. Pour le rapport, visons un rendu le 5 mai au soir, ce qui laisse une semaine pour relectures et corrections. Format: vous mettrez à la racine de votre dépôt git: - Un calepin `rapport.ipynb` - Un calepin `soutenance.ipynb` avec le diaporama pour votre soutenance, utilisant RISE. - Un `README.md` avec: - un titre descriptif du projet - un paragraphe de description de votre projet avec liens hypertexte (page du cours, ...) - des liens vers les calepins importants (rapport, presentation, ) avec badges binder - un paragraphe sur l'installation et l'utilisation Si cela s'y prête, et seulement dans ce cas, vous pouvez aussi faire un seul document qui puisse être vu comme rapport et comme diaporama de soutenance. Il faudra aussi envoyer une copie du rapport (exporté en PDF) au secrétariat après les soutenances du 13 mai. Contenu du rapport et du diaporama: - Mise en contexte pour des personnes n'ayant pas participé au TER et ne connaissant pas forcément Jupyter - Motivations et objectifs, illustrés par une démo courte - Étapes de réalisation et résultats, avec compléments de démos, et lien vers le dépôt git. - Qu'avez-vous appris: technologies, concepts de programmation, méthodologie de développement, ... - Retour d'expérience: d'après votre expérience, Jupyter est-il adapté aux objectifs de ce TER (algorithmique interactive)? Choisissez un interlocuteur type (par exemple un étudiant ou enseignant avec certaines expertises), et rédigez quelques paragraphes à son intention: qu'est-ce qui est réalisable, qu'est-ce qui est difficile, pourquoi (maturité, ...), préconisations. Nous essayerons de contruire collectivement, sur la base de vos rapports, un site web à l'attention des enseignants souhaitant utiliser Jupyter pour le l'algorithmique interactive, leur donnant des exemples et des préconisations. ### Séance du 13 mai #### Soutenances! 1. Cornic & Hainak, Erwan & Nicolas , Laby Python et ValuePlayerWidget [dépôt](https://github.com/nicolashainak/Laby_Python), [rapport](https://github.com/nicolashainak/Laby_Python/blob/master/Rapport.ipynb), [diapos](https://github.com/nicolashainak/Laby_Python/blob/master/Presentation.ipynb) 3. Merret & Robeyns, Damien & Matthieu, LabyC++ & Algorithme de Graph Laby: [dépôt](https://gitlab.u-psud.fr/ter-graphupsud/labycpp_python), [rapport & diapos](https://gitlab.u-psud.fr/ter-graphupsud/labycpp_python/blob/master/For%20Any%20Labyrinth%20Query%20U%20Execute.ipynb) Graphes: [dépôt](https://gitlab.u-psud.fr/ter-graphupsud/algorithme_des_plus-courts_chemins_en_cpp), [rapport](https://gitlab.u-psud.fr/ter-graphupsud/algorithme_des_plus-courts_chemins_en_cpp/blob/master/rapport.ipynb), [diapos](https://gitlab.u-psud.fr/ter-graphupsud/algorithme_des_plus-courts_chemins_en_cpp/blob/master/soutenance.ipynb) 5. Gros, Edwige, Jeux de programmation [dépôt](https://gitlab.u-psud.fr/edwige.gros/ter-jupyter.git), [rapport](https://gitlab.u-psud.fr/edwige.gros/ter-jupyter/blob/master/rapport.ipynb), [diapos](https://gitlab.u-psud.fr/edwige.gros/ter-jupyter/blob/master/soutenance.ipynb) 5. LYU, Shenjin, Algorithme distribué [dépôt](https://gitlab.u-psud.fr/shenjin.lyu/ter.git), [rapport](https://gitlab.u-psud.fr/shenjin.lyu/ter/blob/master/rapport.ipynb), [diapos](https://gitlab.u-psud.fr/shenjin.lyu/ter/blob/master/soutenance.ipynb) 6. LIU, Jiaxuan, Bellman-Ford Algorithme [dépôt](https://gitlab.u-psud.fr/ter-graphupsud/bellman_ford_python), [rapport](https://gitlab.u-psud.fr/ter-graphupsud/bellman_ford_python/blob/master/rapport.ipynb), [diapos](https://gitlab.u-psud.fr/ter-graphupsud/bellman_ford_python/blob/master/soutenance.ipynb) ### Soutenances deuxième session Yu / Tingting [dépôt](https://gitlab.u-psud.fr/ter-graphupsud/flot_maximum_ford_fulkerson_python/tree/master),[rapport](https://gitlab.u-psud.fr/ter-graphupsud/flot_maximum_ford_fulkerson_python/blob/master/rapport_Tingting_ZHU_Yu_YANG.ipynb),[diapos](https://gitlab.u-psud.fr/ter-graphupsud/flot_maximum_ford_fulkerson_python/blob/master/soutenance.ipynb) Plan de travail: - [x] Tester le GraphAlgorithmPlayer d'Edwige - [x] L'utiliser pour Flot Maximum (Ford-Fulkerson) - [x] Adapter pour les autres algorithmes déjà implantés - [x] Rapport à préparer pour le jour de la soutenance - [ ] Soutenance 17 août 10h ### Projets de stage de M1 Rapport de stage Edwige Gros: https://drive.google.com/file/d/1mvm_rqXYMWKEBRADsNCgYzfnfcyDhosh/view?usp=sharing TODO: mettre à jour ce qui est fait et à faire, avec lien vers les dépôts Publier = dépot propre + README + tests + CI + démo + binder & co + paquet pip #### Laby - [ ] intégrer laby python dans laby-jupyter 6.ROBEYNS - [ ] intégrer les contributions de Matthieu/Damien dans laby-jupyter 7.ROBEYNS notamment traces de pas, empilement de svg - [x] L'empilement des svg est à améliorer, via l'utilisation de Node.js. (besoin de Node.js?) 4.ROBEYNS https://github.com/nthiery/laby-jupyter/pull/20 - [ ] uniformiser laby C++ / Python, notamment widgets utilisés pour structurer la grille - [ ] autres améliorations de laby à faire: regarder la liste des tickets: https://github.com/nthiery/laby-jupyter/issues - [x] Modifications et adaptations par Edwige: https://gitlab.u-psud.fr/edwige.gros/Laby - [x] Bug de la fonction regarder(), deux problèmes : - PlayerView.regarde() appelle labyrinth.regarde() mais ne renvoie pas sa valeur - labyrinth.regarde() renvoie une tuile et non son nom - [x] Renvoyer self.board.get(self.devant()).name - [x] Modifications des comparaisons avec self.regarde() dans laby_widget.py (exemple : méthodes ouvrir, prend et pose) - [x] Utiliser ValuePlayerWidget officiel dans laby python - Application immédiate impossible : le value_player_widget n'est pas la version générique donnée par Nicolas Hainak et Erwan Cornic : c'est une version spécialement conçue pour le laby - Il faut modifier à minima global_fr.py et isoler la classe View présente dans le fichier value_player_widget.py - [x] Isoler la classe View - [x] Créer une classe LabyPlayer qui hérite de ValuePlayerWidget - [ ] Laby Javascript? avec Python / C++ comme simples backends? 5.ROBEYNS #### Jeux ipywidgets-games Dépôt git :https://gitlab.u-psud.fr/edwige.gros/ipywidgets-games Edwige GROS 1 - [x] Améliorer les versions (affichage, traduction...) - [x] Les publier séparément : - Labyrinthe 3D : https://pypi.org/project/ipywidgets-game-maze/ - Jeu des cruches : https://pypi.org/project/ipywidgets-game-jugs/ - Jeu Chou-Chèvre-Loup : https://pypi.org/project/ipywidgets_game_wolf_goat_cabbage/ - [x] Y intégrer le ValuePlayerWidget avec UI (boutons et delpy) - [x] Simplifier le code et la structure (supprimer l'intermédiaire avec une HBox possédant une value) - [x] Publier nouvelle version avec gestion de l'UI par ValuePlayerWidget et structure simplifiée - [ ] Publier RushHour ? https://gitlab.u-psud.fr/M1-ISD/AlgorithmiqueAvancee/Instructors/blob/master/2-ParcoursDeGraphes/06-RushHour.ipynb #### Blockly Edwige GROS 2 Dépôt git : https://github.com/Edwauline/DelpyWidget Paquet Pypi : https://pypi.org/project/delpywidget/ - [x] Modifier l'interface et le code de Delpy pour pouvoir executer du code python directement dans le notebook - [x] Créer un objet DelpyWidget qui hérite à la fois de Delpy et de ipywidgets.Output afin d'obtenir un widget Delpy - [x] Faire une pull request au près du créateur de Delpy - [x] Si absence de réponse, publier séparemment #### ValuePlayerWidget nom du projet: ipywidgets-value-player Dépôt git : https://gitlab.u-psud.fr/edwige.gros/ValuePlayerWidget - [x] paquet pip sur pypi.org pour le ValuePlayerWidget avec flit : https://pypi.org/project/valueplayerwidget/ - [ ] Bugs lecture arrière??? Dans Laby??? Si oui, à caractériser - [x] Enregistrer et afficher le nom de l'action effectuée - [x] Intégrer une génération automatique d'interface avec des boutons ou une fenêtre Delpy - [x] Publier nouvelle version avec les interfaces - [ ] Extraire ValuePlayerWidget C++ de laby? - [ ] Implantation Javascript + binding C++ / Python #### BQplot - [x] Rapports de bugs / contributions? 1.ROBEYNS https://github.com/bqplot/bqplot/issues/1155 https://github.com/bqplot/bqplot/issues/1154 #### GraphAlgorithmPlayer Depot Git : https://gitlab.u-psud.fr/edwige.gros/GraphAlgorithmPlayer/tree/master/GraphAlgorithmPlayer Paquet Pypi : https://pypi.org/project/graphalgorithmplayer/ - [x] Essayer ce [notebook](https://gitlab.u-psud.fr/M1-ISD/AlgorithmiqueAvancee/Students/2-ParcoursDeGraphes/blob/master/01-ParcoursDeGraphe.ipynb) qui montre un prototype de graph algorithme player en action - [x] Tester graph_algorithm_player sur d'autres algorithmes - [x] Intégrer le nouveau ValuePlayerWidget - [x] Utilisation de matplotlib plutôt que bqplot : - [x] Tester les modélisations de graphes avec networkx - Possibilité de modifier les noeuds (couleurs, labels, taille) - Pas de possibilité d'enregistrer le graphe rendu dans une variable : le graph s'affiche directement sous la cellule qui exécute le code - Solution n°1 : utiliser IPython.utils.capture.capture_output - Comment afficher et mettre à jour l'affichage en cas de modification (enregistrer le graphe et afficher son image ?) - Piste n°1 : display capture_output dans un ipywidgets.Output() ou mieux, dans un SingleOutputWidget : fonctionne avec Output() mais désagréable à regarder car "tremble" à chaque rafraîchissement. - Solution : ajouter wait=True au clear_output - Problème: lors de l'affichage en direct de l'algorithme : doublons dans l'affichage des variables quand l'affichage est continue et non step-by-step. - Hypothèse : interaction entre les différents output --> Remplacer les output des variables par des ipywidget.Label - Pas de possibilité d'interargir directement avec le graphe - [x] Possibilité d'utiliser soit bqplot soit networkx pour afficher le graphe - [x] Création de deux classes GraphViewNx et GraphViewBqPlot qui permettent d'afficher un graphe et le modifier - [x] Changement du graphe - [x] Avec Networkx - [x] Avec Bqplot - [x] Si un graphe différent est donné dans parcours(), le graphe est mis à jour automatiquement - [x] Publier graphe_algorithm_player - [x] Configuration / style des sommets : - [x] Possibilité d'ajouter des Labels aux sommets - [x] Possibilité de modifier les labels des sommets à chaque étape - [ ] Ajouter la possibilité de modifier la taille du sommet en Networkx ? - [x] Coloration / style des arêtes - [x] Avec Networkx : possibilité de colorer des arêtes - [ ] Avec Networkx : Ajouter la possibilité de changer l'épaisseur de l'arête ? - [x] Visualisation étiquettes arêtes - [x] Afficher des labels constants avec Networkx - [x] Possibilité de changer les labels avec networkx (Impossible avec BQPlot) - [x] Généraliser widget pour afficher les variables d'un programme (Single Output Widget) lien : https://github.com/Disatiler/ipywidgets 3.ROBEYNS #### Visualisation Graphes: autres - [ ] Faire l'algorithme d'Edmonds-Karp dans la partie graphe des flots. [Référence ici](https://fr.wikipedia.org/wiki/Algorithme_d%27Edmonds-Karp) - [ ] Améliorer le côté interactif de la visualisation des graphes. ### Tutoriels / site web - [ ] Extraire une série de tutoriels - [ ] Visualiser l'exécution d'un algo - [ ] Principe de séparation modèle / vue / controleur - [ ] Utiliser un ValuePlayerWidget sur un ValueWidget existant - [ ] Implanter un ValueWidget - Pleins d'exemples suivant la même structure - [ ] avec cppyy - [ ] accumulation puis visualisation - [ ] Visualisation de graphes: comparatif des différentes techniques - [ ] BaseMap interactif avec ipympl? - [ ] Inclure francy ### Géometrie constructive avec Jupyter Objectif: pouvoir faire de la géométrie constructive paramétrée en Python, dans Jupyter, avec controle du paramétrage et visualisation par widgets. Scénario minimal: une mini application avec un slider qui controle le diametre d'une sphere et on construit et visualise au vol l'intersection de cette sphère avec un cube. Réferences: - ViewSCAD: https://github.com/nickc92/ViewSCAD ### Compatibilité JupyterBook et GitLab ### Divers - [x] SingleOutputWidget: première contribution à ipywidget. 2.ROBEYNS - [ ] ajouter des tests à tous les projets - [ ] géométrie constructive (ex: openscad) Edwige GROS 4 ### Séance du 6 mai #### Attendus avant la séance - Rapports rédigés finis la veille au soir #### Planning - 13:30 Tour de table - 14:00-15:00: travail en autonomie - 15:00-17:30 #### Objectifs - Relire les instructions pour les rapports et soutenances ci-dessus (elles ont été mises à jour) - Relectures croisées des rapports. Vous signalerez vos suggestions d'améliorations via des "issues" sur les dépôts correspondants. Il y aura du bonus pour ceux qui seront les plus actifs! Indication: si je vous ai fait une suggestion, vérifiez si cette même suggestion ne s'appliquerait pas aux autres projets, auquel cas retransmettez la en l'adaptant si nécessaire - Préparation soutenance - Nettoyage de ce document: déplacez la description de vos projets vers le README.md et/ou votre rapport et/ou des "issues" de votre dépôt. ### Séance du **jeudi** 30 avril #### Attendus avant la séance - Plan de rapport ### Séance du 22 avril - 13:30-14:00: Tour de table - Tutoriel RISE - Tutoriel [ValuePlayerWidget](gitlab.u-psud.fr/nicolas.thiery/ter-jupyter/issues/2): objectif: que le maximum de groupes l'utilise - 14:15-17:10: Aide individuelle - 17:10-17:30: Discussion ### 13-17 avril: vacances NT reste disponible en cas de besoin, par exemple aux horaires usuels ### Séance du mercredi 8 avril - 13:30-14:00: Tour de table - 14:15-17:10: Aide individuelle - 17:10-17:30: Discussion ### Séance du mercredi 1er avril - 13:30-14:00: Tour de table - 14:15-17:10: Aide individuelle - 17:10-17:30: Discussion ### Séance du mercredi 25 mars #### Planning - 13:30-14:00: Tour de table: où en êtes sur votre projet; démo si vous le souhaitez - 14:00-15:00: Travail en autonomie - 15:00-15:15: Partage de notebooks interactifs avec Binder - 15:15-17:00: Aide individuelle - 17:10-17:30 Discussion #### Attendus avant la séance - Avancer le projet - Nettoyer, mettre à jour et synthétiser la description de l'avancement de votre projet Si vous ne l'avez pas encore fait: - Déposer votre code sur gitlab - Inclure un lien vers votre dépôt dans la description de votre projet ci-dessous - Inclure dans votre dépot un fichier environment.yml décrivant toutes les dépendances de votre projet (voir celui du dépôt du cours) Tester votre environnement avec: conda env create ou, si l'environnement existe déjà: conda env update ### Séance du mercredi 18 mars - 13:30-14:30: - Prise en main de Collaborate - Mise à jour de l'état d'avancement des projets ci-dessous - Aide individuelle - 14:30-15:00: Tour de table: où en êtes sur votre projet; démo si vous le souhaitez - 15:00-17:15: Aide individuelle - 17:15-17:30: Discussion ## FAQ Merci d'utiliser le [forum](https://ecampus.paris-saclay.fr/mod/forum/view.php?id=126063) ## Projets ### Projet Visualisation d'algorithmes de résolution de labyrinthes avec Laby + réalisation d'un PlayerValueWidget Participants: Nicolas Hainak / Erwan Cornic Dépôt: https://github.com/nicolashainak/Laby_Python [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/nicolashainak/Laby_Python/master) Objectifs: - Implanter ValuePlayerWidget - Implanter Laby en Python - Utiliser ce widget laby pour visualiser l'exécution d'algorithmes de résolution. Tout ça dans un labyrinthe avec différentes couleurs lors d'un choix possible. ### Partie CPP (execution de Laby avec trace sur n'importe quel Labyrinthe + Execution et visualisation des graphes PCC et de Flot) #### Laby en cpp : Ce projet a pour but de rendre Laby interactif et surtout de résoudre n'importe quel labyrinthe possible dans Laby. Voici le lien Git pour ceux qui veulent s'amuser [LabyCPP](https://gitlab.u-psud.fr/ter-graphupsud/labycpp_python), pensez à lire le [README.md](https://gitlab.u-psud.fr/ter-graphupsud/labycpp_python/blob/master/README.md) pour lancer les bons fichiers. Voici aussi le lien Binder pour Laby en cpp: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgitlab.u-psud.fr%2Fter-graphupsud%2Flabycpp_python.git/master) #### Algorithme du PCC et de flot : Le But du projet est de rendre visible l'exécution däun algorithme de PCC ou de Flot max sur un graphe. Voici le lien du dépôt Git, lisez le [README.md](https://gitlab.u-psud.fr/ter-graphupsud/algorithme_des_plus-courts_chemins_en_cpp/blob/master/README.md) pour s'avoir quel fichier lancer, [DêpotGit](https://gitlab.u-psud.fr/ter-graphupsud/algorithme_des_plus-courts_chemins_en_cpp) Voici le lien Binder pour l'algorithme des Plus_Court_chemin et Graphe des flots: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgitlab.u-psud.fr%2Fter-graphupsud%2Falgorithme_des_plus-courts_chemins_en_cpp.git/master) Noms: ROBEYNS / MERRET #### Implanter des algos de graphes avec NetworkX #### Bellman Ford Participants: Jiaxuan LIU Dépôt: https://gitlab.u-psud.fr/ter-graphupsud/bellman_ford_python/tree/master ##### Premier essai:Implanter des algos de graphes avec NetworkX Initialiser d’abord une carte du pays. Les nœuds représentent les villes. Les arêtes sont le coût de transport entre deux villes. Le but est de trouver un plan de transport avec le prix en ordre croissant à partir une ville de départ. Dans la carte, la couleur des nœuds et des arêtes change au fur et à mesure que l’algo s’exécute. Finalement, le meilleur chemin et le deuxième meilleur chemin sont tracés. - [x] Terminer l'algo de Bellman Ford - [x] Arriver à dessiner le graphe (utilisant networkx) et les tableaux(utilisant ipywidgets) - [x] Colorier les tableaux et le graphe. Dans le graphe: Le sommet rouge signifie que je suis en train de traiter ce sommet; les sommets verts sont les successeurs du point rouge. Il y a 5 tableaux en total. Chaque table correspond à un sommet (il y a 4 paramètre: Précurseur, Longueur de le plus court chemin, pre2, dis2). Si les valeurs des paramètres ont changé, le tableau est colorié - [x] Créer un Slider. Utiliser ce Slider pour contrôler chaque mise à jour. - [x] Utiliser Basemap pour dessiner une carte du monde Problèmes rencontrés: 1. Chaque fois que Slider mise à jour le graph, ce n’est pas couramment. Le rafraîchissement des images est lent 2. Comme le graph et la carte sont dessinés utilisant 2 paquets, lorsqu’elles sont dessinées ensemble, chaque fois que les mettre à jour, e rafraîchissement des images est plus lent. ##### Deuxième essai : Implanter l’algo de graphes avec bqplot - [x] Dessiner le graph utilisant bqplot : je peux changer les couleurs des sommets. Lorsque la souris pointe sur un sommet, le tableau de ce sommet peut être affiche et ces informations sont imprimées lorsque la souris est cliquée. Sur clic de souris: les nœuds peuvent changer la couleur, changer la transparence du nœud, changer la couleur de la bordure du nœud etc. - [x]Dessiner la carte du monde utilisant bqplot : on peut choisir les pays ou les colorer en les cliquant Problèmes rencontrés: 1. Je peux superposer le graph sur la carte. Mais ce sont deux parties distinctes. L'emplacement du point ne peut pas être déterminé en fonction de la latitude et de la longitude. Les cartes peuvent être agrandies avec les fonctions intégrées de la carte. Mais lorsque la carte locale est agrandie, l'emplacement du pays / ville marqué par le point sera incorrect 2. Je ne peux pas tracer des lignes sur la carte du monde #### Visualisation graphe de flot Participants: Hainak 1. Représentation d'un graphe de flot avec possibilité d'interaction et de faire passé du flot 2. Etapes : * choisir une méthode pour representer le graphe * implémenter des curseurs/boutons permettant l'interaction avec le graphe de flot * implémenter un algorithme automatique * #### Autres algorithmes - [ ] Dijkstra - [ ] Floyd Warshall - [ ] Ford-Fulkerson #### Visualisation Combiner les deux précédents et éventuellement le PlayerWidget #### Appel de code C++ depuis Python avec cppyy Pour visualiser depuis Python l'execution d'un algo en C++ Installation: pip install cppyy Regarder le tutoriel ### Projet: Implémentation de trois petits jeux de programmation Participants: Gros Edwige Dépôt: https://gitlab.u-psud.fr/edwige.gros/ter-jupyter.git Lien vers le binder: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgitlab.u-psud.fr%2Fedwige.gros%2Fter-jupyter.git/master) Lien vers le rapport : [rapport.ipynb](rapport.ipynb) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgitlab.u-psud.fr%2Fedwige.gros%2Fter-jupyter.git/master?filepath=rapport.ipynb) Lien vers le diaporama : [soutenance.ipynb](soutenance.ipynb) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgitlab.u-psud.fr%2Fedwige.gros%2Fter-jupyter.git/master?filepath=soutenance.ipynb) ### Projet: visualisation d'algorithmes combinatoires avec Sage-Combinat Widgets Participant: LE Dépôt: https://gitlab.u-psud.fr/trung-viet.le/rsk - [x] Fonctions pour la création d'un tableau RSK initial et l'addition des nouvelles valeurs dans un tableau RSK existant. - [x] Visualisation simple d'un tableau RSK et toutes les étapes nécessaires pour l'addition d'une nouvelle valeur. - [ ] Écrire les méthodes dans GridViewWidget pour modifier un tableau RSK (surcharger): - [x] Enlever les éléments. - [x] méthode removable_cells_RSK - [x] méthode remove_cell_RSK - [x] Visualiser les cas amovibles - [ ] Add - [x] addable_cells_RSK - [x] add_cell_RSK - [ ] Vérifier une valeur ajouté - [ ] Visualiser les positions par un nouveau tableau parce qu'on ne peut pas #### Toute bonne idée!!! ### Projet: Algorithme distribué dans une élection Participant: Shenjin Lyu https://gitlab.u-psud.fr/shenjin.lyu/ter.git [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgitlab.u-psud.fr%2Fshenjin.lyu%2Fter.git/master) Simulation d'une élection avec l'algo distribué. Dans un graphe, les processus sont représentés par des noeuds. La couleur d'un noeud peut indiquer une décision ou un état d'un processus. Pour une proposition de candidat, tous les processus votent. Un candidat gagne l'élection ssi il obtient plus que la moitié de soutiens. #### Étapes - [ ] Explorer l'utilisation de dask; en pilotant le parallélisme directement en Python l'intégration sera plausiblement plus facile avec Jupyter/widgets qu'avec une solution mpi externe. - [x] Comme je n'ai pas reussit de faire avec dask, je prends des données avec print(). Les données sont écrites dans un fichier data, ensuite je lis ce fichier pour tracer mes graphes. - [x] Tracer un graphe pour simuler une élection avec networkx. - [x] Tracer un graphe(bar) pour compter le nombre de votes obtenus. - [x] Réduire la complexité de fonction tracer(), pour l'instant, elle retrace tous les fois, cela prend beaucoup de temps. - [x] ajoute des fonctions qui permet de choisir le nombre de personnes qui participent à l'élection, de donner leur nom et de décider une liste des candidats permi eux. - [x] refaire le graphe networks avec bqplot.marks. - [x] refaire l'histgramme avec bqplot.pyplot. - [x] faire un tooltip pour afficher les info sur les noeuds quand on met la souris dedans. - [x] faire le rapport et la diapo. ## Projet : Le PCC dans un graphe Participant: Yu Yang et Tingting Zhu Dépôt:https://github.com/Toaddd/ter #### ALGO UTILISES - Dijkstra - Flot maximum #### Etape - [x] Realiser les algo en Python - [x] Dijkstra - [x] Flot maximum - [x] Visualiser graphe de Flot - [ ] par Widget - [x] Visualiser graphe de Dijkstra - [ ] par Widget ## Autres projets ### Algorithmes de tris en place? ### Tests HTML A: <img src="https://raw.githubusercontent.com/nthiery/laby-jupyter/master/share/laby/tiles/exit.svg"> B: <style> .stack { position: absolute; top: 0px; left: 0px; } </style> <table> <tr> <td><div style="position: relative; left: 0; top: 0;"> <img src="https://raw.githubusercontent.com/nthiery/laby-jupyter/master/share/laby/tiles/exit.svg"> <img src="https://raw.githubusercontent.com/nthiery/laby-jupyter/master/share/laby/tiles/ant-e.svg" class="stack"></td> <td><div style="position: relative; left: 0; top: 0;"> <img src="https://raw.githubusercontent.com/nthiery/laby-jupyter/master/share/laby/tiles/exit.svg"> <img src="https://raw.githubusercontent.com/nthiery/laby-jupyter/master/share/laby/tiles/ant-e.svg" class="stack"></div></td></tr> <tr><td> <div style="position: relative; left: 0; top: 0;"> <img src="https://raw.githubusercontent.com/nthiery/laby-jupyter/master/share/laby/tiles/exit.svg"> <img src="https://raw.githubusercontent.com/nthiery/laby-jupyter/master/share/laby/tiles/ant-e.svg" class="stack"></td></tr> </table>

Import from clipboard

Paste your markdown or webpage here...

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lose their connection.

Create a note from template

Create a note from template

Oops...
This template has been removed or transferred.
Upgrade
All
  • All
  • Team
No template.

Create a template

Upgrade

Delete template

Do you really want to delete this template?
Turn this template into a regular note and keep its content, versions, and comments.

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

By clicking below, you agree to our terms of service.

Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
Wallet ( )
Connect another wallet

New to HackMD? Sign up

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Help & Tutorial

How to use Book mode

Slide Example

API Docs

Edit in VSCode

Install browser extension

Contacts

Feedback

Discord

Send us email

Resources

Releases

Pricing

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions and GitHub Sync
Get Full History Access

  • Edit version name
  • Delete

revision author avatar     named on  

More Less

Note content is identical to the latest version.
Compare
    Choose a version
    No search result
    Version not found
Sign in to link this note to GitHub
Learn more
This note is not linked with GitHub
 

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub
      • Please sign in to GitHub and install the HackMD app on your GitHub repo.
      • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
      Learn more  Sign in to GitHub

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Include title and tags
      Available push count

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully