From 3d8d15b84379896db38dbfdcd081f2810838cefa Mon Sep 17 00:00:00 2001 From: Tutur33 Date: Mon, 18 Dec 2023 21:09:31 +0100 Subject: [PATCH] Delete exercise 3.6.1 and exercise 3.6.2 Python files --- .../._Activite_decouverte_Python.html | Bin 0 -> 4096 bytes .../LangagePython_fonctions/._Exemplen6.html | Bin 0 -> 4096 bytes .../LangagePython_fonctions/._Exercice31.html | Bin 0 -> 4096 bytes .../LangagePython_fonctions/._Exercice34.html | Bin 0 -> 4096 bytes .../Activite_decouverte_Python.html | 36 + .../Annexelacomprehensiondelistes.html | 122 +++ .../LangagePython_fonctions/Autrestypes.html | 121 +++ .../LangagePython_fonctions/Exemplen1.html | 118 +++ .../LangagePython_fonctions/Exemplen2.html | 116 +++ .../LangagePython_fonctions/Exemplen3.html | 115 +++ .../LangagePython_fonctions/Exemplen4.html | 116 +++ .../LangagePython_fonctions/Exemplen5.html | 117 +++ .../LangagePython_fonctions/Exemplen6.html | 116 +++ .../LangagePython_fonctions/Exercice11.html | 118 +++ .../LangagePython_fonctions/Exercice13.html | 117 +++ .../LangagePython_fonctions/Exercice14.html | 116 +++ .../LangagePython_fonctions/Exercice15.html | 118 +++ .../LangagePython_fonctions/Exercice16.html | 120 +++ .../LangagePython_fonctions/Exercice17.html | 120 +++ .../LangagePython_fonctions/Exercice21.html | 116 +++ .../LangagePython_fonctions/Exercice22.html | 117 +++ .../LangagePython_fonctions/Exercice23.html | 115 +++ .../LangagePython_fonctions/Exercice24.html | 115 +++ .../LangagePython_fonctions/Exercice25.html | 116 +++ .../LangagePython_fonctions/Exercice31.html | 114 +++ .../LangagePython_fonctions/Exercice32.html | 115 +++ .../LangagePython_fonctions/Exercice33.html | 117 +++ .../LangagePython_fonctions/Exercice34.html | 118 +++ .../LangagePython_fonctions/Exercice35.html | 120 +++ .../LangagePython_fonctions/Exercice36.html | 121 +++ .../LangagePython_fonctions/Exercice37.html | 115 +++ .../LangagePython_fonctions/Exercice38.html | 117 +++ .../LangagePython_fonctions/Exercice39.html | 117 +++ .../LangagePython_fonctions/Exercice41.html | 117 +++ .../LangagePython_fonctions/Exercice42.html | 117 +++ .../LangagePython_fonctions/Exercice43.html | 116 +++ .../LangagePython_fonctions/Exercice44.html | 119 +++ .../LangagePython_fonctions/Exercice45.html | 115 +++ .../LangagePython_fonctions/Exercice46.html | 116 +++ .../LangagePython_fonctions/Exercice47.html | 116 +++ .../LangagePython_fonctions/Exercice48.html | 116 +++ .../LangagePython_fonctions/Exercices1.html | 114 +++ .../LangagePython_fonctions/Exercices2.html | 114 +++ .../LangagePython_fonctions/Exercices3.html | 114 +++ .../LangagePython_fonctions/Exercices4.html | 114 +++ .../LangagePython_fonctions/IDLE.html | 140 +++ .../Immuablevsmutable.html | 171 ++++ .../Lesbouclesinstructionsforwhile.html | 181 ++++ .../Lesconditionsinstructionsifelife.html | 152 ++++ .../LangagePython_fonctions/Lesfonctions.html | 114 +++ .../Lesfonctionsmathematiques.html | 128 +++ .../Letypeboolbooleen.html | 181 ++++ .../Letypedictdictionnaire.html | 115 +++ .../Letypefloatnombresenvirguleflott.html | 152 ++++ .../Letypeintintegernombresentiers.html | 160 ++++ .../Letypelistliste.html | 121 +++ .../Letypestrstringchainedecaractere.html | 134 +++ .../LangagePython_fonctions/Letypetuple.html | 113 +++ .../Linstructiondef.html | 115 +++ .../Linstructionelif.html | 129 +++ .../Linstructionelse.html | 125 +++ .../Linstructionfor.html | 140 +++ .../Linstructionif.html | 122 +++ .../Linstructionwhile.html | 126 +++ .../Nomsdevariables.html | 126 +++ .../Porteedevariablesvariablesglobal.html | 127 +++ .../LangagePython_fonctions/Preambule.html | 134 +++ .../ProgrammationOrienteeObjetPOO.html | 129 +++ .../LangagePython_fonctions/Scripts.html | 132 +++ .../Variablestypesetoperateurs.html | 136 +++ .../LangagePython_fonctions/css/base.css | 112 +++ .../css/dynatree/chm/0.png | Bin 0 -> 291 bytes .../css/dynatree/chm/1.png | Bin 0 -> 266 bytes .../css/dynatree/chm/10.png | Bin 0 -> 244 bytes .../css/dynatree/chm/11.png | Bin 0 -> 262 bytes .../css/dynatree/chm/12.png | Bin 0 -> 328 bytes .../css/dynatree/chm/13.png | Bin 0 -> 327 bytes .../css/dynatree/chm/14.png | Bin 0 -> 343 bytes .../css/dynatree/chm/15.png | Bin 0 -> 344 bytes .../css/dynatree/chm/16.png | Bin 0 -> 261 bytes .../css/dynatree/chm/17.png | Bin 0 -> 277 bytes .../css/dynatree/chm/18.png | Bin 0 -> 250 bytes .../css/dynatree/chm/19.png | Bin 0 -> 275 bytes .../css/dynatree/chm/2.png | Bin 0 -> 332 bytes .../css/dynatree/chm/20.png | Bin 0 -> 249 bytes .../css/dynatree/chm/21.png | Bin 0 -> 276 bytes .../css/dynatree/chm/22.png | Bin 0 -> 299 bytes .../css/dynatree/chm/23.png | Bin 0 -> 293 bytes .../css/dynatree/chm/24.png | Bin 0 -> 286 bytes .../css/dynatree/chm/25.png | Bin 0 -> 313 bytes .../css/dynatree/chm/26.png | Bin 0 -> 296 bytes .../css/dynatree/chm/27.png | Bin 0 -> 304 bytes .../css/dynatree/chm/28.png | Bin 0 -> 309 bytes .../css/dynatree/chm/29.png | Bin 0 -> 329 bytes .../css/dynatree/chm/3.png | Bin 0 -> 283 bytes .../css/dynatree/chm/30.png | Bin 0 -> 338 bytes .../css/dynatree/chm/31.png | Bin 0 -> 363 bytes .../css/dynatree/chm/32.png | Bin 0 -> 288 bytes .../css/dynatree/chm/33.png | Bin 0 -> 310 bytes .../css/dynatree/chm/34.png | Bin 0 -> 256 bytes .../css/dynatree/chm/35.png | Bin 0 -> 294 bytes .../css/dynatree/chm/36.png | Bin 0 -> 314 bytes .../css/dynatree/chm/37.png | Bin 0 -> 304 bytes .../css/dynatree/chm/38.png | Bin 0 -> 285 bytes .../css/dynatree/chm/39.png | Bin 0 -> 319 bytes .../css/dynatree/chm/4.png | Bin 0 -> 211 bytes .../css/dynatree/chm/40.png | Bin 0 -> 320 bytes .../css/dynatree/chm/41.png | Bin 0 -> 335 bytes .../css/dynatree/chm/5.png | Bin 0 -> 255 bytes .../css/dynatree/chm/6.png | Bin 0 -> 229 bytes .../css/dynatree/chm/7.png | Bin 0 -> 273 bytes .../css/dynatree/chm/8.png | Bin 0 -> 242 bytes .../css/dynatree/chm/9.png | Bin 0 -> 266 bytes .../css/dynatree/chm/icons.gif | Bin 0 -> 4319 bytes .../css/dynatree/chm/loading.gif | Bin 0 -> 570 bytes .../css/dynatree/chm/ui.dynatree.css | 440 +++++++++ .../css/dynatree/chm/vline.gif | Bin 0 -> 844 bytes .../css/dynatree/folder/0.png | Bin 0 -> 291 bytes .../css/dynatree/folder/1.png | Bin 0 -> 266 bytes .../css/dynatree/folder/10.png | Bin 0 -> 244 bytes .../css/dynatree/folder/11.png | Bin 0 -> 262 bytes .../css/dynatree/folder/12.png | Bin 0 -> 328 bytes .../css/dynatree/folder/13.png | Bin 0 -> 327 bytes .../css/dynatree/folder/14.png | Bin 0 -> 343 bytes .../css/dynatree/folder/15.png | Bin 0 -> 344 bytes .../css/dynatree/folder/16.png | Bin 0 -> 261 bytes .../css/dynatree/folder/17.png | Bin 0 -> 277 bytes .../css/dynatree/folder/18.png | Bin 0 -> 250 bytes .../css/dynatree/folder/19.png | Bin 0 -> 275 bytes .../css/dynatree/folder/2.png | Bin 0 -> 332 bytes .../css/dynatree/folder/20.png | Bin 0 -> 249 bytes .../css/dynatree/folder/21.png | Bin 0 -> 276 bytes .../css/dynatree/folder/22.png | Bin 0 -> 299 bytes .../css/dynatree/folder/23.png | Bin 0 -> 293 bytes .../css/dynatree/folder/24.png | Bin 0 -> 286 bytes .../css/dynatree/folder/25.png | Bin 0 -> 313 bytes .../css/dynatree/folder/26.png | Bin 0 -> 296 bytes .../css/dynatree/folder/27.png | Bin 0 -> 304 bytes .../css/dynatree/folder/28.png | Bin 0 -> 309 bytes .../css/dynatree/folder/29.png | Bin 0 -> 329 bytes .../css/dynatree/folder/3.png | Bin 0 -> 283 bytes .../css/dynatree/folder/30.png | Bin 0 -> 338 bytes .../css/dynatree/folder/31.png | Bin 0 -> 363 bytes .../css/dynatree/folder/32.png | Bin 0 -> 288 bytes .../css/dynatree/folder/33.png | Bin 0 -> 310 bytes .../css/dynatree/folder/34.png | Bin 0 -> 256 bytes .../css/dynatree/folder/35.png | Bin 0 -> 294 bytes .../css/dynatree/folder/36.png | Bin 0 -> 314 bytes .../css/dynatree/folder/37.png | Bin 0 -> 304 bytes .../css/dynatree/folder/38.png | Bin 0 -> 285 bytes .../css/dynatree/folder/39.png | Bin 0 -> 319 bytes .../css/dynatree/folder/4.png | Bin 0 -> 211 bytes .../css/dynatree/folder/40.png | Bin 0 -> 320 bytes .../css/dynatree/folder/41.png | Bin 0 -> 335 bytes .../css/dynatree/folder/5.png | Bin 0 -> 255 bytes .../css/dynatree/folder/6.png | Bin 0 -> 229 bytes .../css/dynatree/folder/7.png | Bin 0 -> 273 bytes .../css/dynatree/folder/8.png | Bin 0 -> 242 bytes .../css/dynatree/folder/9.png | Bin 0 -> 266 bytes .../css/dynatree/folder/icons.gif | Bin 0 -> 4041 bytes .../css/dynatree/folder/loading.gif | Bin 0 -> 570 bytes .../css/dynatree/folder/ui.dynatree.css | 440 +++++++++ .../css/dynatree/folder/vline.gif | Bin 0 -> 844 bytes .../css/dynatree/vista/0.png | Bin 0 -> 291 bytes .../css/dynatree/vista/1.png | Bin 0 -> 266 bytes .../css/dynatree/vista/10.png | Bin 0 -> 244 bytes .../css/dynatree/vista/11.png | Bin 0 -> 262 bytes .../css/dynatree/vista/12.png | Bin 0 -> 328 bytes .../css/dynatree/vista/13.png | Bin 0 -> 327 bytes .../css/dynatree/vista/14.png | Bin 0 -> 343 bytes .../css/dynatree/vista/15.png | Bin 0 -> 344 bytes .../css/dynatree/vista/16.png | Bin 0 -> 261 bytes .../css/dynatree/vista/17.png | Bin 0 -> 277 bytes .../css/dynatree/vista/18.png | Bin 0 -> 250 bytes .../css/dynatree/vista/19.png | Bin 0 -> 275 bytes .../css/dynatree/vista/2.png | Bin 0 -> 332 bytes .../css/dynatree/vista/20.png | Bin 0 -> 249 bytes .../css/dynatree/vista/21.png | Bin 0 -> 276 bytes .../css/dynatree/vista/22.png | Bin 0 -> 299 bytes .../css/dynatree/vista/23.png | Bin 0 -> 293 bytes .../css/dynatree/vista/24.png | Bin 0 -> 286 bytes .../css/dynatree/vista/25.png | Bin 0 -> 313 bytes .../css/dynatree/vista/26.png | Bin 0 -> 296 bytes .../css/dynatree/vista/27.png | Bin 0 -> 304 bytes .../css/dynatree/vista/28.png | Bin 0 -> 309 bytes .../css/dynatree/vista/29.png | Bin 0 -> 329 bytes .../css/dynatree/vista/3.png | Bin 0 -> 283 bytes .../css/dynatree/vista/30.png | Bin 0 -> 338 bytes .../css/dynatree/vista/31.png | Bin 0 -> 363 bytes .../css/dynatree/vista/32.png | Bin 0 -> 288 bytes .../css/dynatree/vista/33.png | Bin 0 -> 310 bytes .../css/dynatree/vista/34.png | Bin 0 -> 256 bytes .../css/dynatree/vista/35.png | Bin 0 -> 294 bytes .../css/dynatree/vista/36.png | Bin 0 -> 314 bytes .../css/dynatree/vista/37.png | Bin 0 -> 304 bytes .../css/dynatree/vista/38.png | Bin 0 -> 285 bytes .../css/dynatree/vista/39.png | Bin 0 -> 319 bytes .../css/dynatree/vista/4.png | Bin 0 -> 211 bytes .../css/dynatree/vista/40.png | Bin 0 -> 320 bytes .../css/dynatree/vista/41.png | Bin 0 -> 335 bytes .../css/dynatree/vista/5.png | Bin 0 -> 255 bytes .../css/dynatree/vista/6.png | Bin 0 -> 229 bytes .../css/dynatree/vista/7.png | Bin 0 -> 273 bytes .../css/dynatree/vista/8.png | Bin 0 -> 242 bytes .../css/dynatree/vista/9.png | Bin 0 -> 266 bytes .../css/dynatree/vista/icons.gif | Bin 0 -> 5512 bytes .../css/dynatree/vista/loading.gif | Bin 0 -> 3111 bytes .../css/dynatree/vista/ui.dynatree.css | 452 ++++++++++ .../LangagePython_fonctions/css/hnd.css | 680 ++++++++++++++ .../LangagePython_fonctions/css/ielte8.css | 3 + .../LangagePython_fonctions/css/reset.css | 48 + .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../ui-bg_inset-soft_95_fef1ec_1x100.png | Bin 0 -> 123 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../silver-theme/jquery-ui-1.8.12.custom.css | 103 +++ .../LangagePython_fonctions/css/toc.css | 71 ++ .../img/arrow_left.png | Bin 0 -> 374 bytes .../img/arrow_right.png | Bin 0 -> 393 bytes .../LangagePython_fonctions/img/arrow_up.png | Bin 0 -> 376 bytes .../img/book-closed.png | Bin 0 -> 250 bytes .../LangagePython_fonctions/img/book.png | Bin 0 -> 260 bytes .../LangagePython_fonctions/img/footer-bg.png | Bin 0 -> 950 bytes .../LangagePython_fonctions/img/header-bg.png | Bin 0 -> 215 bytes .../LangagePython_fonctions/img/topic.png | Bin 0 -> 250 bytes .../LangagePython_fonctions/js/hnd.js | 1 + .../LangagePython_fonctions/js/hndjsse.js | 6 + .../LangagePython_fonctions/js/hndsd.js | 1 + .../js/jquery-ui-1.8.17.custom.min.js | 106 +++ .../js/jquery.cookie.js | 97 ++ .../js/jquery.dynatree.min.js | 270 ++++++ .../LangagePython_fonctions/js/jquery.min.js | 4 + .../lib/NouvelElement1.png | Bin 0 -> 5366 bytes .../lib/NouvelElement10.png | Bin 0 -> 16183 bytes .../lib/NouvelElement11.png | Bin 0 -> 11196 bytes .../lib/NouvelElement12.png | Bin 0 -> 48476 bytes .../lib/NouvelElement13.png | Bin 0 -> 1550 bytes .../lib/NouvelElement130.png | Bin 0 -> 1858 bytes .../lib/NouvelElement131.png | Bin 0 -> 14875 bytes .../lib/NouvelElement132.png | Bin 0 -> 9833 bytes .../lib/NouvelElement133.png | Bin 0 -> 39206 bytes .../lib/NouvelElement134.png | Bin 0 -> 7484 bytes .../lib/NouvelElement135.png | Bin 0 -> 11901 bytes .../lib/NouvelElement14.png | Bin 0 -> 1365 bytes .../lib/NouvelElement140.png | Bin 0 -> 86429 bytes .../lib/NouvelElement142.png | Bin 0 -> 73095 bytes .../lib/NouvelElement145.png | Bin 0 -> 321 bytes .../lib/NouvelElement146.png | Bin 0 -> 5586 bytes .../lib/NouvelElement147.png | Bin 0 -> 45808 bytes .../lib/NouvelElement15.png | Bin 0 -> 984 bytes .../lib/NouvelElement150.png | Bin 0 -> 9523 bytes .../lib/NouvelElement155.png | Bin 0 -> 9749 bytes .../lib/NouvelElement156.png | Bin 0 -> 35833 bytes .../lib/NouvelElement157.png | Bin 0 -> 54611 bytes .../lib/NouvelElement158.png | Bin 0 -> 63987 bytes .../lib/NouvelElement159.png | Bin 0 -> 66557 bytes .../lib/NouvelElement16.png | Bin 0 -> 1048 bytes .../lib/NouvelElement160.png | Bin 0 -> 56144 bytes .../lib/NouvelElement161.png | Bin 0 -> 42642 bytes .../lib/NouvelElement17.png | Bin 0 -> 1384 bytes .../lib/NouvelElement18.png | Bin 0 -> 1038 bytes .../lib/NouvelElement19.png | Bin 0 -> 1066 bytes .../lib/NouvelElement2.png | Bin 0 -> 36818 bytes .../lib/NouvelElement20.png | Bin 0 -> 1076 bytes .../lib/NouvelElement21.png | Bin 0 -> 1019 bytes .../lib/NouvelElement23.png | Bin 0 -> 6912 bytes .../lib/NouvelElement29.png | Bin 0 -> 4618 bytes .../lib/NouvelElement30.png | Bin 0 -> 4298 bytes .../lib/NouvelElement31.png | Bin 0 -> 1075 bytes .../lib/NouvelElement32.png | Bin 0 -> 25169 bytes .../lib/NouvelElement33.png | Bin 0 -> 15325 bytes .../lib/NouvelElement7.png | Bin 0 -> 441 bytes .../lib/NouvelElement8.png | Bin 0 -> 69999 bytes .../LangagePython_fonctions/toc.html | 851 ++++++++++++++++++ Activity_3_python/exercises_3/exercise_3_6.py | 78 ++ .../exercises_3/exercise_3_6_1.py | 16 - .../exercises_3/exercise_3_6_2.py | 16 - Activity_3_python/exercises_4/exercise_4_4.py | 19 + Activity_3_python/exercises_4/exercise_4_5.py | 8 + Activity_3_python/exercises_4/exercise_4_6.py | 12 + Activity_3_python/exercises_4/exercise_4_7.py | 9 + Activity_3_python/exercises_4/exercise_4_8.py | 34 + 292 files changed, 11955 insertions(+), 32 deletions(-) create mode 100644 Activity_3_python/LangagePython_fonctions/._Activite_decouverte_Python.html create mode 100644 Activity_3_python/LangagePython_fonctions/._Exemplen6.html create mode 100644 Activity_3_python/LangagePython_fonctions/._Exercice31.html create mode 100644 Activity_3_python/LangagePython_fonctions/._Exercice34.html create mode 100644 Activity_3_python/LangagePython_fonctions/Activite_decouverte_Python.html create mode 100644 Activity_3_python/LangagePython_fonctions/Annexelacomprehensiondelistes.html create mode 100644 Activity_3_python/LangagePython_fonctions/Autrestypes.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exemplen1.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exemplen2.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exemplen3.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exemplen4.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exemplen5.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exemplen6.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice11.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice13.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice14.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice15.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice16.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice17.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice21.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice22.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice23.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice24.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice25.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice31.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice32.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice33.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice34.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice35.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice36.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice37.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice38.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice39.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice41.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice42.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice43.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice44.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice45.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice46.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice47.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercice48.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercices1.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercices2.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercices3.html create mode 100644 Activity_3_python/LangagePython_fonctions/Exercices4.html create mode 100644 Activity_3_python/LangagePython_fonctions/IDLE.html create mode 100644 Activity_3_python/LangagePython_fonctions/Immuablevsmutable.html create mode 100644 Activity_3_python/LangagePython_fonctions/Lesbouclesinstructionsforwhile.html create mode 100644 Activity_3_python/LangagePython_fonctions/Lesconditionsinstructionsifelife.html create mode 100644 Activity_3_python/LangagePython_fonctions/Lesfonctions.html create mode 100644 Activity_3_python/LangagePython_fonctions/Lesfonctionsmathematiques.html create mode 100644 Activity_3_python/LangagePython_fonctions/Letypeboolbooleen.html create mode 100644 Activity_3_python/LangagePython_fonctions/Letypedictdictionnaire.html create mode 100644 Activity_3_python/LangagePython_fonctions/Letypefloatnombresenvirguleflott.html create mode 100644 Activity_3_python/LangagePython_fonctions/Letypeintintegernombresentiers.html create mode 100644 Activity_3_python/LangagePython_fonctions/Letypelistliste.html create mode 100644 Activity_3_python/LangagePython_fonctions/Letypestrstringchainedecaractere.html create mode 100644 Activity_3_python/LangagePython_fonctions/Letypetuple.html create mode 100644 Activity_3_python/LangagePython_fonctions/Linstructiondef.html create mode 100644 Activity_3_python/LangagePython_fonctions/Linstructionelif.html create mode 100644 Activity_3_python/LangagePython_fonctions/Linstructionelse.html create mode 100644 Activity_3_python/LangagePython_fonctions/Linstructionfor.html create mode 100644 Activity_3_python/LangagePython_fonctions/Linstructionif.html create mode 100644 Activity_3_python/LangagePython_fonctions/Linstructionwhile.html create mode 100644 Activity_3_python/LangagePython_fonctions/Nomsdevariables.html create mode 100644 Activity_3_python/LangagePython_fonctions/Porteedevariablesvariablesglobal.html create mode 100644 Activity_3_python/LangagePython_fonctions/Preambule.html create mode 100644 Activity_3_python/LangagePython_fonctions/ProgrammationOrienteeObjetPOO.html create mode 100644 Activity_3_python/LangagePython_fonctions/Scripts.html create mode 100644 Activity_3_python/LangagePython_fonctions/Variablestypesetoperateurs.html create mode 100644 Activity_3_python/LangagePython_fonctions/css/base.css create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/0.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/1.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/10.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/11.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/12.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/13.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/14.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/15.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/16.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/17.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/18.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/19.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/2.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/20.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/21.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/22.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/23.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/24.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/25.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/26.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/27.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/28.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/29.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/3.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/30.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/31.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/32.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/33.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/34.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/35.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/36.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/37.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/38.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/39.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/4.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/40.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/41.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/5.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/6.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/7.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/8.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/9.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/icons.gif create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/loading.gif create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/ui.dynatree.css create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/chm/vline.gif create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/0.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/1.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/10.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/11.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/12.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/13.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/14.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/15.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/16.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/17.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/18.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/19.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/2.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/20.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/21.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/22.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/23.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/24.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/25.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/26.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/27.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/28.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/29.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/3.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/30.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/31.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/32.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/33.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/34.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/35.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/36.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/37.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/38.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/39.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/4.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/40.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/41.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/5.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/6.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/7.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/8.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/9.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/icons.gif create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/loading.gif create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/ui.dynatree.css create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/folder/vline.gif create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/0.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/1.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/10.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/11.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/12.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/13.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/14.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/15.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/16.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/17.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/18.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/19.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/2.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/20.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/21.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/22.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/23.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/24.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/25.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/26.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/27.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/28.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/29.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/3.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/30.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/31.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/32.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/33.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/34.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/35.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/36.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/37.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/38.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/39.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/4.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/40.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/41.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/5.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/6.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/7.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/8.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/9.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/icons.gif create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/loading.gif create mode 100644 Activity_3_python/LangagePython_fonctions/css/dynatree/vista/ui.dynatree.css create mode 100644 Activity_3_python/LangagePython_fonctions/css/hnd.css create mode 100644 Activity_3_python/LangagePython_fonctions/css/ielte8.css create mode 100644 Activity_3_python/LangagePython_fonctions/css/reset.css create mode 100644 Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_inset-soft_95_fef1ec_1x100.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-icons_222222_256x240.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-icons_2e83ff_256x240.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-icons_454545_256x240.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-icons_888888_256x240.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-icons_cd0a0a_256x240.png create mode 100644 Activity_3_python/LangagePython_fonctions/css/silver-theme/jquery-ui-1.8.12.custom.css create mode 100644 Activity_3_python/LangagePython_fonctions/css/toc.css create mode 100644 Activity_3_python/LangagePython_fonctions/img/arrow_left.png create mode 100644 Activity_3_python/LangagePython_fonctions/img/arrow_right.png create mode 100644 Activity_3_python/LangagePython_fonctions/img/arrow_up.png create mode 100644 Activity_3_python/LangagePython_fonctions/img/book-closed.png create mode 100644 Activity_3_python/LangagePython_fonctions/img/book.png create mode 100644 Activity_3_python/LangagePython_fonctions/img/footer-bg.png create mode 100644 Activity_3_python/LangagePython_fonctions/img/header-bg.png create mode 100644 Activity_3_python/LangagePython_fonctions/img/topic.png create mode 100644 Activity_3_python/LangagePython_fonctions/js/hnd.js create mode 100644 Activity_3_python/LangagePython_fonctions/js/hndjsse.js create mode 100644 Activity_3_python/LangagePython_fonctions/js/hndsd.js create mode 100644 Activity_3_python/LangagePython_fonctions/js/jquery-ui-1.8.17.custom.min.js create mode 100644 Activity_3_python/LangagePython_fonctions/js/jquery.cookie.js create mode 100644 Activity_3_python/LangagePython_fonctions/js/jquery.dynatree.min.js create mode 100644 Activity_3_python/LangagePython_fonctions/js/jquery.min.js create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement1.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement10.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement11.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement12.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement13.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement130.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement131.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement132.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement133.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement134.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement135.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement14.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement140.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement142.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement145.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement146.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement147.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement15.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement150.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement155.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement156.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement157.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement158.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement159.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement16.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement160.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement161.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement17.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement18.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement19.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement2.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement20.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement21.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement23.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement29.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement30.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement31.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement32.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement33.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement7.png create mode 100644 Activity_3_python/LangagePython_fonctions/lib/NouvelElement8.png create mode 100644 Activity_3_python/LangagePython_fonctions/toc.html create mode 100644 Activity_3_python/exercises_3/exercise_3_6.py delete mode 100644 Activity_3_python/exercises_3/exercise_3_6_1.py delete mode 100644 Activity_3_python/exercises_3/exercise_3_6_2.py create mode 100644 Activity_3_python/exercises_4/exercise_4_4.py create mode 100644 Activity_3_python/exercises_4/exercise_4_5.py create mode 100644 Activity_3_python/exercises_4/exercise_4_6.py create mode 100644 Activity_3_python/exercises_4/exercise_4_7.py create mode 100644 Activity_3_python/exercises_4/exercise_4_8.py diff --git a/Activity_3_python/LangagePython_fonctions/._Activite_decouverte_Python.html b/Activity_3_python/LangagePython_fonctions/._Activite_decouverte_Python.html new file mode 100644 index 0000000000000000000000000000000000000000..e4e5229ecd9820cb7a1236ee75fdc21959f0b03d GIT binary patch literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^0-$mMG%bukK2%&PIX_n~v7jI)RWB#8xTLf=H6$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^0-$mMG%bukK2%&PIX_n~v7jI)RWB#8xTLf=H66V(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@Rz!d_Z&L#+hfm}#NX0bw1 zYH@yPQF5w6T7FTsLS|k`YF_ literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/._Exercice31.html b/Activity_3_python/LangagePython_fonctions/._Exercice31.html new file mode 100644 index 0000000000000000000000000000000000000000..80fbdd126bd79f9825befbd2824df337c743bd71 GIT binary patch literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^0-$mMG%bukK2%&PIX_n~v7jI)RWB#8xTLf=H6$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^0-$mMG%bukK2%&PIX_n~v7jI)RWB#8xTLf=H6 + + + + + + + Introduction au langage de programmation Python 3 + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Annexelacomprehensiondelistes.html b/Activity_3_python/LangagePython_fonctions/Annexelacomprehensiondelistes.html new file mode 100644 index 0000000..5e43da4 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Annexelacomprehensiondelistes.html @@ -0,0 +1,122 @@ + + + + + + Annexe: la compréhension de listes + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Annexe: la compréhension de listes

+ + +
+ Les fonctions ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

La compréhension de listes est une structure syntaxique disponible dans un certain nombre de langages de programmation, dont Python.
C'est une manière de créer efficacement des listes.

+

Revenons sur l'exemple vu dans le script Fonction5.py :

+

resultat = [random.randint(1,6) for in range(10)]

+

>>> print(resultat)

+

Autre exemple : liste de carrés

+

carres = [i*i for in range(11)]

+

>>> print(carres)

+

La compréhension de listes évite donc d'écrire le code "classique" suivant :

+

carres = []
for in range(11):
    carres.append(i*i)

+

+

Créé avec HelpNDoc Personal Edition: Créer des fichiers d'aide pour la plateforme Qt Help

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Autrestypes.html b/Activity_3_python/LangagePython_fonctions/Autrestypes.html new file mode 100644 index 0000000..9e08e0a --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Autrestypes.html @@ -0,0 +1,121 @@ + + + + + + Autres types + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Autres types

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Nous avons vu les types les plus courants.
Il en existe bien d'autres :

+
    +
  • complex (nombres complexes, par exemple 1+2.5j)
  • +
  • tuple (structure de données)
  • +
  • set (structure de données)
  • +
  • file (fichiers)
  • +
  • ...
  • +
+

+

Créé avec HelpNDoc Personal Edition: Créer des livres électroniques EPub facilement

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exemplen1.html b/Activity_3_python/LangagePython_fonctions/Exemplen1.html new file mode 100644 index 0000000..d94dc25 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exemplen1.html @@ -0,0 +1,118 @@ + + + + + + Exemple n°1 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exemple n°1

+ + +
+ Les fonctions ›› L'instruction def ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

# script Fonction1.py
def mapremierefonction(): # cette fonction n'a pas de paramètre
    """ Cette fonction affiche 'Bonjour' """
    print("Bonjour")
    return   # cette fonction ne retourne rien ('None')
    # l'instruction return est ici facultative

+

Une fois la fonction définie, nous pouvons l'appeler :

+

>>> mapremierefonction() # ne pas oublier les parenthèses ()

+

L'accès à la documentation se fait avec la fonction pré-définie help() :

+

>>> help(mapremierefonction) # affichage de la documentation

+

+

Créé avec HelpNDoc Personal Edition: Sites web iPhone faciles

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exemplen2.html b/Activity_3_python/LangagePython_fonctions/Exemplen2.html new file mode 100644 index 0000000..f56df41 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exemplen2.html @@ -0,0 +1,116 @@ + + + + + + Exemple n°2 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exemple n°2

+ + +
+ Les fonctions ›› L'instruction def ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

La fonction suivante simule le comportement d'un dé à 6 faces.
Pour cela, on utilise la fonction randint() du module random.

+

# script Fonction2.py
def tirage_de():
    """ Retourne un nombre entier aléatoire entre 1 et 6 """
    import random
    valeur = random.randint(1, 6)
    return valeur

+

>>> print(tirage_de())

>>> print(tirage_de())

>>> resultat = tirage_de()
>>> print(resultat)

+

+

Créé avec HelpNDoc Personal Edition: Éditeur de documentation CHM facile

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exemplen3.html b/Activity_3_python/LangagePython_fonctions/Exemplen3.html new file mode 100644 index 0000000..b63cd07 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exemplen3.html @@ -0,0 +1,115 @@ + + + + + + Exemple n°3 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exemple n°3

+ + +
+ Les fonctions ›› L'instruction def ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

# script Fonction3.py
# définition des fonctions
def info():
    """ Informations """
    print("Touche q pour quitter")
    print("Touche Enter pour continuer")
def tirage_de():
    """ Retourne un nombre entier aléatoire entre 1 et 6 """
    import random
    valeur = random.randint(1, 6)
    return valeur
# début du programme
info()
while True:
    choix = input()
    if choix == 'q':
        break
    print("Tirage :", tirage_de())

+

Exécuter   et tester

+

+

Créé avec HelpNDoc Personal Edition: Générateur de documentation d'aide HTML gratuit

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exemplen4.html b/Activity_3_python/LangagePython_fonctions/Exemplen4.html new file mode 100644 index 0000000..a038374 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exemplen4.html @@ -0,0 +1,116 @@ + + + + + + Exemple n°4 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exemple n°4

+ + +
+ Les fonctions ›› L'instruction def ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Une fonction avec deux paramètres :

+

# script Fonction4.py
# définition de fonction
def tirage_de2(valeur_min, valeur_max):
    """ Retourne un nombre entier aléatoire entre valeur_min et valeur_max """
    import random
    return random.randint(valeur_min, valeur_max)
# début du programme
for i in range(5):
    print(tirage_de2(1, 10))  # appel de la fonction avec les arguments 1 et 10

+

+

+

Créé avec HelpNDoc Personal Edition: Créer des fichiers d'aide pour la plateforme Qt Help

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exemplen5.html b/Activity_3_python/LangagePython_fonctions/Exemplen5.html new file mode 100644 index 0000000..657489c --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exemplen5.html @@ -0,0 +1,117 @@ + + + + + + Exemple n°5 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exemple n°5

+ + +
+ Les fonctions ›› L'instruction def ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Une fonction qui retourne une liste :

+

# script Fonction5.py
# définition de fonction
def tirage_multiple_de(nombretirage):
    """ Retourne une liste de nombres entiers aléatoires entre 1 et 6 """
    import random
    resultat = [random.randint(1, 6) for i in range(nombretirage)] # compréhension de listes (Cf. annexe)
    return resultat
# début du programme
print(tirage_multiple_de(10))

+

+

>>> help(tirage_multiple_de)

+

+

Créé avec HelpNDoc Personal Edition: Produire des livres électroniques facilement

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exemplen6.html b/Activity_3_python/LangagePython_fonctions/Exemplen6.html new file mode 100644 index 0000000..d8348b7 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exemplen6.html @@ -0,0 +1,116 @@ + + + + + + Exemple n°6 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exemple n°6

+ + +
+ Les fonctions ›› L'instruction def ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Une fonction qui affiche la parité d'un nombre entier.
Il peut y avoir plusieurs instructions return dans une fonction.
L'instruction return provoque le retour immédiat de la fonction.

+

# script Fonction6.py
# définition de fonction
def parite(nombre):
    """ Affiche la parité d'un nombre entier """
    if nombre%2 == 1:   # L'opérateur % donne le reste d'une division
        print(nombre, 'est impair')
        return
    if nombre%2 == 0:
        print(nombre, 'est pair')
        return

+

>>> parite(13)

>>> parite(24)

+

+

Créé avec HelpNDoc Personal Edition: Créer des documents d'aide HTML facilement

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice11.html b/Activity_3_python/LangagePython_fonctions/Exercice11.html new file mode 100644 index 0000000..ee7c13f --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice11.html @@ -0,0 +1,118 @@ + + + + + + Exercice 1.1 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 1.1

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

☆ Afficher la taille en octets et en bits d'un fichier de 536 kio.

+

On donne : 1 kio (1 kibioctet) = 210 octets

+

1 octet = 1 byte = 8 bits

+


+

+

+

Créé avec HelpNDoc Personal Edition: Sites web iPhone faciles

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice13.html b/Activity_3_python/LangagePython_fonctions/Exercice13.html new file mode 100644 index 0000000..97acbbd --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice13.html @@ -0,0 +1,117 @@ + + + + + + Exercice 1.3 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 1.3

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

★ Afficher la valeur numérique de √(4,63 - 15/16)

+

Comparer avec votre calculette.

+


+

+

+

Créé avec HelpNDoc Personal Edition: Générateur de documentations PDF gratuit

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice14.html b/Activity_3_python/LangagePython_fonctions/Exercice14.html new file mode 100644 index 0000000..f5d138d --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice14.html @@ -0,0 +1,116 @@ + + + + + + Exercice 1.4 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 1.4

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

★ A partir des deux variables prenom et nom, afficher les initiales (par exemple LM pour Léa Martin).

+


+

+

+

Créé avec HelpNDoc Personal Edition: Écrire des livres électroniques ePub pour l'iPad

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice15.html b/Activity_3_python/LangagePython_fonctions/Exercice15.html new file mode 100644 index 0000000..cdc6b03 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice15.html @@ -0,0 +1,118 @@ + + + + + + Exercice 1.5 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 1.5

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

★☆ L'identifiant d'accès au réseau du lycée est construit de la manière suivante : les 4 premiers caractères du prénom (maximum), suivi d'un point, puis les caractères du nom (limités à 12) le tout en minuscule.

+

Exemple : Alexandre Lecouturier → ale.lecouturier

+

A partir des deux variables prenom et nom, construire l'identifiant.

+


+

+

+

Créé avec HelpNDoc Personal Edition: Éditeur complet de livres électroniques ePub

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice16.html b/Activity_3_python/LangagePython_fonctions/Exercice16.html new file mode 100644 index 0000000..7cb0efb --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice16.html @@ -0,0 +1,120 @@ + + + + + + Exercice 1.6 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 1.6

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

★★ On donne un extrait des logins d'accès au réseau du lycée :

+

ale.lecouturier       Huz4
lea.martin                monty

+

1) Créer une variable de type dict qui contient les couples identifiant - mot de passe ci-dessus.

+


2) La saisie du login fournit deux variables identifiant et motdepasse : une pour l'identifiant et l'autre pour le mot de passe.
Construire une variable booléenne qui donne True en cas d'identification correcte, et False dans le cas contraire :

+


+

+

+

+

Créé avec HelpNDoc Personal Edition: Générateur de documentations PDF gratuit

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice17.html b/Activity_3_python/LangagePython_fonctions/Exercice17.html new file mode 100644 index 0000000..ba44a1d --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice17.html @@ -0,0 +1,120 @@ + + + + + + Exercice 1.2 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 1.2

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

★ Le numéro de sécurité sociale est constitué de 13 chiffres auquel s'ajoute la clé de contrôle (2 chiffres).

+

Exemple : 1 89 11 26 108 268 91

+

La clé de contrôle est calculée par la formule : 97 - (numéro de sécurité sociale modulo 97)

+

Retrouver la clé de contrôle de votre numéro de sécurité sociale.

+

Quel est l'intérêt de la clé de contrôle ?

+


+

+

+

Créé avec HelpNDoc Personal Edition: Qu'est-ce qu'un outil de création d'aide ?

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice21.html b/Activity_3_python/LangagePython_fonctions/Exercice21.html new file mode 100644 index 0000000..fb02c12 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice21.html @@ -0,0 +1,116 @@ + + + + + + Exercice 2.1 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 2.1

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

 Le numéro de sécurité sociale est constitué de 13 chiffres auquel s'ajoute la clé de contrôle (2 chiffres).
La clé de contrôle est calculée par la formule : 97 - (numéro de sécurité sociale modulo 97)

+

Ecrire un script qui contrôle la validité d'un numéro de sécurité sociale.
On pourra utiliser la fonction int() pour convertir le type str en type int.
Exemple :

+

>>>
Entrer votre numéro de sécurité sociale (13 chiffres) --> 1891126108268
Entrer votre clé de contrôle (2 chiffres) --------------> 91
Votre numéro de sécurité sociale est valide.
>>>
Entrer votre numéro de sécurité sociale (13 chiffres) --> 2891126108268
Entrer votre clé de contrôle (2 chiffres) --------------> 91
Votre numéro de sécurité sociale est INVALIDE !
>>>

+

+

Créé avec HelpNDoc Personal Edition: Éditeur de documentation CHM facile

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice22.html b/Activity_3_python/LangagePython_fonctions/Exercice22.html new file mode 100644 index 0000000..4b1f4e9 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice22.html @@ -0,0 +1,117 @@ + + + + + + Exercice 2.2 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 2.2

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

 Nombre entier non signé et signé
Dans un octet, on peut stocker un nombre entier compris entre 0b00000000 = 0 et 0b11111111 = 255 (entier non signé, en numération binaire naturel).
On peut aussi stocker un entier compris entre -128 et +127 (entier signé, représentation dite en complément à deux).
En complément à deux, les nombres négatifs sont codés de la manière suivante :
-1 correspond à 255 en binaire naturel
-2 correspond à 254 en binaire naturel
...
-127 correspond à 129 en binaire naturel
-128 correspond à 128 en binaire naturel
1) Ecrire un script qui donne la correspondance entre entier signé et entier non signé.
Par exemple :

+

>>>
Entrer un entier signé en complément à deux (-128 à +127): 25
La représentation en binaire naturel est : 25
>>>
Entrer un entier signé en complément à deux (-128 à +127): -15
La représentation en binaire naturel est : 241

+

2) Ecrire un script qui donne la correspondance entre entier non signé et entier signé.
Par exemple :

+

>>>
Entrer un nombre entier (0 à 255): 250
Cela représente l'entier signé : -6

+

+

Créé avec HelpNDoc Personal Edition: Créer des livres électroniques facilement

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice23.html b/Activity_3_python/LangagePython_fonctions/Exercice23.html new file mode 100644 index 0000000..63cfc53 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice23.html @@ -0,0 +1,115 @@ + + + + + + Exercice 2.3 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 2.3

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

 Ecrire un script qui demande la note au bac et qui affiche la mention correspondante.
Par exemple :

+

>>>
Note au bac (sur 20) : 13.5
Bac avec mention Assez Bien
>>>
Note au bac (sur 20) : 10.9
Bac avec mention Passable
>>>
Note au bac (sur 20) : 4
Recalé
>>>

+

+

Créé avec HelpNDoc Personal Edition: Environnement de création d'aide complet

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice24.html b/Activity_3_python/LangagePython_fonctions/Exercice24.html new file mode 100644 index 0000000..0bee970 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice24.html @@ -0,0 +1,115 @@ + + + + + + Exercice 2.4 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 2.4

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

 Ecrire un script qui calcule l'indice de masse corporelle (IMC) d'un adulte et qui en donne l'interprétation (corpulence normale, surpoids...).
Par exemple :

+

>>>
Votre taille en cm ? 170
Votre masse en kg ? 68.5
IMC = 23.70 kg/m²
Interprétation : corpulence normale
>>>

+

+

Créé avec HelpNDoc Personal Edition: Générateur d'aide complet

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice25.html b/Activity_3_python/LangagePython_fonctions/Exercice25.html new file mode 100644 index 0000000..aa9a0b4 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice25.html @@ -0,0 +1,116 @@ + + + + + + Exercice 2.5 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 2.5

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

★★ Ecrire un script qui résout l'équation du second degré : ax² + bx + c = 0
Par exemple :

+

>>>
Résolution de l'équation du second degré : ax² + bx + c = 0
Coefficient a ? 1
Coefficient b ? -0.9
Coefficient c ? 0.056
Discriminant :  0.586
Deux solutions :
0.0672468158199
0.83275318418

+

>>>
Résolution de l'équation du second degré : ax² + bx + c = 0
Coefficient a ? 2
Coefficient b ? 1.5
Coefficient c ? 4
Discriminant :  -29.75
Il n'y a pas de solution.

+

+

Créé avec HelpNDoc Personal Edition: Écrire des livres électroniques ePub pour l'iPad

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice31.html b/Activity_3_python/LangagePython_fonctions/Exercice31.html new file mode 100644 index 0000000..b6ecc74 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice31.html @@ -0,0 +1,114 @@ + + + + + + Exercice 3.1 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 3.1

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

 Ecrire un script qui affiche toutes les tables de multiplication (de 1 à 10).

+

+

Créé avec HelpNDoc Personal Edition: Générer facilement des livres électroniques Kindle

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice32.html b/Activity_3_python/LangagePython_fonctions/Exercice32.html new file mode 100644 index 0000000..be00ab9 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice32.html @@ -0,0 +1,115 @@ + + + + + + Exercice 3.2 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 3.2

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

 Ecrire un script qui calcule la moyenne d'une série de notes.
On pourra utiliser une variable qui contient la somme intermédiaire des notes.

+

>>>
Nombre de notes ? 3
-->  15
-->  11.5
-->  14
Moyenne : 13.5
>>>

+

+

Créé avec HelpNDoc Personal Edition: Créer des aides HTML, DOC, PDF et des manuels depuis une même source

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice33.html b/Activity_3_python/LangagePython_fonctions/Exercice33.html new file mode 100644 index 0000000..8a9c055 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice33.html @@ -0,0 +1,117 @@ + + + + + + Exercice 3.3 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 3.3

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

 ★
1) Avec une boucle for, écrire un script qui compte le nombre de lettres z dans une chaîne de caractères.
Par exemple :

+

>>>
Entrer la chaîne : Zinedine Zidane
Résultat : 2

+

2) Faire la même chose, directement avec la méthode count() de la classe str.
Pour obtenir de l'aide sur cette méthode :

+

>>> help(str.count)

+

+

Créé avec HelpNDoc Personal Edition: Produire des livres Kindle gratuitement

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice34.html b/Activity_3_python/LangagePython_fonctions/Exercice34.html new file mode 100644 index 0000000..9f5a5cf --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice34.html @@ -0,0 +1,118 @@ + + + + + + Exercice 3.4 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 3.4

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

 Avec une boucle while, écrire un script qui affiche l'heure courante avec une actualisation chaque seconde.
On utilisera la fonction sleep() du module time.
Pour obtenir de l'aide sur cette fonction :

+

>>> import time
>>> help(time.sleep)

+

Par exemple :

+

>>> # Taper CTRL + C pour arrêter le programme.
>>>
Heure courante  12:40:59
Heure courante  12:41:00
Heure courante  12:41:01
Heure courante  12:41:02
KeyboardInterrupt
>>>

+

Remarque : il n'est pas conventionnel de forcer l'arrêt d'un programme avec CTRL + C
Nous verrons comment interrompre proprement un programme dans le chapitre Gestion des exceptions.

+

+

Créé avec HelpNDoc Personal Edition: Écrire des livres électronique Kindle

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice35.html b/Activity_3_python/LangagePython_fonctions/Exercice35.html new file mode 100644 index 0000000..460b1dd --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice35.html @@ -0,0 +1,120 @@ + + + + + + Exercice 3.5 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 3.5

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

★☆
1) Ecrire le script du jeu de devinette suivant :

+

>>>
Le jeu consiste à deviner un nombre entre 1 et 100 :
--->   50
trop petit !
--->   75
trop petit !
--->   87
trop grand !
--->   81
trop petit !
--->   84
trop petit !
--->   85
Gagné en 6 coups !

+

2) Quelle est la stratégie la plus efficace ?

+

3) Montrer que l'on peut deviner un nombre en 7 coups maximum.

+

Bibliographie : La dichotomie

+

Remarque : pour créer un nombre entier aléatoire entre 1 et 100 :

+

import random
nombre = random.randint(1,100)

+

+

Créé avec HelpNDoc Personal Edition: Générer facilement des livres électroniques Kindle

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice36.html b/Activity_3_python/LangagePython_fonctions/Exercice36.html new file mode 100644 index 0000000..5117b5a --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice36.html @@ -0,0 +1,121 @@ + + + + + + Exercice 3.6 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 3.6

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

★★ Code de César
En cryptographie, le code de César est une technique de chiffrement élémentaire qui consiste à décaler une lettre de 3 rangs vers la droite :
A → D
B → E
...
Z → C

+


1) Ecrire le script de ce codage.
Par exemple :

+

>>>
Message à coder ? abcdefghijklmnopqrstuvwxyz
defghijklmnopqrstuvwxyzabc

+

>>>
Message à coder ? Monty Python's Flying Circus
prqwb sbwkrq'v ioblqj flufxv

+

On pourra utiliser la chaîne 'abcdefghijklmnopqrstuvwxyz' et la méthode find() de la classe str.
Pour obtenir de l'aide sur cette méthode :

+

>>> help(str.find)

+

2) Ecrire le script du décodage.
Par exemple :

+

>>>
Message à décoder ? prqwb sbwkrq'v ioblqj flufxv
monty python's flying circus

+

+

Créé avec HelpNDoc Personal Edition: Produire facilement des livres électroniques Kindle

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice37.html b/Activity_3_python/LangagePython_fonctions/Exercice37.html new file mode 100644 index 0000000..75e8f4d --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice37.html @@ -0,0 +1,115 @@ + + + + + + Exercice 3.7 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 3.7

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

 ★★ Ecrire un script qui donne l'évolution de la suite convergente : un+1 = un/2 + 1/un
Par exemple :

+

>>>
Valeur initiale ? 20
Jusqu'à quel rang ? 10
0 20.0
1 10.05
2 5.12450248756
3 2.75739213842
4 1.74135758045
5 1.44494338196
6 1.41454033013
7 1.41421360012
8 1.41421356237
9 1.41421356237
10 1.41421356237
>>>

+

+

Créé avec HelpNDoc Personal Edition: Sites web iPhone faciles

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice38.html b/Activity_3_python/LangagePython_fonctions/Exercice38.html new file mode 100644 index 0000000..527778e --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice38.html @@ -0,0 +1,117 @@ + + + + + + Exercice 3.8 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 3.8

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

★★ Fraction continue infinie

+

Estimer la valeur numérique de la fraction continue suivante :

+

+

Comparer avec la valeur exacte : (1 + √5)/2

+

+

Créé avec HelpNDoc Personal Edition: Création d'aide CHM, PDF, DOC et HTML d'une même source

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice39.html b/Activity_3_python/LangagePython_fonctions/Exercice39.html new file mode 100644 index 0000000..33c5ac0 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice39.html @@ -0,0 +1,117 @@ + + + + + + Exercice 3.9 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 3.9

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

1) ★ Ecrire un script qui détermine si un nombre entier est premier ou pas.
Par exemple :

+

>>>
Nombre ? 17
17 est un nombre premier

+

2) ★★ Ecrire un script qui décompose un nombre entier en un produit de facteurs premiers.

+

>>>
Nombre à décomposer ? 2142
2142 = 2 * 3 * 3 * 7 * 17

+

+

Créé avec HelpNDoc Personal Edition: Créer des documents d'aide CHM facilement

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice41.html b/Activity_3_python/LangagePython_fonctions/Exercice41.html new file mode 100644 index 0000000..12f0f6e --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice41.html @@ -0,0 +1,117 @@ + + + + + + Exercice 4.1 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 4.1

+ + +
+ Les fonctions ›› Exercices 4 ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+


1) Ecrire une fonction carre() qui retourne le carré d'un nombre :

+

>>> print(carre(11.11111))
123.4567654321

+

2) Avec une boucle while et la fonction carre(), écrire un script qui affiche le carré des nombres entiers de 1 à 100 :

+

>>>
1² = 1
2² = 4
3² = 9
...
99² = 9801
100² = 10000
Fin du programme

+

+

Créé avec HelpNDoc Personal Edition: Générateur d'aides Web gratuit

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice42.html b/Activity_3_python/LangagePython_fonctions/Exercice42.html new file mode 100644 index 0000000..2836d64 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice42.html @@ -0,0 +1,117 @@ + + + + + + Exercice 4.2 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 4.2

+ + +
+ Les fonctions ›› Exercices 4 ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+


1) Ecrire une fonction qui retourne l'aire de la surface d'un disque de rayon R.
Exemple :

+

>>> print(airedisque(2.5))
19.6349540849

+

2) Ajouter un paramètre qui précise l'unité de mesure :

+

>>> print(airedisque2(4.2, 'cm'))
55.4176944093 cm²

+

+

Créé avec HelpNDoc Personal Edition: Créer des fichiers d'aide pour la plateforme Qt Help

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice43.html b/Activity_3_python/LangagePython_fonctions/Exercice43.html new file mode 100644 index 0000000..d4721bb --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice43.html @@ -0,0 +1,116 @@ + + + + + + Exercice 4.3 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 4.3

+ + +
+ Les fonctions ›› Exercices 4 ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+


1) Ecrire une fonction qui retourne la factorielle d'un nombre entier N.
On rappelle que : N ! = 1×2×...×(N-1)×N
Exemple :

+

>>> print(factorielle(50))
30414093201713378043612608166064768844377641568960512000000000000

+

2) Comparez avec le résultat de la fonction factorial() du module math.

+

+

Créé avec HelpNDoc Personal Edition: Générateur facile de livres électroniques et documentation

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice44.html b/Activity_3_python/LangagePython_fonctions/Exercice44.html new file mode 100644 index 0000000..cf5fcf0 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice44.html @@ -0,0 +1,119 @@ + + + + + + Exercice 4.4 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 4.4

+ + +
+ Les fonctions ›› Exercices 4 ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+


1) A l'aide de la fonction randint() du module random, écrire une fonction qui retourne un mot de passe de longueur N (chiffres, lettres minuscules ou majuscules).
On donne :
chaine = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'

+

>>> print(password(10))
mHVeC5rs8P
>>> print(password(6))
PYthoN

+

2) Reprendre la question 1) avec la fonction choice() du module random.
Pour obtenir de l'aide sur cette fonction :

+

>>> import random
>>> help(random.choice)

+

3) Quel est le nombre de combinaisons possibles ?
4) Quelle durée faut-il pour casser le mot de passe avec un logiciel capable de générer 1 million de combinaisons par seconde ?

+

Lien utile : www.exhaustif.com/Generateur-de-mot-de-passe-en.html

+

+

Créé avec HelpNDoc Personal Edition: Sites web iPhone faciles

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice45.html b/Activity_3_python/LangagePython_fonctions/Exercice45.html new file mode 100644 index 0000000..c10b12d --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice45.html @@ -0,0 +1,115 @@ + + + + + + Exercice 4.5 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 4.5

+ + +
+ Les fonctions ›› Exercices 4 ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

 Ecrire une fonction qui retourne une carte (au hasard) d'un jeu de Poker à 52 cartes.
On utilisera la fonction choice() ou randint() du module random.
On donne :
ListeCarte = ['2s','2h','2d','2c','3s','3h','3d','3c','4s','4h','4d','4c','5s','5h','5d','5c', '6s','6h','6d','6c','7s','7h','7d','7c','8s','8h','8d','8c','9s','9h','9d','9c', 'Ts','Th','Td','Tc','Js','Jh','Jd','Jc','Qs','Qh','Qd','Qc','Ks','Kh','Kd','Kc','As','Ah','Ad','Ac']

+

>>> print(tiragecarte())
7s
>>> print(tiragecarte())
Kd

+

+

Créé avec HelpNDoc Personal Edition: Générateur d'aides CHM gratuit

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice46.html b/Activity_3_python/LangagePython_fonctions/Exercice46.html new file mode 100644 index 0000000..60ee038 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice46.html @@ -0,0 +1,116 @@ + + + + + + Exercice 4.6 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 4.6

+ + +
+ Les fonctions ›› Exercices 4 ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

★★
1) Ecrire une fonction qui retourne une liste de N cartes différentes d'un jeu de Poker à 52 cartes.
Noter qu'une fonction peut appeler une fonction : on peut donc réutiliser la fonction tiragecarte() de l'exercice précédent.
Exemple :

+

>>> print(tirage_n_carte(2))
['As', 'Ah']
>>> print(tirage_n_carte(25))
['Jc', 'Jh', 'Tc', '2d', '3h', 'Qc', '8d', '7c', 'As', 'Td', '8h', '9c', 'Ad', 'Qh',
'Kc', '6s', '5h', 'Qd', 'Kh', '9h', '5d', 'Js', 'Ks', '5c', 'Th']

+

2) Simplifier le script avec la fonction shuffle() ou sample() du module random.

+

+

Créé avec HelpNDoc Personal Edition: Générateur de documentations PDF gratuit

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice47.html b/Activity_3_python/LangagePython_fonctions/Exercice47.html new file mode 100644 index 0000000..2cb8e93 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice47.html @@ -0,0 +1,116 @@ + + + + + + Exercice 4.7 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 4.7

+ + +
+ Les fonctions ›› Exercices 4 ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

 Ecrire une fonction qui retourne une grille de numéros du jeu Euro Millions.
On utilisera la fonction sample() du module random.

+

+

>>> print(euromillions())
[37, 23, 9, 11, 49, 2, 11]
>>> print(euromillions())
[16, 32, 8, 30, 40, 6, 4]

+

+

Créé avec HelpNDoc Personal Edition: Créer des fichiers d'aide pour la plateforme Qt Help

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercice48.html b/Activity_3_python/LangagePython_fonctions/Exercice48.html new file mode 100644 index 0000000..8866279 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercice48.html @@ -0,0 +1,116 @@ + + + + + + Exercice 4.8 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercice 4.8

+ + +
+ Les fonctions ›› Exercices 4 ›› +
+ +
+ +
+ + + Parent + + + + Previous + + +
+ +
+
+ + +
+ +

+

★★
1) Ecrire une fonction qui retourne la valeur de la fonction mathématique f(x)= 27x3 -27x2-18x +8 :

+

>>> print(f(0), f(1), f(0.5), f(0.25), f(0.375))
8.0 -10.0 -4.375 2.234375 -1.123046875

+

2) On se propose de chercher les zéros de cette fonction par la méthode de dichotomie.
Ecrire le script correspondant.

+

>>>
Recherche d'un zéro dans l'intervalle [a,b]
a? 0
b? 1
Précision ? 1e-12
0.5
0.25
0.375
0.3125
0.34375
0.328125
0.3359375
0.33203125
0.333984375
0.3330078125
0.33349609375
0.333251953125
...
...
0.333333333333
>>>

+

3) Chercher tous les zéros de cette fonction.

+

Annexe : représentation graphique de la fonction f(x)= 27x3 -27x2 -18x +8 (graphique réalisé avec la librairie matplotlib de Python)

+

+

+

Créé avec HelpNDoc Personal Edition: Créer des documentations web iPhone

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercices1.html b/Activity_3_python/LangagePython_fonctions/Exercices1.html new file mode 100644 index 0000000..01a10c2 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercices1.html @@ -0,0 +1,114 @@ + + + + + + Exercices 1 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercices 1

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+


+

+

Créé avec HelpNDoc Personal Edition: Générateur complet de livres électroniques ePub

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercices2.html b/Activity_3_python/LangagePython_fonctions/Exercices2.html new file mode 100644 index 0000000..852b475 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercices2.html @@ -0,0 +1,114 @@ + + + + + + Exercices 2 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercices 2

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+


+

+

Créé avec HelpNDoc Personal Edition: Avantages d'un outil de création d'aide

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercices3.html b/Activity_3_python/LangagePython_fonctions/Exercices3.html new file mode 100644 index 0000000..5e0ff33 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercices3.html @@ -0,0 +1,114 @@ + + + + + + Exercices 3 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercices 3

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+


+

+

Créé avec HelpNDoc Personal Edition: Produire des livres électroniques facilement

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Exercices4.html b/Activity_3_python/LangagePython_fonctions/Exercices4.html new file mode 100644 index 0000000..7d3d08d --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Exercices4.html @@ -0,0 +1,114 @@ + + + + + + Exercices 4 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Exercices 4

+ + +
+ Les fonctions ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+


+

+

Créé avec HelpNDoc Personal Edition: Créer des livres électroniques facilement

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/IDLE.html b/Activity_3_python/LangagePython_fonctions/IDLE.html new file mode 100644 index 0000000..3e1a497 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/IDLE.html @@ -0,0 +1,140 @@ + + + + + + IDLE + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

IDLE

+ + +
+ +
+ + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

IDLE

+

IDLE est un environnement de développement intégré (Integrated Development Environment) pour Python. Un IDLE propose un certain nombre d'outils :

+


+
    +
  • un éditeur de texte (pour écrire le programme)
  • +
  • un interpréteur (pour exécuter le programme)
  • +
  • un débogueur (pour tester le programme)
  • +
  • une fenètre intéractive REPL (Read-Evaluate-Print-Loop) permettant d'entrer du code Python arbitraire et de voir immédiatement les résultats.
  • +
+


+

Il existe des IDLE en ligne pour Python:

+ +


+

Il existe des IDLE installables sur les ordinateurs:

+ +


+

Exemple pour Edupython:

+

+

La Console Python est un interpréteur Python en mode interactif.

+


+

Exemple de fenêtre interactive REPL dans Mu

+

+


+

+

Créé avec HelpNDoc Personal Edition: Générateur complet de livres électroniques Kindle

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Immuablevsmutable.html b/Activity_3_python/LangagePython_fonctions/Immuablevsmutable.html new file mode 100644 index 0000000..480b965 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Immuablevsmutable.html @@ -0,0 +1,171 @@ + + + + + + Immuable vs mutable + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Immuable vs mutable

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+
    +
  • Immuable ou immuable
  • +
+

Les nombres sont des types immuables tout comme les chaînes de caractères et les tuples (tableaux d’objets).

+

Une variable de type immuable ne peut être modifiée. Une opération sur une variable de ce type entraîne nécessairement la création d’une autre variable du même type.

+


+

Pour mettre en évidence cette propriété, jouons avec la fonction id() qui renvoie l'identificateur unique d'un objet, cela correspond à l'adresse mémoire dans laquelle il est stocké.

+

Si l'identifiant est le même, c'est le même objet.

+


+

Vous allez vérifier cela dans la Console Python (interpréteur Python en mode interactif)

+


+

>>> a = 1
>>> id(a)

+


+

>>> a += 2
>>> print(a)

+


+

>>> id(a)

+


+

>>> b = a
>>> id(b)

+


+

Donner plusieurs noms à un même objet s'appelle l'aliasing, les variables a et b sont des alias l'une de l'autre. a et b pointent vers le même emplacement mémoire

+


+

>>> b = 5
>>> a

+


+

>>> b

+


+

>>> id(a)

+


+

>>> id(a)

+


+

Conclusion, l'aliasing se fait sans risque.

+


+
    +
  • Mutable
  • +
+

Un objet de type mutable peut être modifié et modifié in situ. Aucune copie implicite n'est faite.

+

Cette catégorie comprend: les listes, les dictionnaires, ...

+


+

>>> liste1 = []
>>> id(liste1)

+


+

>>> liste1.append('Nicolas')
>>> liste1

+


+

>>> id(liste1)

+


+

La valeur de liste peut être modifié mais liste ne change pas d'id.

+


+

Si un objet doit être souvent modifié, un type mutable est préférable qu'un type immuable d'un point de vue espace mémoire mais attention à l'aliasing par exemple:

+


+

>>> liste2 = liste1
>>> id(liste2)

+


+

>>> liste2.append(3)
>>> liste2

+

>>> liste1

+


+


+


+


+


+


+


+

+

Créé avec HelpNDoc Personal Edition: Générateur de documentation complet

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Lesbouclesinstructionsforwhile.html b/Activity_3_python/LangagePython_fonctions/Lesbouclesinstructionsforwhile.html new file mode 100644 index 0000000..d3e1ceb --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Lesbouclesinstructionsforwhile.html @@ -0,0 +1,181 @@ + + + + + + Les boucles (instructions for, while) + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Les boucles (instructions for, while)

+ + +
+ +
+ + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Une boucle permet d'exécuter une portion de code plusieurs fois de suite.

+
    +
  • Boucle non bornée
  • +
+


+
+ + + + + + + + + + + + + + + +

Séquence

+

Algorithme

+

Algorigramme

+


+


+

Répétitive ou itérative à condition initiale

+


+

TANT QUE la condition est vrai

+

             Faire “Traitement”

+

Fin TANT QUE

+

+


+


+

Répétitive ou itérative à condition finale

+


+

RÉPÉTER

+

             “Traitement”

+

JUSQU'À “Condition” vraie

+

+
+
+


+


+
    +
  • Boucle bornée
  • +
+


+
+ + + + + + + + + + +

Séquence

+

Algorithme

+

Algorigramme

+


+


+


+

Boucle avec comptage

+


+


+

POUR i allant de VI jusqu’à VF

+

        Faire “Traitement”

+

Fin POUR

+

+
+
+


+


+

+

Créé avec HelpNDoc Personal Edition: Créer des documents d'aide HTML facilement

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Lesconditionsinstructionsifelife.html b/Activity_3_python/LangagePython_fonctions/Lesconditionsinstructionsifelife.html new file mode 100644 index 0000000..1616e42 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Lesconditionsinstructionsifelife.html @@ -0,0 +1,152 @@ + + + + + + Les conditions (instructions if, elif, else) + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Les conditions (instructions if, elif, else)

+ + +
+ +
+ + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Les langages informatiques savent interpréter des expressions conditionnelles telles que :

+


+

• " Si la météo le permet alors je vais me promener, sinon je reste à la maison. "

+


+

         Structure conditionnelle ou alternative

+


+
+ + + + + + + + + + + + + + + +

Séquence

+

Algorithme

+

Algorigramme

+


+


+

Alternative partielle

+


+

SI la condition est vrai ALORS

+

            Faire “Traitement”

+

Fin SI

+

+


+


+

Alternative complète

+

SI l’expression est vrai ALORS

+

         Faire “Traitement 1”

+

SINON

+

         Faire “Traitement 2”

+

Fin SI

+

+
+
+


+

La condition peut être composée de plusieurs conditions combinées par les opérateurs logiques ET, OU, et NON.

+


+

+

Créé avec HelpNDoc Personal Edition: Générateur d'aides CHM gratuit

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Lesfonctions.html b/Activity_3_python/LangagePython_fonctions/Lesfonctions.html new file mode 100644 index 0000000..5599304 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Lesfonctions.html @@ -0,0 +1,114 @@ + + + + + + Les fonctions + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Les fonctions

+ + +
+ +
+ + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Nous avons déjà vu beaucoup de fonctions : print(), type(), len(), input(), range()...
Ce sont des fonctions pré-définies (built-in functions).
Nous avons aussi la possibilité de créer nos propres fonctions !

+

Intérêt des fonctions

+

Une fonction est une portion de code que l'on peut appeler au besoin (c'est une sorte de sous-programme).

+

L'utilisation des fonctions évite des redondances dans le code : on obtient ainsi des programmes plus courts et plus lisibles.

+

Par exemple, nous avons besoin de convertir à plusieurs reprises des degrés Celsius en degrés Fahrenheit :

+

>>> print(100.0*9.0/5.0 + 32.0)

>>> print(37.0*9.0/5.0 + 32.0)

>>> print(233.0*9.0/5.0 + 32.0)

+

La même chose en utilisant une fonction :

+

>>> def fahrenheit(degre_celsius):
        """ Conversion degré Celsius en degré Fahrenheit """
        print(degre_celsius*9.0/5.0 + 32.0)
>>> fahrenheit(100)

>>> fahrenheit(37)

>>> temperature = 233
>>> fahrenheit(temperature)

+

Rien ne vous oblige à définir des fonctions dans vos scripts, mais cela est tellement pratique qu'il serait improductif de s'en passer !

+

+

Créé avec HelpNDoc Personal Edition: Générateur de documentation et EPub gratuit

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Lesfonctionsmathematiques.html b/Activity_3_python/LangagePython_fonctions/Lesfonctionsmathematiques.html new file mode 100644 index 0000000..ddc0757 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Lesfonctionsmathematiques.html @@ -0,0 +1,128 @@ + + + + + + Les fonctions mathématiques + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Les fonctions mathématiques

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Sous Python, pour utiliser les fonctions mathématiques, il faut commencer par importer le module math :

+

>>> import math

+

Sous l'IDLE (Python GUI), la fonction dir() retourne la liste des fonctions et données d'un module :

+

>>> dir(math)
['__doc__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh', 'atan',
'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf',
'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum',
'gamma', 'hypot', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p',
'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']

+

Sous Edupython, vous trouverez la liste des fonctions dans l'onglet du bas nommé Variables

+

+

Pour appeler une fonction d'un module, la syntaxe est la suivante :
module.fonction(arguments)

+

Pour accéder à une donnée d'un module :
module.data

+

>>> print(math.pi)  # donnée pi du module math (nombre pi)

>>> print(math.sin(math.pi/4.0)) # fonction sin() du module math (sinus)

>>> print(math.sqrt(2.0))  # fonction sqrt() du module math (racine carrée)

>>> print(math.sqrt(-5.0))

>>> print(math.exp(-3.0))  # fonction exp() du module math (exponentielle)

>>> print(math.log(math.e))  # fonction log() du module math (logarithme népérien)

+

Pour simplifier, vous pouvez importer toutes les fonctions d'un module :

+

>>> from math import *

+

+

Vous devez privilégier uniquement l'importation des fonctions que vous souhaitez utiliser:

+

>>> from math import pi

+

 Utilisation d'un module en Python (vidéo)

+

+

Créé avec HelpNDoc Personal Edition: Générateur de documentations PDF gratuit

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Letypeboolbooleen.html b/Activity_3_python/LangagePython_fonctions/Letypeboolbooleen.html new file mode 100644 index 0000000..fb57ef7 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Letypeboolbooleen.html @@ -0,0 +1,181 @@ + + + + + + Le type bool (booléen) + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Le type bool (booléen)

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Deux valeurs sont possibles : True et False

+

>>> choix = True
>>> print(type(choix))

+

Les opérateurs de comparaison :

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Opérateur

+

Signification

+

Remarques

+

<

+

strictement inférieur

+

+

<=

+

inférieur ou égal

+

+

>

+

strictement supérieur

+

+

>=

+

supérieur ou égal

+

+

==

+

égal

+

Attention : deux signes ==

+

!=

+

différent

+

+
+
+

>>> b = 10
>>> print(b > 8)

>>> print(b == 5)

>>> print(b != 10)

>>> print(0 <= b <= 20)

+

Les opérateurs logiques : and, or, not

+

>>> note = 13.0
>>> mention_ab = note >= 12.0 and note < 14.0 # ou bien : mention_ab = 12.0 <= note < 14.0
>>> print(mention_ab)

>>> print(not mention_ab)

>>> print(note == 20.0 or note == 0.0)

+

L'opérateur in s'utilise avec des chaînes (type str) ou des listes (type list) :

+

>>> chaine = 'Bonsoir'
>>> # la sous-chaîne 'soir' fait-elle partie de la chaîne 'Bonsoir' ?
>>> resultat = 'soir' in chaine
>>> print(resultat)

>>> print('b' in chaine)

+

>>> maliste = [4, 8, 15]
>>> # le nombre entier 9 est-il dans la liste ?
>>> print(9 in maliste)

>>> print(8 in maliste)

>>> print(14 not in maliste)

+

+

Créé avec HelpNDoc Personal Edition: Générateur de documentation et EPub facile

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Letypedictdictionnaire.html b/Activity_3_python/LangagePython_fonctions/Letypedictdictionnaire.html new file mode 100644 index 0000000..9b46360 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Letypedictdictionnaire.html @@ -0,0 +1,115 @@ + + + + + + Le type dict (dictionnaire) + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Le type dict (dictionnaire)

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Un dictionnaire stocke des données sous la forme clé ⇒ valeur
Une clé est unique et n'est pas nécessairement un entier (comme c'est le cas de l'indice d'une liste).

+

>>> moyennes = {'math': 12.5, 'anglais': 15.8} # entre accolades
>>> print(type(moyennes))

>>> print(moyennes['anglais'])  # entre crochets

>>> moyennes['anglais'] = 14.3  # nouvelle affectation
>>> print(moyennes)

>>> moyennes['sport'] = 11.0  # nouvelle entrée
>>> print(moyennes)

+

+

Créé avec HelpNDoc Personal Edition: Créer des documentations web iPhone

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Letypefloatnombresenvirguleflott.html b/Activity_3_python/LangagePython_fonctions/Letypefloatnombresenvirguleflott.html new file mode 100644 index 0000000..0e72176 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Letypefloatnombresenvirguleflott.html @@ -0,0 +1,152 @@ + + + + + + Le type float (nombres en virgule flottante) + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Le type float (nombres en virgule flottante)

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

>>> b = 17.0  # le séparateur décimal est un point (et non une virgule)
>>> print(b)

>>> print(type(b))

+

>>> c = 14.0/3.0
>>> print(c)

+

>>> c = 14.0//3.0 # division entière
>>> print(c)

+

Attention: il faut éviter de faire des divisions entières sur des nombres négatifs

+

>>> print(7//3)

+

>>> print(-7//3)

+

Attention : avec des nombres entiers, l'opérateur / fait une division classique et retourne toujours un type float :

+

>>> c = 12/3
>>> print(c)

+

Notation scientifique :

+

>>> a = -1.784892e4
>>> print(a)

+

Entre deux nombres donnés, par exemple entre 1 et 4, ou entre 3,5 et 3,6 ou entre – 10,36 et – 10,34… il existe une infinité d’autres nombres. Certaines sont des entiers, comme 2 ou 3, certains sont des décimaux comme 1,5 ou 2,3, d’autres sont des rationnels comme 4/3, d’autres sont des irrationnels comme .

+


+

Nous allons voir qu’en machine, certains nombres sont stockés de manière exacte et d’autre de manière approchée.

+


+
    +
  • Calculer 0,1 + 0,2 en langage Python.
  • +
+

Expliquer pourquoi le résultat n’est pas celui attendu

+


+

On peut tester l’égalité de 0,1 + 0,2 avec 0,3

+


+

>>> print (0.1+0.2 == 0.3)

+

Il faut éviter de tester l’égalité de deux flottants.

+


+

• La fonction « float() » permet de convertir un entier en flottant.

+

>>> print (float(5))

+

• La fonction « int()» permet de convertir un flottant en entier.

+

>>> print (int(4.8))

+

À tester avec des nombres positifs ou négatifs pour voir comment la valeur est obtenue (tronquée ? arrondie ?).

+


+

La fonction « print ()» permet d’afficher des flottants en indiquant le nombre de chiffres à afficher après la virgule à l’aide de la chaîne "%.2f" %x dans laquelle le nombre devant f donne le nombre de décimales et x est le nombre à afficher.

+

>>> x = 0.123456
>>> print(x)

+

>>> print("%.2f" %x)

+

• Il faut être prudent avec les arrondis.

+


+

>>> print("%.2f" %0.1)

+

>>> print("%.20f" %0.1)

+

>>> print("%.20f" %0.125)

+

>>> print(1.2*3)

+

+

Créé avec HelpNDoc Personal Edition: Générateur complet de livres électroniques ePub

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Letypeintintegernombresentiers.html b/Activity_3_python/LangagePython_fonctions/Letypeintintegernombresentiers.html new file mode 100644 index 0000000..0e51d49 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Letypeintintegernombresentiers.html @@ -0,0 +1,160 @@ + + + + + + Le type int (integer: nombres entiers) + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Le type int (integer: nombres entiers)

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Depuis EduPython (IDLE PyScripter), saisir ces lignes de programme dans la Console Python (interpréteur Python en mode interactif)

+

Pour affecter (on dit aussi assigner) la valeur 16 à la variable nommée age :

+

+

Afin que vous gardiez une trace de votre travail, saisir les différentes lignes de programme dans la zone de saisie puis exécuter  pour voir le résultat dans la console Python.

+

+

Désormais vous devrez utiliser la fonction print() pour afficher la valeur de la variable :

+

Remarque: Il est possible en langage Python de réaliser des affectations multiples:

+

>>> a,b = 2,3

+

>>> print(a)  

+

>>> print(b)

+

En programmation, le codage de la variable diffère en fonction de la donnée utilisée (booléen, nombre entiers, nombre à virgule, caractères...). On parle alors de type de variable.

+

En langage Python, le typage est dynamique ce qui signifie que c’est l’instruction d’affectation qui va définir le type de la variable.

+


+

La fonction type() retourne le type de la variable :

+

>>> print(type(age))

+

int est le type des nombres entiers.

+

>>> x=0b11111011101
>>> print(x)

+

>>> y=0x7DD
>>> print(y)

+

Rappel:

+

La notation « 0b… »  indique que la valeur du nombre est en binaire.

+

La notation « 0x… »  indique que la valeur du nombre est en hexadécimal.

+


+
    +
  • On peut convertir un nombre en binaire en utilisant la fonction « bin() ». Par exemple:
  • +
+

>>> binaire=bin(25)
>>> print(binaire)

+
    +
  • On peut convertir un nombre en décimal en écrivant simplement sa valeur.
  • +
+

>>> decimal=0x1FA
>>> print(decimal)

+
    +
  • On peut convertir un nombre en hexadécimal en utilisant la fonction « hex() ».
  • +
+

>>> hexadecimal=hex(506)
>>> print(hexadecimal)

+


+

Commenter et documenter son programme sont essentiels pour maintenir un code clair et pour faciliter la collaboration avec d'autres personnes. Cette pratique de programmation permet également de se rappeler ultérieurement l'utilité de telle ou telle variable, méthode, etc...

+

>>> # ceci est un commentaire
>>> age = age + 1 # en plus court : age += 1
>>> print(age)

>>> age = age - 3 # en plus court : age -= 3
>>> print(age)

>>> age = age*2  # en plus court : age *= 2
>>> print(age)

+

>>> a = 6*3 - 20
>>> print(a)

+

>>> b = 25
>>> c = a + 2*b
>>> print(b, c)          # ne pas oublier la virgule

+

L'opérateur // donne la division entière :

+

>>> tour = 450//360
>>> print(tour)

+

L'opérateur % donne le reste de la division (opération modulo) :

+

>>> angle = 450%360
>>> print(angle)

+

L'opérateur ** donne la puissance :

+

>>> mo = 2**20
>>> print(mo)

>>> racine2 = 2**0.5
>>> print(racine2)

+


+


+

+

Créé avec HelpNDoc Personal Edition: Qu'est-ce qu'un outil de création d'aide ?

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Letypelistliste.html b/Activity_3_python/LangagePython_fonctions/Letypelistliste.html new file mode 100644 index 0000000..f0c25c0 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Letypelistliste.html @@ -0,0 +1,121 @@ + + + + + + Le type list (liste) + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Le type list (liste)

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Une liste est une structure de données.
Le premier élément d'une liste possède l'indice (l'index) 0.
Dans une liste, on peut avoir des éléments de plusieurs types.

+

>>> infoperso = ['Pierre', 'Dupont', 17, 1.75, 72.5]
>>> # la liste infoperso contient 5 éléments de types str, str, int, float et float
>>> print(type(infoperso))

>>> print(infoperso)

>>> print('Prénom : ', infoperso[0])   # premier élément (indice 0)

>>> print('Age : ', infoperso[2])   # le troisième élément a l'indice 2

>>> print('Taille : ', infoperso[3])   # le quatrième élément a l'indice 3

+

La fonction range() crée une liste d'entiers régulièrement espacés :

+

>>> maliste = range(10)
>>> print(list(maliste))

>>> print(type(maliste))

+

>>> maliste = range(1,10,2) # range(début,fin non comprise,intervalle)
>>> print(list(maliste))

>>> print(maliste[2])  # le troisième élément a l'indice 2

+

On peut créer une liste de listes, qui s'apparente à un tableau à 2 dimensions (ligne, colonne) :

+

 0  1  2
10 11 12
20 21 22

+

>>> maliste = [[0, 1, 2], [10, 11, 12], [20, 21, 22]]
>>> print(maliste[0])

>>> print(maliste[0][0])

>>> print(maliste[2][1])  # élément à la troisième ligne et deuxième colonne

>>> maliste[2][1] = 69  # nouvelle affectation
>>> print(maliste)

+

+

Créé avec HelpNDoc Personal Edition: Nouvelles et informations sur les outils de logiciels de création d'aide

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Letypestrstringchainedecaractere.html b/Activity_3_python/LangagePython_fonctions/Letypestrstringchainedecaractere.html new file mode 100644 index 0000000..ef61bcc --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Letypestrstringchainedecaractere.html @@ -0,0 +1,134 @@ + + + + + + Le type str (string : chaîne de caractères) + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Le type str (string : chaîne de caractères)

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

>>> nom = 'Dupont'  # entre apostrophes
>>> print(nom)

>>> print(type(nom))

>>> prenom = "Pierre"  # on peut aussi utiliser les guillemets
>>> print(prenom)

>>> print(nom, prenom)  # ne pas oublier la virgule

+

La concaténation désigne la mise bout à bout de plusieurs chaînes de caractères.
La concaténation utilise l'opérateur +

+

>>> chaine = nom + prenom # concaténation de deux chaînes de caractères
>>> print(chaine)

>>> chaine = prenom + nom # concaténation de deux chaînes de caractères
>>> print(chaine)

>>> chaine = prenom + ' ' + nom
>>> print(chaine)

>>> chaine = chaine + ' 18 ans' # en plus court : chaine += ' 18 ans'
>>> print(chaine)

+

La fonction len() retourne la longueur (length) de la chaîne de caractères :

+

>>> print(len(chaine))

+

Indexage et slicing :

+

>>> print(chaine[0])  # premier caractère (indice 0)

>>> print(chaine[1]) # deuxième caractère (indice 1)

>>> print(chaine[1:4]) # slicing

>>> print(chaine[2:]) # slicing

>>> print(chaine[-1]) # dernier caractère (indice -1)

>>> print(chaine[-6:]) # slicing

+

En résumé :

+

 +---+---+---+---+---+---+
 | M | u | r | i | e | l |
 +---+---+---+---+---+---+
 0   1   2   3   4   5   6
-6  -5  -4  -3  -2  -1

+


+

>>> chaine = 'Aujourd'hui'
SyntaxError: invalid syntax
>>> chaine  = 'Aujourd\'hui'  # séquence d'échappement \'
>>> print(chaine)

>>> chaine  = "Aujourd'hui"
>>> print(chaine)

+

La séquence d'échappement \n représente un saut ligne :

+

>>> chaine = 'Première ligne\nDeuxième ligne'
>>> print(chaine)

+

Plus simplement, on peut utiliser les triples guillemets (ou les triples apostrophes) pour encadrer une chaîne définie sur plusieurs lignes :

+

>>> chaine = """Première ligne
Deuxième ligne"""
>>> print(chaine)

+

On ne peut pas mélanger les serviettes et les torchons (ici type str et type int) :

+

>>> chaine = '17.45'
>>> print(type(chaine))

>>> chaine = chaine + 2

+

La fonction float() permet de convertir un type str en type float

+

>>> nombre = float(chaine)
>>> print(nombre)

>>> print(type(nombre))

>>> nombre = nombre + 2  # en plus court : nombre += 2
>>> print(nombre)

+

La fonction input() lance une invite de commande (en anglais : prompt) pour saisir une chaîne de caractères.

+

>>> # saisir une chaîne de caractères et valider avec la touche Enter
>>> chaine = input("Entrer un nombre : ")
Entrer un nombre : 14.56
>>> print(chaine)

>>> print(type(chaine))

>>> nombre = float(chaine) # conversion de type
>>> print(nombre**2)

+

+

Créé avec HelpNDoc Personal Edition: Générateur facile de livres électroniques et documentation

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Letypetuple.html b/Activity_3_python/LangagePython_fonctions/Letypetuple.html new file mode 100644 index 0000000..b42dbbb --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Letypetuple.html @@ -0,0 +1,113 @@ + + + + + + Le type tuple + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Le type tuple

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

+

Créé avec HelpNDoc Personal Edition: Création d'aide CHM, PDF, DOC et HTML d'une même source

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Linstructiondef.html b/Activity_3_python/LangagePython_fonctions/Linstructiondef.html new file mode 100644 index 0000000..7c3e4d2 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Linstructiondef.html @@ -0,0 +1,115 @@ + + + + + + L'instruction def + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

L'instruction def

+ + +
+ Les fonctions ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Syntaxe

+

def nom_de_la_fonction(parametre1, parametre2, parametre3, ...):
    """ Documentation
qu'on peut écrire
sur plusieurs lignes """ # docstring entouré de 3 guillemets (ou apostrophes)
    bloc d'instructions  # attention à l'indentation
    return resultat   # la fonction retourne le contenu de la variable resultat

+

+

Créé avec HelpNDoc Personal Edition: Générateur de documentation et EPub gratuit

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Linstructionelif.html b/Activity_3_python/LangagePython_fonctions/Linstructionelif.html new file mode 100644 index 0000000..3ab208d --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Linstructionelif.html @@ -0,0 +1,129 @@ + + + + + + L'instruction elif + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

L'instruction elif

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Une instruction elif (contraction de else if) est toujours associée à une instruction if

+

Syntaxe

+

if expression 1:
    bloc d'instructions 1
elif expression 2:
    bloc d'instructions 2
elif expression 3:
    bloc d'instructions 3 # ici deux instructions elif, mais il n'y a pas de limitation
else:
    bloc d'instructions 4
# suite du programme

+

Si l'expression 1 est vraie alors le bloc d'instructions 1 est exécuté, et on passe à la suite du programme.
Si l'expression 1 est fausse alors on teste l'expression 2 :

+
    +
  • si l'expression 2 est vraie on exécute le bloc d'instructions 2, et on passe à la suite du programme.
  • +
  • si l'expression 2 est fausse alors on teste l'expression 3, etc.
  • +
+

Le bloc d'instructions 4 est donc exécuté si toutes les expressions sont fausses (c'est le bloc "par défaut").

+

Parfois il n'y a rien à faire.
Dans ce cas, on peut omettre l'instruction else:

+

if expression 1:
    bloc d'instructions 1
elif expression 2:
    bloc d'instructions 2
elif expression 3:
    bloc d'instructions 3
# suite du programme

+

L'instruction elif évite souvent l'utilisation de conditions imbriquées (et souvent compliquées).

+

Exemple

+

# script Condition5.py
# ce script fait la même chose que Condition4.py
note = float(input("Note sur 20 : "))
if note == 0.0:
    print("C'est en dessous de la moyenne")
    print("... lamentable !")
elif note == 20.0:
    print("J'ai la moyenne")
    print("C'est même excellent !")
elif note < 10.0 and note > 0.0: # ou bien : elif 0.0 < note < 10.0:
    print("C'est en dessous de la moyenne")
elif note >= 10.0 and note < 20.0: # ou bien : elif 10.0 <= note < 20.0:
    print("J'ai la moyenne")
else:
    print("Note invalide !")
print("Fin du programme")

+

Exécuter  et tester

+


+

+

Créé avec HelpNDoc Personal Edition: Générateur de documentation complet

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Linstructionelse.html b/Activity_3_python/LangagePython_fonctions/Linstructionelse.html new file mode 100644 index 0000000..45235ca --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Linstructionelse.html @@ -0,0 +1,125 @@ + + + + + + L'instruction else + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

L'instruction else

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Une instruction else est toujours associée à une instruction if

+

Syntaxe

+

if expression:
    bloc d'instructions 1  # attention à l'indentation
else:     # else est au même niveau que if
    bloc d'instructions 2  # attention à l'indentation
# suite du programme

+

Si l'expression est vraie (True) alors le bloc d'instructions 1 est exécuté.
Si l'expression est fausse (False) alors c'est le bloc d'instructions 2 qui est exécuté.

+

# script Condition2.py
chaine = input("Note sur 20 : ")
note = float(chaine)
if note >= 10.0:
    # ce bloc est exécuté si l'expression (note >= 10.0) est vraie
    print("J'ai la moyenne")
else:
    # ce bloc est exécuté si l'expression (note >= 10.0) est fausse
    print("C'est en dessous de la moyenne")
print("Fin du programme")

+

Exécuter   et tester

+

Pour traiter le cas des notes invalides (<0 ou >20), on peut imbriquer des instructions conditionnelles :

+

# script Condition3.py
chaine = input("Note sur 20 : ")
note = float(chaine)
if note > 20.0 or note < 0.0:
    # ce bloc est exécuté si l'expression (note > 20.0 or note < 0.0) est vraie
    print("Note invalide !")
else:
    # ce bloc est exécuté si l'expression (note > 20.0 or note < 0.0) est fausse
    if note >= 10.0:
        # ce bloc est exécuté si l'expression (note >= 10.0) est vraie
        print("J'ai la moyenne")
    else:
        # ce bloc est exécuté si l'expression (note >= 10.0) est fausse
        print("C'est en dessous de la moyenne")
print("Fin du programme")

+

Exécuter  et tester

+

On ajoute encore un niveau d'imbrication pour traiter les cas particuliers 0 et 20 :

+

# script Condition4.py
chaine = input("Note sur 20 : ")
note = float(chaine)
if note > 20.0 or note < 0.0:
    print("Note invalide !")
else:
    if note >= 10.0:
        print("J'ai la moyenne")
        if note == 20.0:
            # ce bloc est exécuté si l'expression (note == 20.0) est vraie
            print("C'est même excellent !")
    else:
        print("C'est en dessous de la moyenne")
        if note == 0.0:
            # ce bloc est exécuté si l'expression (note == 0.0) est vraie
            print("... lamentable !")
print("Fin du programme")

+

Exécuter  et tester

+

+

Créé avec HelpNDoc Personal Edition: Créer des documents d'aide PDF facilement

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Linstructionfor.html b/Activity_3_python/LangagePython_fonctions/Linstructionfor.html new file mode 100644 index 0000000..b31e876 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Linstructionfor.html @@ -0,0 +1,140 @@ + + + + + + L'instruction for + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

L'instruction for

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Syntaxe

+

for élément in séquence :
    bloc d'instructions
# suite du programme

+

Les éléments de la séquence sont issus d'une chaîne de caractères ou bien d'une liste.

+

Exemple avec une séquence de caractères

+

# script Boucle4.py
chaine = 'Bonsoir'
for lettre in chaine:  # lettre est la variable d'itération
    print(lettre)
print("Fin de la boucle")

+

Exécuter  

+

La variable lettre est initialisée avec le premier élément de la séquence ('B').
Le bloc d'instructions est alors exécuté.
Puis la variable lettre est mise à jour avec le second élément de la séquence ('o') et le bloc d'instructions à nouveau exécuté...
Le bloc d'instructions est exécuté une dernière fois lorsqu'on arrive au dernier élément de la séquence ('r') :

+

Exemple avec les éléments d'une liste

+

# script Boucle5.py
maliste = ['Pierre', 67.5, 18]
for element in maliste:
    print(element)
print("Fin de la boucle")

+

Exécuter   et tester

+

Là, on affiche dans l'ordre les éléments de la liste :

+

Fonction range()

+

L'association avec la fonction range() est très utile pour créer des séquences automatiques de nombres entiers :

+

# script Boucle6.py
print(list(range(1,5)))
for i in range(1,5):
    print(i)
print("Fin de la boucle")

+

>>>
[1, 2, 3, 4]
1
2
3
4
Fin de la boucle

+

Table de multiplication

+

La création d'une table de multiplication paraît plus simple avec une boucle for qu'avec une boucle while :

+

# script Boucle7.py
for compteur in range(1,11):
    print(compteur, '* 9 =', compteur*9)
print("Et voilà !")

+

Exécuter  

+

L'instruction break

+

L'instruction break provoque une sortie immédiate d'une boucle while ou d'une boucle for.

+

Dans l'exemple suivant, l'expression True est toujours ... vraie : on a une boucle sans fin.
L'instruction break est donc le seul moyen de sortir de la boucle.

+

Affichage de l'heure courante

+

# script Boucle8.py
import time     # importation du module time
while True:
    # strftime() est une fonction du module time
    print('Heure courante ', time.strftime('%H:%M:%S'))
    quitter = input('Voulez-vous quitter le programme (o/n) ? ')
    if quitter == 'o':
        break
print("A bientôt")

+

Exécuter   et tester

+

Astuce

+

Si vous connaissez le nombre de boucles à effectuer, utiliser une boucle for.
Autrement, utiliser une boucle while (notamment pour faire des boucles sans fin).

+

+

Créé avec HelpNDoc Personal Edition: Générateur de documentation complet

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Linstructionif.html b/Activity_3_python/LangagePython_fonctions/Linstructionif.html new file mode 100644 index 0000000..31e40f7 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Linstructionif.html @@ -0,0 +1,122 @@ + + + + + + L'instruction if + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

L'instruction if

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

+

Syntaxe

+

if expression:   # ne pas oublier le signe de ponctuation ':'
    bloc d'instructions  # attention à l'indentation
# suite du programme

+

Si l'expression est vraie (True) alors le bloc d'instructions est exécuté.
Si l'expression est fausse (False) on passe directement à la suite du programme.

+

Nous allons commencer par créer le script Condition1.py :

+

+

# script Condition1.py
chaine = input("Note sur 20 : ")
note = float(chaine)
if note >= 10.0:
    # ce bloc est exécuté si l'expression (note >= 10.0) est vraie
    print("J'ai la moyenne")
print("Fin du programme")

+

Pour exécuter le script :
Cliquer sur exécuter  (ou touche Ctrl + F9) et tester.

+


+

+

Créé avec HelpNDoc Personal Edition: Créer facilement des fichiers Qt Help

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Linstructionwhile.html b/Activity_3_python/LangagePython_fonctions/Linstructionwhile.html new file mode 100644 index 0000000..ed1c1fc --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Linstructionwhile.html @@ -0,0 +1,126 @@ + + + + + + L'instruction while + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

L'instruction while

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

+

Syntaxe

+

while expression:  # ne pas oublier le signe de ponctuation ':'
    bloc d'instructions  # attention à l'indentation
# suite du programme

+

Si l'expression est vraie (True) le bloc d'instructions est exécuté, puis l'expression est à nouveau évaluée.
Le cycle continue jusqu'à ce que l'expression soit fausse (False) : on passe alors à la suite du programme.

+

Exemple : un script qui compte de 1 à 4

+

# script Boucle1.py
# initialisation de la variable de comptage
compteur = 1
while compteur < 5:
    # ce bloc est exécuté tant que la condition (compteur < 5) est vraie
    print(compteur, compteur < 5)
    compteur += 1    # incrémentation du compteur, compteur = compteur + 1
print(compteur < 5)
print("Fin de la boucle")

+

Exécuter  

+

Table de multiplication par 8

+

# script Boucle2.py
compteur = 1 # initialisation de la variable de comptage
while compteur <= 10:
    # ce bloc est exécuté tant que la condition (compteur <= 10) est vraie
    print(compteur, '* 8 =', compteur*8)
    compteur += 1    # incrémentation du compteur, compteur = compteur + 1
print("Et voilà !")

+

Exécuter  

+

Affichage de l'heure courante

+

# script Boucle3.py
import time     # importation du module time
quitter = 'n'   # initialisation
while quitter != 'o':
    # ce bloc est exécuté tant que la condition est vraie
    # strftime() est une fonction du module time
    print('Heure courante ', time.strftime('%H:%M:%S'))
    quitter = input("Voulez-vous quitter le programme (o/n) ? ")
print("A bientôt")

+

Exécuter   et tester

+

+

Créé avec HelpNDoc Personal Edition: Produire des livres EPub gratuitement

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Nomsdevariables.html b/Activity_3_python/LangagePython_fonctions/Nomsdevariables.html new file mode 100644 index 0000000..d623293 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Nomsdevariables.html @@ -0,0 +1,126 @@ + + + + + + Noms de variables + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Noms de variables

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Identificateur:

+


+

Le nom d'une variable s'écrit avec des lettres (non accentuées), des chiffres ou bien l'underscore _

+


+

Le nom d'une variable ne doit pas commencer par un chiffre.

+


+

En langage Python, l'usage est de ne pas utiliser de lettres majuscules pour nommer les variables (celles-ci sont réservées pour nommer les classes).

+


+

Il est préférable d'utiliser des noms évocateurs

+


+

Exemple : age, mon_age, temperature1

+


+

A éviter : Age, AGE, MonAge, monAge, Temperature1

+

+

Créé avec HelpNDoc Personal Edition: Éditeur de documentation CHM facile

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Porteedevariablesvariablesglobal.html b/Activity_3_python/LangagePython_fonctions/Porteedevariablesvariablesglobal.html new file mode 100644 index 0000000..1574b30 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Porteedevariablesvariablesglobal.html @@ -0,0 +1,127 @@ + + + + + + Portée de variables: variables globales et locales + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Portée de variables: variables globales et locales

+ + +
+ Les fonctions ›› +
+ +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

La portée d'une variable est l'endroit du programme où on peut accéder à la variable.

+

Observons le script suivant :

+

a = 10  # variable globale au programme
def mafonction():
    a = 20 # variable locale à la fonction
    print(a)
    return

+

>>> print(a)  # nous sommmes dans l'espace global du programme

>>> mafonction() # nous sommes dans l'espace local de la fonction

>>> print(a)  # de retour dans l'espace global

+

Nous avons deux variables différentes qui portent le même nom a

+

Une variable a de valeur 20 est créée dans la fonction : c'est une variable locale à la fonction.
Elle est détruite dès que l'on sort de la fonction.

+

global

+

L'instruction global rend une variable globale :

+

a = 10  # variable globale
def mafonction():
    global a # la variable est maintenant globale
    a = 20
    print(a)
    return

+

>>> print(a)

>>> mafonction()

>>> print(a)

+

Remarque : il est préférable d'éviter l'utilisation de l'instruction global car c'est une source d'erreurs (on peut ainsi modifier le contenu d'une variable globale en croyant agir sur une variable locale).
La sagesse recommande donc de suivre la règle suivante :

+
    +
  • ne jamais affecter dans un bloc de code local une variable de même nom qu'une variable globale
  • +
+

+

Créé avec HelpNDoc Personal Edition: Environnement de création d'aide complet

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Preambule.html b/Activity_3_python/LangagePython_fonctions/Preambule.html new file mode 100644 index 0000000..cd55ebc --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Preambule.html @@ -0,0 +1,134 @@ + + + + + + Préambule + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Préambule

+ + +
+ +
+ + + Next + + +
+ +
+
+ + +
+ +

+

+

Le langage Python est un langage de programmation objet interprété. Il a été développé par Guido Von Rossum à partir de 1989 à l’Université d’Amsterdam.

+

+

Python est un langage multiplateforme, c'est-à-dire disponible sur plusieurs architectures (compatible PC, tablettes, smartphones, ordinateur low cost Raspberry Pi...) et systèmes d'exploitation (Windows, Linux, Mac, Android...).

+


+

Le langage Python est gratuit, sous licence libre.

+


+

C'est un des langages informatiques les plus populaires avec C, C++, C#, Objective-C, Java, PHP, JavaScript, Delphi, Visual Basic, Ruby et Perl (liste non exhaustive).

+


+

Actuellement, Python en est à sa version 3 depuis 2008.

+

Attention : Python 2 n'est pas compatible avec Python 3 !

+


+

Que peut-on faire avec Python ?

+

Beaucoup de choses !

+


+
    +
  • du calcul scientifique (librairie NumPy)
  • +
  • des graphiques (librairie matplotlib)
  • +
  • du traitement du son, de la synthèse vocale (librairie eSpeak)
  • +
  • du traitement d'image (librairie PIL), de la vision artificielle par caméra (framework SimpleCV)
  • +
  • de la bio-informatique (librairie Biopython)
  • +
  • des applications avec interface graphique GUI (librairies Tkinter, PyQt, wxPython, PyGTK...)
  • +
  • des jeux vidéo en 2D (librairie Pygame)
  • +
  • des applications multi-touch (framework kivy pour tablette et smartphone à écran tactile)
  • +
  • des applications Web (serveur Web Zope ; frameworks Web Flask, Django)
  • +
  • interfacer des systèmes de gestion de base de données (librairie MySQLdb...)
  • +
  • des applications réseau (framework Twisted)
  • +
  • communiquer avec des ports série (librairie PySerial), en Bluetooth (librairie pybluez)...
  • +
+

...

+

Des dizaines de milliers de librairies sont disponibles sur le dépôt officiel PyPI.

+


+


+

+

Créé avec HelpNDoc Personal Edition: Générateur de documentation et EPub facile

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/ProgrammationOrienteeObjetPOO.html b/Activity_3_python/LangagePython_fonctions/ProgrammationOrienteeObjetPOO.html new file mode 100644 index 0000000..d80a01c --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/ProgrammationOrienteeObjetPOO.html @@ -0,0 +1,129 @@ + + + + + + Programmation Orientée Objet (POO) + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Programmation Orientée Objet (POO)

+ + + + +
+ +
+ + + Parent + + + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Python est un langage de programmation orienté objet (comme les langages C++, Java, PHP, Ruby...).
Une variable est en fait un objet d'une certaine classe.

+

Tous les types du langage python sont également des objets.

+

Par exemple, la variable amis est un objet de la classe list.
On dit aussi que la variable amis est une instance de la classe list.
L'instanciation (action d'instancier) est la création d'un objet à partir d'une classe.

+

>>> # instanciation de l'objet amis de la classe list
>>> amis = ['Nicolas', 'Julie'] # ou bien : amis = list(['Nicolas', 'Julie'])
>>> print(type(amis))

+

Une classe possède des fonctions que l'on appelle méthodes et des données que l'on appelle attributs.

+

La méthode append() de la classe list ajoute un nouvel élément en fin de liste :

+

>>> # instanciation d'une liste vide
>>> amis = []   # ou bien : amis = list()
>>> amis.append('Nicolas') # synthase générale : objet.méthode(arguments)
>>> print(amis)

>>> amis.append('Julie') # ou bien : amis = amis + ['Julie']
>>> print(amis)

>>> amis.append('Pauline')
>>> print(amis)

+

>>> amis.sort()   # la méthode sort() trie les éléments
>>> print(amis)

+

>>> amis.reverse()  # la méthode reverse() inverse la liste des éléments
>>> print(amis)

+

La méthode lower() de la classe str retourne la chaîne de caractères en casse minuscule :

+

>>> # la variable chaine est une instance de la classe str
>>> chaine = "BONJOUR"  # ou bien : chaine = str("BONJOUR")
>>> chaine2 = chaine.lower() # on applique la méthode lower() à l'objet chaine
>>> print(chaine2)

>>> print(chaine)

+

La méthode pop() de la classe dict supprime une clé :

+

>>> # instanciation de l'objet moyennes de la classe dict
>>> moyennes = {'sport': 11.0, 'anglais': 14.3, 'math': 12.5}
>>> # ou : moyennes = dict({'sport': 11.0, 'anglais': 14.3, 'math': 12.5})
>>> moyennes.pop('anglais')

>>> print(moyennes)

+

>>> print(moyennes.keys())  # la méthode keys() retourne la liste des clés

+

>>> print(moyennes.values())  # la méthode values() retourne la liste des valeurs

+


+

+

Créé avec HelpNDoc Personal Edition: Générateur d'aides CHM gratuit

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Scripts.html b/Activity_3_python/LangagePython_fonctions/Scripts.html new file mode 100644 index 0000000..e275071 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Scripts.html @@ -0,0 +1,132 @@ + + + + + + Scripts + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Scripts

+ + +
+ +
+ + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Scripts

+

Un programme (code source) est une séquence d'instructions.

+

Dans le cas d'un programme en langage Python, on parle souvent de script Python.

+


+

Un script se présente sous la forme d'un fichier texte avec l'extension .py

+


+

Voici un exemple de script Python :

+

Bonjour.py

+

Télécharger le et copier le dans votre dossier de travail

+


+

Le code source d'un script s'ouvre avec un éditeur de texte

+

+

Démarrer l'IDLE Edupython

+

L'IDLE muni d'un interpréteur permettra d'exécuter le script.

+


+

Ouvrir le script depuis Edupython.

+

Une fois chargé, 2 solutions s'offrent à vous pour l'exécuter:

+
    +
  1. Soit vous cliquez sur l'icône Exécuter  ou (Ctrl + F9)
  2. +
  3. Soit vous appelez le script dans la Console Python (interpréteur Python en mode interactif)
  4. +
+

+


+


+

+


+


+

+

Créé avec HelpNDoc Personal Edition: Environnement de création d'aide complet

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/Variablestypesetoperateurs.html b/Activity_3_python/LangagePython_fonctions/Variablestypesetoperateurs.html new file mode 100644 index 0000000..693712e --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/Variablestypesetoperateurs.html @@ -0,0 +1,136 @@ + + + + + + Variables, types et opérateurs + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Variables, types et opérateurs

+ + +
+ +
+ + + Previous + + + + Next + + +
+ +
+
+ + +
+ +

+

Notion de variables

+


+

Lorsque l’on écrit un programme informatique, on va manipuler des données comme des nombres entiers, des nombres à virgules, des chaînes de caractères.

+


+

Pour pouvoir manipuler facilement toutes ces données, on va les mémoriser, les stocker dans des variables, ce qui revient à les « ranger dans une boîte » et on va leur donner un nom, « coller une étiquette dessus ».

+

+


+

Le processeur sait très bien utiliser ces « boites  » mémoires (c’est même son travail principal).

+


+

Déclarer une variable permet de réserver un espace mémoire volatile (cache, vive) dans lequel il est possible de stocker une valeur (une donnée), pour la réutiliser ou la modifier plus tard.

+


+

L’instruction d'affectation est l’action d'associer une valeur à cette variable.

+


+

En Python une affectation est effectuée avec le signe « = », la variable étant écrite en premier et le contenu qu’elle doit prendre étant écrit en deuxième.

+


+

Exemple:

+


+

x = 5                #On affecte à la variable nommée x la valeur 5

+

+


+

Remarque:

+
    +
  • Une affectation dans une variable peut faire appel à la variable elle-même.
  • +
+

Par exemple a = a + 1 peut se traduire par : la variable a prend la valeur (actuelle) de a , + 1.

+
    +
  • En informatique, « a = b » ne veut pas dire la même chose que « b = a ».
  • +
+


+


+


+

+

Créé avec HelpNDoc Personal Edition: Créer des livres électroniques facilement

+ +
+ + + + + + + + + + + diff --git a/Activity_3_python/LangagePython_fonctions/css/base.css b/Activity_3_python/LangagePython_fonctions/css/base.css new file mode 100644 index 0000000..bd22c80 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/css/base.css @@ -0,0 +1,112 @@ +body { + background-color: #fff; + overflow: auto; + width: 100%; +} + +.clear { + border: 0; + clear: both; + margin: 0; + padding: 0; +} + +#topic_header, #topic_footer, +#toc_header, #toc_footer { + padding: 10px; +} + +#topic_content, +#toc_content{ + margin: 10px; +} + +/* Backgrounds */ + +#topic_header { + background: #fff url(../img/header-bg.png) repeat-x left top; + border-bottom: 1px solid #ccc; + margin-bottom: 15px; +} + +#topic_footer{ + background: #fff url(../img/footer-bg.png) repeat-x left top; + margin-top: 20px; +} + +/* Topic */ + +#topic_header #topic_header_content { + float: left; +} + +#topic_header #topic_header_nav { + float: right; +} + +#topic_header #topic_header_nav img { + margin-left: 5px; +} + +#topic_header a, +#topic_footer a, +#search_results a, +#popupMenu a { + color: #333; + text-decoration: none; +} + +#topic_header a:hover, +#topic_footer a:hover, +#search_results a:hover, +#popupMenu a:hover{ + text-decoration: underline; +} + +#topic_header h1 { + color: #333; + font-size: 18px; +} + +#topic_footer { + font-size: 11px; +} + +#topic_breadcrumb { + color: #333; + font-size: 11px; +} + +/* Popup */ + +#popupMenu { + background-color: #eee; + border: 1px solid #999; + position: absolute; + padding: 5px; + webkit-box-shadow: 0px 0px 5px #cccccc; + -moz-box-shadow: 0px 0px 5px #cccccc; + box-shadow: 0px 0px 5px #cccccc; +} + +#popupMenu a{ + display: block; + margin: 5px 10px 2px 5px; +} + +.close-button{ + color: #666; + cursor: hand; + cursor: pointer; + float: right; + font-size: 10px; + position: relative; + top: -5px; + right: -3px; +} + +/* Search highlight */ + +.highlight { + background-color: yellow; +} \ No newline at end of file diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/0.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/0.png new file mode 100644 index 0000000000000000000000000000000000000000..0189cda7da0a425f8cc153e19433a2e83cc06b51 GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px{+c z7sn8b-no-+Z#=BPs*|QxYfypeg_F;elh@7tF_Gmj!zH;R2b9h!3$eaf z^{l^nqQ|Qe8Tr?4-0oW)Gt^m5JlTH8=^=+ui(YH_1c6SitpRJ}y3Q*EFArXubk&Y2 z<PRnv1Nqa1x>@h1&xLhFq@Z4p`R7AL*ift10`tNW5&r#{+SIM^}if~)`m_J>Fhc(*WAx{3)7vy n0TrA#tR_mEzdQ5gbOnRI$(`V>4>r#QdXT}>)z4*}Q$iB}aQSuO literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/1.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/1.png new file mode 100644 index 0000000000000000000000000000000000000000..01335b024d28c0edafb8ef321d4804332e9cdb40 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px_=) z7sn8b-m?=O`;HiJuykMibNbJj55{%Zsy%F8AGxMgeA~?~VZoIf9rrsp&i@8~ueH@#+(uSqy;MeAVGn==>NIg4v=Ez2BR0px`o3 z7sn8b-no+l`C1fsT;k2|&92&9wdp2*O!Cql#}s+nE<7|`#mTtg*Dd+HD|>EkSW&xU z_cJF!#q#MV9vja~t}dKq9h04_QtPJhR?q#e(2R*(4nmVUI=1XK5D;4V>FXvr!5bIN z_pNw(>kj9dJ25YlF3di2EY0^%mv%$SWSM_y3G4??^Ozi*n{M<|X#EbYYg|paw;LGF qeU3Dg`~F+HSLv5DXQWZZYJJArbIyk>`ke`MF@vY8pUXO@geCxlC}O?< literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/11.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/11.png new file mode 100644 index 0000000000000000000000000000000000000000..60da1797743690efc6c5b9a414f7c2e2ca7dcabb GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px_Qq z7sn8b-noGng$^rlc<=dJes})E>8bpexm@?&z4Um?6bC0w2L^@?hTpOk*Skd5RT-+V zI5zYtdN!T$*&4?Ane+PYAC58x#-3ch7P>hLe$MoH6}j)8yHCLvRl|x{zB6yuY4<7F z2OiqX%Gw*~`cc2`b4s6L&EVhaYKJMjlD}%FdCL@qypY_2P2YLhkdmKtC{ey85}S Ib4q9e0Mc4!{{R30 literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/12.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/12.png new file mode 100644 index 0000000000000000000000000000000000000000..7977cad23ca5b54510debd5438c9e122f7f5bb88 GIT binary patch literal 328 zcmV-O0k{5%P)LlTmVnFbqSVcY3e*W|*7FCsRKl5Vq6(Xw5KWa4buT z6UO`}zJ5!z+L9jsGLw-bJ_1~YItnre)P5oi084!Xd3hwcs%+bmY}*uu^E=nnk;la9 z!Ct$!ZKJzMiTa?usxXcVU{cRa#u&sN6veh}OIgq@rZ<_%Yo^xX?uPQCkW(;lfl7Ls zm=Xdq2U2q%f{B=oAmToV*9xHN`U$pnx4{m^7}&mKJOEO;xHPpNv?CzmX7YnUW*)lh zZO6&NzFDksd2kHI?x%S(*3QPumZt|wVE-F~$wI=JH%NB_0(!Pt);ve~eXKbg{P@Oy auk$x--@n{dGl5qC0000DlUr`ZFbG5sRrh6f7P7PP%BCN=ex!;bwL~b$h5-f~ z#w-bgRQfpB!8pcA9#cs<+HuL;2l;l)(AF3Pu$Y&Rih9cR)ZNX*QdEmG7SLlR=KeAP@tK)&7hA8O_h!FY_J}GBDE4Wr$D^qzi1E zX3RJ3_rHZwS<*2V5%lQoBj732RS?l3=S}DUmg)ua_DFJO+O{Rxwn+^4dyUC!9n*FX zW=@YWs47AtKWNWPjN1cPM~?`4@3h%Sk}<|s)~FK8n~30NE$zis1?i)ZTQKlIC7mXQ zgn)>SRP2|~=4GTJXzg_oKRZCn^&9poPCNz)L|hVH;QGQ(UzxD+O@Hzs$$$?Nr66Jg=kWpTHP>Lv&H?Drn}jdO)v5{* pP-~lQ{3hW&*7sH)d;9ix{sTox+lpT$6VCtu002ovPDHLkV1jZUl-mFR literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/15.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/15.png new file mode 100644 index 0000000000000000000000000000000000000000..58f205ff8ab016b81bf4b374ff430be3f8a1be3f GIT binary patch literal 344 zcmV-e0jK_nP)5li6*=FbqT=gYC=g%%jez$|fJOY$;i65E_ID9>Y^% z%tK*tj6V$dGlgMsjvK94QB|9BW^&}QgBoM-Cq^24sjAApBk>MmdzH~;5|4~-kfnw9 z)TFn1Nf<}WA@=G%GN0iHJYzj`1ie4A$xOaxz#TlD<&oV6=G=zuJWl|siq~3JNL23} zKvid5LbNu5GKqK=aaYhJDwE8Ez~mAgP53+!kU3hIZQK9=Sh7svjb|4-j)w(VkfrK(K;00002BR0px|~- z7sn8b-no+l`3@`aIL9x$yV_lOujHIFzd7D6II!#Nil&H(k0&HKF}&G#{2}usb!m^Q zPv5`Q9}jOKWiJZxZjr@I#YA%wDpAv_Wzi;8Dqa`|6kg?@likDnv?w# z&&ld6S6JD-f0mOb>j{U<8_N4Wh5oDPZM(bgn3&Tw&OhDan!(e$>v^+SfnH$nboFyt I=akR{06igUk^lez literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/17.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/17.png new file mode 100644 index 0000000000000000000000000000000000000000..e450e6b6e53655dd12aa52684150f1aa037b78d8 GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px|*& z7sn8b-l>xV`C1eNoa4>!onG8&et2@JJ&UBk**sw;zd752Lyno8sP@XyWZW>_HpzST zuBL;}i!2@sm)cJ(F7sNsC))bhv71^hmg%?Od04IUww%+rdEuPLS}gBheSNwrZf-~u ztBg~i_Z2qI=?2$J_p(Mg)krMl-gtj;v%iY;dS50_58pf&1&+l#d@njDFDw^epRK*m zYKCTSSG`rh9{J2y36*6DHLU@&->aB6J+^4zky#iu|G1ULzuqqSOZ*1YY-YZeuVI|U X@@a+U*Q!@QFEMz!`njxgN@xNA8%1cJ literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/18.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/18.png new file mode 100644 index 0000000000000000000000000000000000000000..fae8d06624fff2e02587a66f1c7678dd406567c1 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px_!$ z7sn8b-no+l`C1fsT$azaonfB6Q_}Y4oAyPzO}qFEja09=>pBVe9zB()78LBs*p`@f z#;Is)*euD%^UnXU-n9I@T)Idh*T8O>oMT2fcNwzo$CH$4STm-Ob?X>gTe~DWM4f=%!v@ literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/19.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/19.png new file mode 100644 index 0000000000000000000000000000000000000000..557aa37bc44252f4dfff10de86e17e16ddf74996 GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px{wY z7sn8b-nl{1d@PC_+3Lj`c1l(m+eUtOKFe?}P2QKoV~JQxQ$h2pr3bti8LqsvT_fS_ z)X;YF=!FBHnAe(44SIGrbRzfs9HFh(R5T}i$ZJ%dz~DDED8M`Is}k#xXim{WJ~ij} zve!!;1^6BIoW0B+=glIyTzJRU3GwxZ1fT56U%ke0+etgY9b$Jv+!WLIXj^UbN#l54 zdoQ13hKlh|ebE^?=N|F1a@Vo>bDf*>VlQ(B!>-foiq9QhZ**WQcYM;iPyVLTaqlnA VtJg6<^A6}C22WQ%mvv4FO#liYXD0vv literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/2.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/2.png new file mode 100644 index 0000000000000000000000000000000000000000..3887079419a97afe276df2028fe21aa5615a5f0c GIT binary patch literal 332 zcmV-S0ki&zP)Dli_W}APj^*q7DL+#G_=BI-6t^GD)(@^+y5^!c+TH zTNWUE=fg6H)}yW!3B(8SS)dsU1om7n3bVpZ3B5F!wy z$|wj|vGrC^Y-8i8WPfHCnt%dN>D0g%foY8^WyFt9AOd)8(Wu@Ee}dspqjP^aUBv#3rh#GY}nl! zcgM__=b3%qF*72OZYUyAj@JO>?vkXOb6q2`4%RSPEeX(pTVV0GAEb~J1@C~r5)=|X e_>HxR|Fs{)%?rH4Jngao00002BR0px|mx z7sn8b-o3%M1rICmOfHt~IlCq&O|7`TVy45TKOr*Z5fX|#9fu7cJ(28WouZ}tVdcax z94#l#%vo~%PxAi$ExJiOE3(ReU2_b4v-ipYPpgw=fs@_q?7X&$tG$*i=jLep!N4$S zI@g*VqIq3Eq_;8E7k^mEJhAS48r!53mdZ;@v=ubM6VrNS#CvN*%f74Wv0Trezf^z0 uy4ZxTGw0>>`{^?=RsQK!tQV{3*8jHT5u;(}ggT(J89ZJ6T-G@yGywp_7+!V& literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/21.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/21.png new file mode 100644 index 0000000000000000000000000000000000000000..bfb11c9138b824054fdfe24b48ab59cfe6220d3f GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`l2 z7sn8b-lLNP`;I8^ILEKDjL3J}5m{yQo?XO|F1nms+A(4G_o{Y zKill*>QQ{YF(t@uf2%5QVX;kp+ZE@2-mX(375{w#_P#Q|ee5lVP%hAP|GIo!*PR8OzP$$?|^4BGl6M#c>42e1;5~ zAf#F}xjRT=_pDJ3vou{KwF=9Oq#{DI=P|=b_K^+zItOa4Xwk0Ny9B^`pKDm|j|o=$ znV|0pBoPq+faeTw_mRt%s?-6vX#fr$a(77ivP~WAwIqlLm>DF&>~2nICUv?VuKDQQM8fFbt!L?q!e0ZpKW;`*7q(;}q925UeN`MJh1n z2bN?5HeiyLw4CdG19>@Ld)T(~Y}k?D(zuJ0NRn+YBnwxceCCqg%2?vf!rk=GRvv(3 z#K0l7BmxmeEMEtnBMk#h7$Q(gZTYG97V{2Bp5FG((n{_?(r9lB%f;d1I|0DtAb8Ab zNTQSqNt5ScJ|aK@wW`-H1b|UW0ofXI1H0xMg23w)s8yY0ZkFmo@VpX?DUBra+G{gO r_>_3)u=3yk10*47uizVW1;64C9A8SvY1~-Y00000NkvXXu0mjfzUX?f literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/24.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/24.png new file mode 100644 index 0000000000000000000000000000000000000000..e91b518c4f968ad0c84c25d2e185647520ea18d4 GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px^~h z7sn8b-l@USLPr!hxUKh2zjLO-*hcbqp#0QZcQyIs6PBioql!0BW+q@g@sD3 zsLr&RmY(lF&VO!Y9R`~(zb+6FQ|Fx2U-0+bUzW97ok9!0 zFc>$ldXyr$qa#5q;{9>qATI;sjuU2)p@%OsIj}2QI=nksk;cHVRAj{~hL%u-THGZ~8iw=qrCdua=dRx#6)^w1IJjc>b1X_eW-2 hPu`pTW2w-Nk1n|X=-muWpeGp^JYD@<);T3K0RRrEZRP*~ literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/25.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/25.png new file mode 100644 index 0000000000000000000000000000000000000000..00d2d5d3fccff326da36a2964ec6f082e72f39a8 GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px|py z7sn8b-l>x=@*XzeaFGxFzR8^XCXavF-wksUmdn5O)JQm3DB#l}z3lSb!?F#|541UPZdg~Gc5|)VgR9)S=^K89 zHy_kg5fq&4a7`)WapI${vl(j>&33Qn5?FM8^0U-f8HIB3m$phQFSeH7O*b*VGdJqB zk=Lz*QNDb22WQ% Jmvv4FO#nl0e~AD9 literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/26.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/26.png new file mode 100644 index 0000000000000000000000000000000000000000..4952af636c1ea7673c115d36b46d0b656f4d4c21 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`Y} z7sn8b-l>yc^By+fXzACgzB;=#r)=JvUx(K_#DuDLY4q{Rr)M=4Y(Kqz$A*oU{bx5` zdi<`dO<>}b-Pv#I-)hZ>U9t6?P;IH;oaahsuQE<&Vbq(%-!!jqUvyK(#0BXrC*Mn% zbnRtRR?}p#a+`ZIr* zGCRC$f2?|g8T&hiGtbS8%U$rhX1AWQh>FVdQ&MBb@0JG0`O8@`> literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/27.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/27.png new file mode 100644 index 0000000000000000000000000000000000000000..a61fe9bd9453f76f7a5564753905148f4fd79e81 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`4< z7sn8b-l>x#C$$*xILGh$6<1(<eb=$2 z+FLshTH5v$_7~>3x2R67J6yJ5iAuAKpm4z4aDkrm37a^J-bpyV@!9p9eNu6l^d+sG zc_}AnatQ|7emIvjVT1d0rXSY#7!C*@tYljuw2QIB!m@9%fqYU;wVUoO8)8TRX>f*8~z`YUuff*&-Ni|3edLzopr0JK?q AlK=n! literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/28.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/28.png new file mode 100644 index 0000000000000000000000000000000000000000..52160f07602a031beead8000aaf7fe7d7f701860 GIT binary patch literal 309 zcmV-50m}Y~P)5lTogOAPhxMUuIvrvtD*qR@V0+BA`w(H6%dn>Fot9 zNyaED^TtEC-1;JyPg2gow2Fw7l;{6{?{%z~nAhO$m(p(vBobx?jo8Plf>Lalm#(1o zL_`2Qw@`}Vo=8W++KSl)e*g&g#LR}|%L6l}{m(h6Q8Qx4Jpn^vft=8}TvsqA14s}N zgWMCA&wx?p2)H6CrC?^w)V_TkACS^vbSu@4Q;!#l`z=UL$N|a$kPXNL_^?EhX0im> z_sX_ylLxDjH$aDA8L5lR*-MFbD)2YyYJ`3;7woZ1#{y5_J!YMTseCVL%gN zn5nu`+ySWlez)Sq@CYK`ITSBVUzJS@#aGNK9l*wi`C6g7Hv7CRd;EW)u zQHlV=og3tWt|QF~B92T3aEFMP%DrHE2h3&8fMKH6ikWp$^SE8^F8b)&fX4{k{dJ+3 zw;;EnLmEgEKpn^e_;52JGjDrw94Gs}FB;s1d;k)HDdGT{4(A!bnZl+%&nBMjz;Czp bcmChLmW@Q;yqRV800000NkvXXu0mjfhDVCz literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/3.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/3.png new file mode 100644 index 0000000000000000000000000000000000000000..b1c94138390db17cca3cd25087fef2a68be1c3df GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px{|g z7sn8b-l-F!g<2GNSgfagpEP^oogUkpZ`c(cC7+f(J;~$JnFJ@EnGRw51FrAidL=Em zBE#Vx@Af>|ws|Vj><-^-9_Th*iO*ak_)f1peEM$ho^;mBC3|G&&Munwj-z0WrPwCc z6gC#S^w|x2R~dL#FzZ&Yp=H6b{V7z4Y6erE6Wd;1pgVz~9nJ%-R$?A#d e!*d7s|6;1us{Io1;CU_3V+@|IelF{r5}E+6lydU` literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/30.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/30.png new file mode 100644 index 0000000000000000000000000000000000000000..7b52276d950b18d86a3bb5daf0f99f99dd33f34c GIT binary patch literal 338 zcmV-Y0j>UtP)5lTmWSAPhsFJGoc58RBN*WbOxngxzjuRvA8=#Ih`# zNRlU-+Wz7XRMl8PzC4n02U}!2CFT78=X0G{CH5FCUx&` zmfF5#$NpjLfl?YS&M^TgDQ&MaEZ7wsHfwJ`CdCjp_-CHw9~fp8d@pZQql*{P^gBZ6bm(F?J=bfduxoR1Zh~ kyN!|-`Sj!!Zv@}s7j~*fcGZN4e*gdg07*qoM6N<$f(Is!EdT%j literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/31.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/31.png new file mode 100644 index 0000000000000000000000000000000000000000..02283dbb0600eccf63e421260ab68d468f4e76dd GIT binary patch literal 363 zcmV-x0hIoUP)5lR=KfAPhqvqu#6BtmbCsWS#|-w!eQC6Dewfa47=qRfRWMpnNx#C_Ywj*io54?ci@;1nJlB^-+x>wO00h2f(h_;y8FQA_UtR zWmZahhzG3upIQL<87CNSj=A@jb+#w%rv}3V6loZ8+5|*WY_H^I@7ZtHD4_-wgM@8r zt+$hx4-XBtiKW&$r~;N&Uu|-T)-KNX*d`v^97E=%K8(S=8y!37H2A}X`Iuf$*7oJh z)ZCmWcoW literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/32.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/32.png new file mode 100644 index 0000000000000000000000000000000000000000..875843c5c990a5ffc682d813c32542de6e907ed8 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`A> z7sn8b-l>xVi;gJpIL|LHTK_ApW45JwvAvkahLdHBdhC6ACT!TKGBYsrdMmexsI+I^ z{3S65C%L+Kor?Rv%l`N=!EC;zQ|y=ei<%r0>=!k0Q(|hk{&(ryOZICSW-MVT_a#tKKQ|}5{GXTHU#YjNRlj))--W9l%#|^fw&#U89?S{*zUS`g je^R`^znj*nR&>R0?-VfG!N6<`^c{nztDnm{r-UW|rjT+2 literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/33.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/33.png new file mode 100644 index 0000000000000000000000000000000000000000..d64f1371ecb9f25a7350f77157394be8466d95aa GIT binary patch literal 310 zcmV-60m=S}P)5l39+#KnO!0qrTU0v%t-`ndc+5kfdj`ghDCCn4(OG z4O2#NL;#TEd&d!nt%E>ksO4y*=TcQEA_iaZD0~-9sH!AsiP#>&&O`zm4kf@&pOa%ho#_#{ocQ zGWqV#3m`_dQ{bl;c~5U{s;8ZxV(tK-M<|HxVV`3=!efH zFvYs4q=x|WNlu$T#r;VGGTqjak@{_v?(!jE{Z;+}4}t&U3t^t{kpJ@|?f?J)07*qo IM6N<$g43jj=>Px# literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/34.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/34.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d94c5de5b72e44926377c49dbdd2e698e810fa GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`D? z7sn8b-l>xV`Hm=XxTKp^uYY^CW%k39H~O=*w_FoRJ|iJJZ$*j4v4D#fg~F~}{0~=l zb{uyINPDLAsP=FAymp1}BC+x;OXn;xW=eQJbAhE?t=EHl#%@i|IE0oneEP)5l2H=EFbG5+j`z}=mE4S;Z2d^uK&+!~hY57TvOr9T z2~%@ta|fV}bH(PHoq<5zlzcRieJLX3?&H4TE%C|{QA9}6Nn*1F>y8B06&gaauJgEM zQ$4_~CtALd+RMo{_=O}Q;vkSsOOOhoStUve&eE!rw>bqEtx(!o2%xGE`@W}&UlpWe ziPjp==Y!UKNvsOc^0|9o+SnfT8I*MbT3SfNW1Bh){xpM$W1I85p27XIg8G1FToqgr s^yvq%r@w1F^k`wU{3?II8^OPL0jMX`;M#54X8-^I07*qoM6N<$g6qG33jhEB literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/36.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/36.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6235b2e4d8d8d777bd801b0600eb3b8fa15704 GIT binary patch literal 314 zcmV-A0mc4_P)`6pHR5*>5lUtGnAqYc{w`O0uGjV6Ivdl-f&)d~ggI{0~l88x& zHNrzVXHo(QB4XURI{?*c8b#d)Bq7{gdmxyZyUWbf`#uwhi3-eANNWzYR+_b|`Xpha zTkV4H_Yss*W`mYvW|A1xb!)q1u?cf`0U8pTHO*;@N9t@ki(Tnw%g}H=!bjE2Hcwsv z5;AHom?BL%-P+d5T`+=ZQgUhMC>&?;q-nuT@T@bL4A$0sJ?90qrE_qA7Ery#N3J M07*qoM6N<$f~~`Z8~^|S literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/37.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/37.png new file mode 100644 index 0000000000000000000000000000000000000000..01203304840a71dca8498d9210ac1ab1d59ee52e GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`4< z7sn8b-l@USlUNivxPy!J_e4HE`yu5fzlgl?>ubwSZ@Q?~5}?assF?HaLXeWm#i-NK zlCQ2BR0px}8= z7sn8b-l@U2d5zBJ)uQ0RQUOF?lB z>$eAg*UB(VD0Vwn$+4>4UABz>)w%HFllhYONAt27<{z#9ALOO^?KbnTL5l3TKaFbqSFnC^@0tnSXt%5*=-le8b#Gad|BiY!OQ zjF3MOydwbk)aNta@m7B^_)bqX9x>N;W;!BjzhMJ@%ZVs6ZM&0bjG())K~$2!q@`n%eyk9+-%&d+-ZHDta`~P-t2` R5jOw;002ovPDHLkV1nQOgS7wv literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/4.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/4.png new file mode 100644 index 0000000000000000000000000000000000000000..6e5cfc09476cbc46c79c2143243daa90dc2a77e1 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0pkS+~ zi(`mI@6+Ieye$Si#eQ#CXCJ-0X6Bh1y$&(HuMavuZ}`;lIASg5A>kT1U*;L#d=o8i z6z+=EdJ(On>bUh0*xFp_-()Y?Y~11!5l2LAiFbqVWS9`DR%`)7~KH2mmn~(rf)rpY6n1?-f z7_;iou?HU1)M7sPdT!c7nQ2KL`P;`JOENrgzM#ys?For%3qcqgBCrhvEIARe<-Y(b z%R!j_Ylr~*o9u}m?`@NrCjdYaK{z6iG-FjY-C9966Z@^t>*mGXOu+926cJ%by#jmo z+`U*UI6aww0jZy|NBPQyP75N7CjxV>-)3fH{T73aW~#q^i0n+hTqF8I3-!@`Kjp+VZb}|LPaYR4R?B ST(6M;00005lTnU?FbqVWtKO@7vkW)0Pd59Jgaq1EwMK}5?8kVV zgfT0^heVSAIL7lHO)btBgZu4mjaTezJ2Ne5!iE?MZ6LbN znH5Vtz@ry##iL{;pFbEW#x|Kb0glS#kcbE(0!f68B&uq;b-|yXhYR2nZyU*cF%$4} z14Tqw5|UOs5!k*dSe~4K38|m5?cV zgQ@O2pi7nnt)b)SurZ~*@5?3W;yQCW+eCnK3Lh0z6;(-9bx($&Q@XwF%2BR0px{PN z7sn8b-ldaI7alR-ah`AVGW)XR!E-B4O=z~yzUgIlu8F;ek3}OO>)4*={_VRO&p%e2 zI=#^8VqNHms7W@>DzoRWmYnS6&T`?!-U^$2Wo(mY27eCNa&YgeoZ?58Dv}=r9$ox- zvUYCH6W-j=U9B7wHC1$@Bi{X&iWb`|9&q3T-@4>^mPv(cSEb+Haj3YVnC+Xu{|&9$ z@htB;ZnUQr+_t;?Msk0XN?D`ov9jnCfgk+)7zLTNJNq6Tr~o>i!PC{xWt~$(69B6R BXcYhe literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/6.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/6.png new file mode 100644 index 0000000000000000000000000000000000000000..947d9c40f0bef24c768d61ad5df2514ef1dda1e3 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px|^* z7sn8b-n)|nxegofIM1*CXl3s0x2$$YWb7-`2BR0px|Lo z7sn8b-l>xl*Bw^iY2NR%JG?)vcyoc#e)%=AyUG@y4@%YQ*x1-&nBQ{HP~zAR^Fsk* z?t!z#_p_YY_<`&GQMu);>(qQEr}6#RyW2PWZBf=$DGBA1+um;c|0Cvjx`)w&AR z`kdFbXUv%y%vQ$E-e`SPPXE2e2YJEWBF)L!%c`Wy6+2hlmAE|5LfNMBr12ldtGpJ! UqmBwK0D6bP)78&qol`;+0H#ZB7XSbN literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/8.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/8.png new file mode 100644 index 0000000000000000000000000000000000000000..5bcd3ecaceb78c94e91991fc1694a54b05329933 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px_cu z7sn8b-no+_`3@`axXfRD&-&ci2Pv2Nr#UpF89F5eq*b^bX<@ig>)+jdt7dbabLEcR zzmhJz(<`5DaZDw_3DVb;Jh>FI%=qPm>deiY+?O%*y>QkMoHYM8t-OJ$V>gTe~DWM4fp`Bk{ literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/9.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/9.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4991d8de2e2b750b2d681533f1b7e1a3f66765 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px_=) z7sn8b-no+>3N)Gfbv(dqJ%4jwiJ?vU#n)@qkWTys4h zb?nF?&6=F<+-U1bUJl9|9e0VyIW666dCaRiF+hM%L9y}4EU|4TE$6#mdiVE-Q|{Z0 zme!yT-(s7gX;yW*?UM~GopeUa%a8bl2@~4;M z?wj@^XFBTxHbiH9?6^KdV=05AhNAVcg;P82&mCSYm9VDof&3oE*%479@v+<20sXFVdQ&MBb@0CrGl*#H0l literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/icons.gif b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/icons.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0ccac1bdd2663bc1f8c7f8d113f8337ccf00663 GIT binary patch literal 4319 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 TUrrHtcg?o#wX~xJP@OdZ_UVjb literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/ui.dynatree.css b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/ui.dynatree.css new file mode 100644 index 0000000..29679b4 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/ui.dynatree.css @@ -0,0 +1,440 @@ +/******************************************************************************* + * Tree container + */ +ul.dynatree-container +{ + font-family: tahoma, arial, helvetica; + font-size: 10pt; /* font size should not be too big */ + white-space: nowrap; + padding: 3px; + margin: 0; /* issue 201 */ + background-color: white; + border: 1px dotted gray; + overflow: auto; + height: 100%; /* issue 263 */ +} + +ul.dynatree-container ul +{ + padding: 0 0 0 16px; + margin: 0; +} + +ul.dynatree-container li +{ + list-style-image: none; + list-style-position: outside; + list-style-type: none; + -moz-background-clip:border; + -moz-background-inline-policy: continuous; + -moz-background-origin: padding; + background-attachment: scroll; + background-color: transparent; + background-repeat: repeat-y; + background-image: url("vline.gif"); + background-position: 0 0; + /* + background-image: url("icons_96x256.gif"); + background-position: -80px -64px; + */ + margin: 0; + padding: 1px 0 0 0; +} +/* Suppress lines for last child node */ +ul.dynatree-container li.dynatree-lastsib +{ + background-image: none; +} +/* Suppress lines if level is fixed expanded (option minExpandLevel) */ +ul.dynatree-no-connector > li +{ + background-image: none; +} + +/* Style, when control is disabled */ +.ui-dynatree-disabled ul.dynatree-container +{ + opacity: 0.5; +/* filter: alpha(opacity=50); /* Yields a css warning */ + background-color: silver; +} + +/******************************************************************************* + * Common icon definitions + */ +span.dynatree-empty, +span.dynatree-vline, +span.dynatree-connector, +span.dynatree-expander, +span.dynatree-icon, +span.dynatree-checkbox, +span.dynatree-radio, +span.dynatree-drag-helper-img, +#dynatree-drop-marker +{ + width: 16px; + height: 16px; +/* display: -moz-inline-box; /* @ FF 1+2 removed for issue 221 */ +/* -moz-box-align: start; /* issue 221 */ + display: inline-block; /* Required to make a span sizeable */ + vertical-align: top; + background-repeat: no-repeat; + background-position: left; + background-image: url("icons.gif"); + background-position: 0 0; +} + +/** Used by 'icon' node option: */ +ul.dynatree-container img +{ + width: 16px; + height: 16px; + margin-left: 3px; + vertical-align: top; + border-style: none; +} + + +/******************************************************************************* + * Lines and connectors + */ + +span.dynatree-connector +{ + background-position: -16px -64px; +} + +/******************************************************************************* + * Expander icon + * Note: IE6 doesn't correctly evaluate multiples class names, + * so we create combined class names that can be used in the CSS. + * + * Prefix: dynatree-exp- + * 1st character: 'e': expanded, 'c': collapsed + * 2nd character (optional): 'd': lazy (Delayed) + * 3rd character (optional): 'l': Last sibling + */ + +span.dynatree-expander +{ + background-position: 0px -80px; + cursor: pointer; +} +.dynatree-exp-cl span.dynatree-expander /* Collapsed, not delayed, last sibling */ +{ + background-position: 0px -96px; +} +.dynatree-exp-cd span.dynatree-expander /* Collapsed, delayed, not last sibling */ +{ + background-position: -64px -80px; +} +.dynatree-exp-cdl span.dynatree-expander /* Collapsed, delayed, last sibling */ +{ + background-position: -64px -96px; +} +.dynatree-exp-e span.dynatree-expander, /* Expanded, not delayed, not last sibling */ +.dynatree-exp-ed span.dynatree-expander /* Expanded, delayed, not last sibling */ +{ + background-position: -32px -80px; +} +.dynatree-exp-el span.dynatree-expander, /* Expanded, not delayed, last sibling */ +.dynatree-exp-edl span.dynatree-expander /* Expanded, delayed, last sibling */ +{ + background-position: -32px -96px; +} +.dynatree-loading span.dynatree-expander /* 'Loading' status overrides all others */ +{ + background-position: 0 0; + background-image: url("loading.gif"); +} + + +/******************************************************************************* + * Checkbox icon + */ +span.dynatree-checkbox +{ + margin-left: 3px; + background-position: 0px -32px; +} +span.dynatree-checkbox:hover +{ + background-position: -16px -32px; +} + +.dynatree-partsel span.dynatree-checkbox +{ + background-position: -64px -32px; +} +.dynatree-partsel span.dynatree-checkbox:hover +{ + background-position: -80px -32px; +} + +.dynatree-selected span.dynatree-checkbox +{ + background-position: -32px -32px; +} +.dynatree-selected span.dynatree-checkbox:hover +{ + background-position: -48px -32px; +} + +/******************************************************************************* + * Radiobutton icon + * This is a customization, that may be activated by overriding the 'checkbox' + * class name as 'dynatree-radio' in the tree options. + */ +span.dynatree-radio +{ + margin-left: 3px; + background-position: 0px -48px; +} +span.dynatree-radio:hover +{ + background-position: -16px -48px; +} + +.dynatree-partsel span.dynatree-radio +{ + background-position: -64px -48px; +} +.dynatree-partsel span.dynatree-radio:hover +{ + background-position: -80px -48px; +} + +.dynatree-selected span.dynatree-radio +{ + background-position: -32px -48px; +} +.dynatree-selected span.dynatree-radio:hover +{ + background-position: -48px -48px; +} + +/******************************************************************************* + * Node type icon + * Note: IE6 doesn't correctly evaluate multiples class names, + * so we create combined class names that can be used in the CSS. + * + * Prefix: dynatree-ico- + * 1st character: 'e': expanded, 'c': collapsed + * 2nd character (optional): 'f': folder + */ + +span.dynatree-icon /* Default icon */ +{ + margin-left: 3px; + background-position: 0px 0px; +} + +.dynatree-ico-cf span.dynatree-icon /* Collapsed Folder */ +{ + background-position: 0px -16px; +} + +.dynatree-ico-ef span.dynatree-icon /* Expanded Folder */ +{ + background-position: -64px -16px; +} + +/* Status node icons */ + +.dynatree-statusnode-wait span.dynatree-icon +{ + background-image: url("loading.gif"); +} + +.dynatree-statusnode-error span.dynatree-icon +{ + background-position: 0px -112px; +/* background-image: url("ltError.gif");*/ +} + +/******************************************************************************* + * Node titles + */ + +/* @Chrome: otherwise hit area of node titles is broken (issue 133) + Removed again for issue 165; (133 couldn't be reproduced) */ +span.dynatree-node +{ +/* display: -moz-inline-box; /* issue 133, 165, 172, 192. removed for issue 221*/ +/* -moz-box-align: start; /* issue 221 */ +/* display: inline-block; /* Required to make a span sizeable */ +} + + +/* Remove blue color and underline from title links */ +ul.dynatree-container a +/*, ul.dynatree-container a:visited*/ +{ + color: black; /* inherit doesn't work on IE */ + text-decoration: none; + vertical-align: top; + margin: 0px; + margin-left: 3px; +/* outline: 0; /* @ Firefox, prevent dotted border after click */ +} + +ul.dynatree-container a:hover +{ +/* text-decoration: underline; */ + background-color: #F2F7FD; /* light blue */ + border-color: #B8D6FB; /* darker light blue */ +} + +span.dynatree-node a +{ + font-size: 10pt; /* required for IE, quirks mode */ + display: inline-block; /* Better alignment, when title contains
*/ +/* vertical-align: top;*/ + padding-left: 3px; + padding-right: 3px; /* Otherwise italic font will be outside bounds */ + /* line-height: 16px; /* should be the same as img height, in case 16 px */ +} +span.dynatree-folder a +{ + font-weight: bold; +} + +ul.dynatree-container a:focus, +span.dynatree-focused a:link /* @IE */ +{ + background-color: #EFEBDE; /* gray */ +} + +span.dynatree-has-children a +{ +} + +span.dynatree-expanded a +{ +} + +span.dynatree-selected a +{ + color: green; + font-style: italic; +} + +span.dynatree-active a +{ + background-color: #3169C6 !important; + color: white !important; /* @ IE6 */ +} + +/******************************************************************************* + * Drag'n'drop support + */ + +/*** Helper object ************************************************************/ +div.dynatree-drag-helper +{ +} +div.dynatree-drag-helper a +{ + border: 1px solid gray; + background-color: white; + padding-left: 5px; + padding-right: 5px; + opacity: 0.8; +} +span.dynatree-drag-helper-img +{ + /* + position: relative; + left: -16px; + */ +} +div.dynatree-drag-helper /*.dynatree-drop-accept*/ +{ + +/* border-color: green; + background-color: red;*/ +} +div.dynatree-drop-accept span.dynatree-drag-helper-img +{ + background-position: -32px -112px; +} +div.dynatree-drag-helper.dynatree-drop-reject +{ + border-color: red; +} +div.dynatree-drop-reject span.dynatree-drag-helper-img +{ + background-position: -16px -112px; +} + +/*** Drop marker icon *********************************************************/ + +#dynatree-drop-marker +{ + width: 24px; + position: absolute; + background-position: 0 -128px; + margin: 0; +/* border: 1px solid red; */ +} +#dynatree-drop-marker.dynatree-drop-after, +#dynatree-drop-marker.dynatree-drop-before +{ + width:64px; + background-position: 0 -144px; +} +#dynatree-drop-marker.dynatree-drop-copy +{ + background-position: -64px -128px; +} +#dynatree-drop-marker.dynatree-drop-move +{ + background-position: -64px -128px; +} + +/*** Source node while dragging ***********************************************/ + +span.dynatree-drag-source +{ + /* border: 1px dotted gray; */ + background-color: #e0e0e0; +} +span.dynatree-drag-source a +{ + color: gray; +} + +/*** Target node while dragging cursor is over it *****************************/ + +span.dynatree-drop-target +{ + /*border: 1px solid gray;*/ +} +span.dynatree-drop-target a +{ +} +span.dynatree-drop-target.dynatree-drop-accept a +{ + /*border: 1px solid green;*/ + background-color: #3169C6 !important; + color: white !important; /* @ IE6 */ + text-decoration: none; +} +span.dynatree-drop-target.dynatree-drop-reject +{ + /*border: 1px solid red;*/ +} +span.dynatree-drop-target.dynatree-drop-after a +{ +} + + +/******************************************************************************* + * Custom node classes (sample) + */ + +span.custom1 a +{ + background-color: maroon; + color: yellow; +} diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/vline.gif b/Activity_3_python/LangagePython_fonctions/css/dynatree/chm/vline.gif new file mode 100644 index 0000000000000000000000000000000000000000..1b00ae50e0f1538d985811207b0af2a85d1d128b GIT binary patch literal 844 zcmZ?wbhEHb6krfw_|52S|G#wUQXn}BMnhnzhQRL+ z3l=PCXlVEkOy~a@{(~tX4P*g<;!hSv28MqOIzUNaju2pA;Lv3F%PCTkzu;gqhp>{) jiVX`7H}c4P#aL`ybg)BAJ?YGk0_Edva`s$291PX~%%k&- literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/0.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/0.png new file mode 100644 index 0000000000000000000000000000000000000000..0189cda7da0a425f8cc153e19433a2e83cc06b51 GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px{+c z7sn8b-no-+Z#=BPs*|QxYfypeg_F;elh@7tF_Gmj!zH;R2b9h!3$eaf z^{l^nqQ|Qe8Tr?4-0oW)Gt^m5JlTH8=^=+ui(YH_1c6SitpRJ}y3Q*EFArXubk&Y2 z<PRnv1Nqa1x>@h1&xLhFq@Z4p`R7AL*ift10`tNW5&r#{+SIM^}if~)`m_J>Fhc(*WAx{3)7vy n0TrA#tR_mEzdQ5gbOnRI$(`V>4>r#QdXT}>)z4*}Q$iB}aQSuO literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/1.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/1.png new file mode 100644 index 0000000000000000000000000000000000000000..01335b024d28c0edafb8ef321d4804332e9cdb40 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px_=) z7sn8b-m?=O`;HiJuykMibNbJj55{%Zsy%F8AGxMgeA~?~VZoIf9rrsp&i@8~ueH@#+(uSqy;MeAVGn==>NIg4v=Ez2BR0px`o3 z7sn8b-no+l`C1fsT;k2|&92&9wdp2*O!Cql#}s+nE<7|`#mTtg*Dd+HD|>EkSW&xU z_cJF!#q#MV9vja~t}dKq9h04_QtPJhR?q#e(2R*(4nmVUI=1XK5D;4V>FXvr!5bIN z_pNw(>kj9dJ25YlF3di2EY0^%mv%$SWSM_y3G4??^Ozi*n{M<|X#EbYYg|paw;LGF qeU3Dg`~F+HSLv5DXQWZZYJJArbIyk>`ke`MF@vY8pUXO@geCxlC}O?< literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/11.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/11.png new file mode 100644 index 0000000000000000000000000000000000000000..60da1797743690efc6c5b9a414f7c2e2ca7dcabb GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px_Qq z7sn8b-noGng$^rlc<=dJes})E>8bpexm@?&z4Um?6bC0w2L^@?hTpOk*Skd5RT-+V zI5zYtdN!T$*&4?Ane+PYAC58x#-3ch7P>hLe$MoH6}j)8yHCLvRl|x{zB6yuY4<7F z2OiqX%Gw*~`cc2`b4s6L&EVhaYKJMjlD}%FdCL@qypY_2P2YLhkdmKtC{ey85}S Ib4q9e0Mc4!{{R30 literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/12.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/12.png new file mode 100644 index 0000000000000000000000000000000000000000..7977cad23ca5b54510debd5438c9e122f7f5bb88 GIT binary patch literal 328 zcmV-O0k{5%P)LlTmVnFbqSVcY3e*W|*7FCsRKl5Vq6(Xw5KWa4buT z6UO`}zJ5!z+L9jsGLw-bJ_1~YItnre)P5oi084!Xd3hwcs%+bmY}*uu^E=nnk;la9 z!Ct$!ZKJzMiTa?usxXcVU{cRa#u&sN6veh}OIgq@rZ<_%Yo^xX?uPQCkW(;lfl7Ls zm=Xdq2U2q%f{B=oAmToV*9xHN`U$pnx4{m^7}&mKJOEO;xHPpNv?CzmX7YnUW*)lh zZO6&NzFDksd2kHI?x%S(*3QPumZt|wVE-F~$wI=JH%NB_0(!Pt);ve~eXKbg{P@Oy auk$x--@n{dGl5qC0000DlUr`ZFbG5sRrh6f7P7PP%BCN=ex!;bwL~b$h5-f~ z#w-bgRQfpB!8pcA9#cs<+HuL;2l;l)(AF3Pu$Y&Rih9cR)ZNX*QdEmG7SLlR=KeAP@tK)&7hA8O_h!FY_J}GBDE4Wr$D^qzi1E zX3RJ3_rHZwS<*2V5%lQoBj732RS?l3=S}DUmg)ua_DFJO+O{Rxwn+^4dyUC!9n*FX zW=@YWs47AtKWNWPjN1cPM~?`4@3h%Sk}<|s)~FK8n~30NE$zis1?i)ZTQKlIC7mXQ zgn)>SRP2|~=4GTJXzg_oKRZCn^&9poPCNz)L|hVH;QGQ(UzxD+O@Hzs$$$?Nr66Jg=kWpTHP>Lv&H?Drn}jdO)v5{* pP-~lQ{3hW&*7sH)d;9ix{sTox+lpT$6VCtu002ovPDHLkV1jZUl-mFR literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/15.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/15.png new file mode 100644 index 0000000000000000000000000000000000000000..58f205ff8ab016b81bf4b374ff430be3f8a1be3f GIT binary patch literal 344 zcmV-e0jK_nP)5li6*=FbqT=gYC=g%%jez$|fJOY$;i65E_ID9>Y^% z%tK*tj6V$dGlgMsjvK94QB|9BW^&}QgBoM-Cq^24sjAApBk>MmdzH~;5|4~-kfnw9 z)TFn1Nf<}WA@=G%GN0iHJYzj`1ie4A$xOaxz#TlD<&oV6=G=zuJWl|siq~3JNL23} zKvid5LbNu5GKqK=aaYhJDwE8Ez~mAgP53+!kU3hIZQK9=Sh7svjb|4-j)w(VkfrK(K;00002BR0px|~- z7sn8b-no+l`3@`aIL9x$yV_lOujHIFzd7D6II!#Nil&H(k0&HKF}&G#{2}usb!m^Q zPv5`Q9}jOKWiJZxZjr@I#YA%wDpAv_Wzi;8Dqa`|6kg?@likDnv?w# z&&ld6S6JD-f0mOb>j{U<8_N4Wh5oDPZM(bgn3&Tw&OhDan!(e$>v^+SfnH$nboFyt I=akR{06igUk^lez literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/17.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/17.png new file mode 100644 index 0000000000000000000000000000000000000000..e450e6b6e53655dd12aa52684150f1aa037b78d8 GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px|*& z7sn8b-l>xV`C1eNoa4>!onG8&et2@JJ&UBk**sw;zd752Lyno8sP@XyWZW>_HpzST zuBL;}i!2@sm)cJ(F7sNsC))bhv71^hmg%?Od04IUww%+rdEuPLS}gBheSNwrZf-~u ztBg~i_Z2qI=?2$J_p(Mg)krMl-gtj;v%iY;dS50_58pf&1&+l#d@njDFDw^epRK*m zYKCTSSG`rh9{J2y36*6DHLU@&->aB6J+^4zky#iu|G1ULzuqqSOZ*1YY-YZeuVI|U X@@a+U*Q!@QFEMz!`njxgN@xNA8%1cJ literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/18.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/18.png new file mode 100644 index 0000000000000000000000000000000000000000..fae8d06624fff2e02587a66f1c7678dd406567c1 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px_!$ z7sn8b-no+l`C1fsT$azaonfB6Q_}Y4oAyPzO}qFEja09=>pBVe9zB()78LBs*p`@f z#;Is)*euD%^UnXU-n9I@T)Idh*T8O>oMT2fcNwzo$CH$4STm-Ob?X>gTe~DWM4f=%!v@ literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/19.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/19.png new file mode 100644 index 0000000000000000000000000000000000000000..557aa37bc44252f4dfff10de86e17e16ddf74996 GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px{wY z7sn8b-nl{1d@PC_+3Lj`c1l(m+eUtOKFe?}P2QKoV~JQxQ$h2pr3bti8LqsvT_fS_ z)X;YF=!FBHnAe(44SIGrbRzfs9HFh(R5T}i$ZJ%dz~DDED8M`Is}k#xXim{WJ~ij} zve!!;1^6BIoW0B+=glIyTzJRU3GwxZ1fT56U%ke0+etgY9b$Jv+!WLIXj^UbN#l54 zdoQ13hKlh|ebE^?=N|F1a@Vo>bDf*>VlQ(B!>-foiq9QhZ**WQcYM;iPyVLTaqlnA VtJg6<^A6}C22WQ%mvv4FO#liYXD0vv literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/2.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/2.png new file mode 100644 index 0000000000000000000000000000000000000000..3887079419a97afe276df2028fe21aa5615a5f0c GIT binary patch literal 332 zcmV-S0ki&zP)Dli_W}APj^*q7DL+#G_=BI-6t^GD)(@^+y5^!c+TH zTNWUE=fg6H)}yW!3B(8SS)dsU1om7n3bVpZ3B5F!wy z$|wj|vGrC^Y-8i8WPfHCnt%dN>D0g%foY8^WyFt9AOd)8(Wu@Ee}dspqjP^aUBv#3rh#GY}nl! zcgM__=b3%qF*72OZYUyAj@JO>?vkXOb6q2`4%RSPEeX(pTVV0GAEb~J1@C~r5)=|X e_>HxR|Fs{)%?rH4Jngao00002BR0px|mx z7sn8b-o3%M1rICmOfHt~IlCq&O|7`TVy45TKOr*Z5fX|#9fu7cJ(28WouZ}tVdcax z94#l#%vo~%PxAi$ExJiOE3(ReU2_b4v-ipYPpgw=fs@_q?7X&$tG$*i=jLep!N4$S zI@g*VqIq3Eq_;8E7k^mEJhAS48r!53mdZ;@v=ubM6VrNS#CvN*%f74Wv0Trezf^z0 uy4ZxTGw0>>`{^?=RsQK!tQV{3*8jHT5u;(}ggT(J89ZJ6T-G@yGywp_7+!V& literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/21.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/21.png new file mode 100644 index 0000000000000000000000000000000000000000..bfb11c9138b824054fdfe24b48ab59cfe6220d3f GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`l2 z7sn8b-lLNP`;I8^ILEKDjL3J}5m{yQo?XO|F1nms+A(4G_o{Y zKill*>QQ{YF(t@uf2%5QVX;kp+ZE@2-mX(375{w#_P#Q|ee5lVP%hAP|GIo!*PR8OzP$$?|^4BGl6M#c>42e1;5~ zAf#F}xjRT=_pDJ3vou{KwF=9Oq#{DI=P|=b_K^+zItOa4Xwk0Ny9B^`pKDm|j|o=$ znV|0pBoPq+faeTw_mRt%s?-6vX#fr$a(77ivP~WAwIqlLm>DF&>~2nICUv?VuKDQQM8fFbt!L?q!e0ZpKW;`*7q(;}q925UeN`MJh1n z2bN?5HeiyLw4CdG19>@Ld)T(~Y}k?D(zuJ0NRn+YBnwxceCCqg%2?vf!rk=GRvv(3 z#K0l7BmxmeEMEtnBMk#h7$Q(gZTYG97V{2Bp5FG((n{_?(r9lB%f;d1I|0DtAb8Ab zNTQSqNt5ScJ|aK@wW`-H1b|UW0ofXI1H0xMg23w)s8yY0ZkFmo@VpX?DUBra+G{gO r_>_3)u=3yk10*47uizVW1;64C9A8SvY1~-Y00000NkvXXu0mjfzUX?f literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/24.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/24.png new file mode 100644 index 0000000000000000000000000000000000000000..e91b518c4f968ad0c84c25d2e185647520ea18d4 GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px^~h z7sn8b-l@USLPr!hxUKh2zjLO-*hcbqp#0QZcQyIs6PBioql!0BW+q@g@sD3 zsLr&RmY(lF&VO!Y9R`~(zb+6FQ|Fx2U-0+bUzW97ok9!0 zFc>$ldXyr$qa#5q;{9>qATI;sjuU2)p@%OsIj}2QI=nksk;cHVRAj{~hL%u-THGZ~8iw=qrCdua=dRx#6)^w1IJjc>b1X_eW-2 hPu`pTW2w-Nk1n|X=-muWpeGp^JYD@<);T3K0RRrEZRP*~ literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/25.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/25.png new file mode 100644 index 0000000000000000000000000000000000000000..00d2d5d3fccff326da36a2964ec6f082e72f39a8 GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px|py z7sn8b-l>x=@*XzeaFGxFzR8^XCXavF-wksUmdn5O)JQm3DB#l}z3lSb!?F#|541UPZdg~Gc5|)VgR9)S=^K89 zHy_kg5fq&4a7`)WapI${vl(j>&33Qn5?FM8^0U-f8HIB3m$phQFSeH7O*b*VGdJqB zk=Lz*QNDb22WQ% Jmvv4FO#nl0e~AD9 literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/26.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/26.png new file mode 100644 index 0000000000000000000000000000000000000000..4952af636c1ea7673c115d36b46d0b656f4d4c21 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`Y} z7sn8b-l>yc^By+fXzACgzB;=#r)=JvUx(K_#DuDLY4q{Rr)M=4Y(Kqz$A*oU{bx5` zdi<`dO<>}b-Pv#I-)hZ>U9t6?P;IH;oaahsuQE<&Vbq(%-!!jqUvyK(#0BXrC*Mn% zbnRtRR?}p#a+`ZIr* zGCRC$f2?|g8T&hiGtbS8%U$rhX1AWQh>FVdQ&MBb@0JG0`O8@`> literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/27.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/27.png new file mode 100644 index 0000000000000000000000000000000000000000..a61fe9bd9453f76f7a5564753905148f4fd79e81 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`4< z7sn8b-l>x#C$$*xILGh$6<1(<eb=$2 z+FLshTH5v$_7~>3x2R67J6yJ5iAuAKpm4z4aDkrm37a^J-bpyV@!9p9eNu6l^d+sG zc_}AnatQ|7emIvjVT1d0rXSY#7!C*@tYljuw2QIB!m@9%fqYU;wVUoO8)8TRX>f*8~z`YUuff*&-Ni|3edLzopr0JK?q AlK=n! literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/28.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/28.png new file mode 100644 index 0000000000000000000000000000000000000000..52160f07602a031beead8000aaf7fe7d7f701860 GIT binary patch literal 309 zcmV-50m}Y~P)5lTogOAPhxMUuIvrvtD*qR@V0+BA`w(H6%dn>Fot9 zNyaED^TtEC-1;JyPg2gow2Fw7l;{6{?{%z~nAhO$m(p(vBobx?jo8Plf>Lalm#(1o zL_`2Qw@`}Vo=8W++KSl)e*g&g#LR}|%L6l}{m(h6Q8Qx4Jpn^vft=8}TvsqA14s}N zgWMCA&wx?p2)H6CrC?^w)V_TkACS^vbSu@4Q;!#l`z=UL$N|a$kPXNL_^?EhX0im> z_sX_ylLxDjH$aDA8L5lR*-MFbD)2YyYJ`3;7woZ1#{y5_J!YMTseCVL%gN zn5nu`+ySWlez)Sq@CYK`ITSBVUzJS@#aGNK9l*wi`C6g7Hv7CRd;EW)u zQHlV=og3tWt|QF~B92T3aEFMP%DrHE2h3&8fMKH6ikWp$^SE8^F8b)&fX4{k{dJ+3 zw;;EnLmEgEKpn^e_;52JGjDrw94Gs}FB;s1d;k)HDdGT{4(A!bnZl+%&nBMjz;Czp bcmChLmW@Q;yqRV800000NkvXXu0mjfhDVCz literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/3.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/3.png new file mode 100644 index 0000000000000000000000000000000000000000..b1c94138390db17cca3cd25087fef2a68be1c3df GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px{|g z7sn8b-l-F!g<2GNSgfagpEP^oogUkpZ`c(cC7+f(J;~$JnFJ@EnGRw51FrAidL=Em zBE#Vx@Af>|ws|Vj><-^-9_Th*iO*ak_)f1peEM$ho^;mBC3|G&&Munwj-z0WrPwCc z6gC#S^w|x2R~dL#FzZ&Yp=H6b{V7z4Y6erE6Wd;1pgVz~9nJ%-R$?A#d e!*d7s|6;1us{Io1;CU_3V+@|IelF{r5}E+6lydU` literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/30.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/30.png new file mode 100644 index 0000000000000000000000000000000000000000..7b52276d950b18d86a3bb5daf0f99f99dd33f34c GIT binary patch literal 338 zcmV-Y0j>UtP)5lTmWSAPhsFJGoc58RBN*WbOxngxzjuRvA8=#Ih`# zNRlU-+Wz7XRMl8PzC4n02U}!2CFT78=X0G{CH5FCUx&` zmfF5#$NpjLfl?YS&M^TgDQ&MaEZ7wsHfwJ`CdCjp_-CHw9~fp8d@pZQql*{P^gBZ6bm(F?J=bfduxoR1Zh~ kyN!|-`Sj!!Zv@}s7j~*fcGZN4e*gdg07*qoM6N<$f(Is!EdT%j literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/31.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/31.png new file mode 100644 index 0000000000000000000000000000000000000000..02283dbb0600eccf63e421260ab68d468f4e76dd GIT binary patch literal 363 zcmV-x0hIoUP)5lR=KfAPhqvqu#6BtmbCsWS#|-w!eQC6Dewfa47=qRfRWMpnNx#C_Ywj*io54?ci@;1nJlB^-+x>wO00h2f(h_;y8FQA_UtR zWmZahhzG3upIQL<87CNSj=A@jb+#w%rv}3V6loZ8+5|*WY_H^I@7ZtHD4_-wgM@8r zt+$hx4-XBtiKW&$r~;N&Uu|-T)-KNX*d`v^97E=%K8(S=8y!37H2A}X`Iuf$*7oJh z)ZCmWcoW literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/32.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/32.png new file mode 100644 index 0000000000000000000000000000000000000000..875843c5c990a5ffc682d813c32542de6e907ed8 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`A> z7sn8b-l>xVi;gJpIL|LHTK_ApW45JwvAvkahLdHBdhC6ACT!TKGBYsrdMmexsI+I^ z{3S65C%L+Kor?Rv%l`N=!EC;zQ|y=ei<%r0>=!k0Q(|hk{&(ryOZICSW-MVT_a#tKKQ|}5{GXTHU#YjNRlj))--W9l%#|^fw&#U89?S{*zUS`g je^R`^znj*nR&>R0?-VfG!N6<`^c{nztDnm{r-UW|rjT+2 literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/33.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/33.png new file mode 100644 index 0000000000000000000000000000000000000000..d64f1371ecb9f25a7350f77157394be8466d95aa GIT binary patch literal 310 zcmV-60m=S}P)5l39+#KnO!0qrTU0v%t-`ndc+5kfdj`ghDCCn4(OG z4O2#NL;#TEd&d!nt%E>ksO4y*=TcQEA_iaZD0~-9sH!AsiP#>&&O`zm4kf@&pOa%ho#_#{ocQ zGWqV#3m`_dQ{bl;c~5U{s;8ZxV(tK-M<|HxVV`3=!efH zFvYs4q=x|WNlu$T#r;VGGTqjak@{_v?(!jE{Z;+}4}t&U3t^t{kpJ@|?f?J)07*qo IM6N<$g43jj=>Px# literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/34.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/34.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d94c5de5b72e44926377c49dbdd2e698e810fa GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`D? z7sn8b-l>xV`Hm=XxTKp^uYY^CW%k39H~O=*w_FoRJ|iJJZ$*j4v4D#fg~F~}{0~=l zb{uyINPDLAsP=FAymp1}BC+x;OXn;xW=eQJbAhE?t=EHl#%@i|IE0oneEP)5l2H=EFbG5+j`z}=mE4S;Z2d^uK&+!~hY57TvOr9T z2~%@ta|fV}bH(PHoq<5zlzcRieJLX3?&H4TE%C|{QA9}6Nn*1F>y8B06&gaauJgEM zQ$4_~CtALd+RMo{_=O}Q;vkSsOOOhoStUve&eE!rw>bqEtx(!o2%xGE`@W}&UlpWe ziPjp==Y!UKNvsOc^0|9o+SnfT8I*MbT3SfNW1Bh){xpM$W1I85p27XIg8G1FToqgr s^yvq%r@w1F^k`wU{3?II8^OPL0jMX`;M#54X8-^I07*qoM6N<$g6qG33jhEB literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/36.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/36.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6235b2e4d8d8d777bd801b0600eb3b8fa15704 GIT binary patch literal 314 zcmV-A0mc4_P)`6pHR5*>5lUtGnAqYc{w`O0uGjV6Ivdl-f&)d~ggI{0~l88x& zHNrzVXHo(QB4XURI{?*c8b#d)Bq7{gdmxyZyUWbf`#uwhi3-eANNWzYR+_b|`Xpha zTkV4H_Yss*W`mYvW|A1xb!)q1u?cf`0U8pTHO*;@N9t@ki(Tnw%g}H=!bjE2Hcwsv z5;AHom?BL%-P+d5T`+=ZQgUhMC>&?;q-nuT@T@bL4A$0sJ?90qrE_qA7Ery#N3J M07*qoM6N<$f~~`Z8~^|S literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/37.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/37.png new file mode 100644 index 0000000000000000000000000000000000000000..01203304840a71dca8498d9210ac1ab1d59ee52e GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`4< z7sn8b-l@USlUNivxPy!J_e4HE`yu5fzlgl?>ubwSZ@Q?~5}?assF?HaLXeWm#i-NK zlCQ2BR0px}8= z7sn8b-l@U2d5zBJ)uQ0RQUOF?lB z>$eAg*UB(VD0Vwn$+4>4UABz>)w%HFllhYONAt27<{z#9ALOO^?KbnTL5l3TKaFbqSFnC^@0tnSXt%5*=-le8b#Gad|BiY!OQ zjF3MOydwbk)aNta@m7B^_)bqX9x>N;W;!BjzhMJ@%ZVs6ZM&0bjG())K~$2!q@`n%eyk9+-%&d+-ZHDta`~P-t2` R5jOw;002ovPDHLkV1nQOgS7wv literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/4.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/4.png new file mode 100644 index 0000000000000000000000000000000000000000..6e5cfc09476cbc46c79c2143243daa90dc2a77e1 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0pkS+~ zi(`mI@6+Ieye$Si#eQ#CXCJ-0X6Bh1y$&(HuMavuZ}`;lIASg5A>kT1U*;L#d=o8i z6z+=EdJ(On>bUh0*xFp_-()Y?Y~11!5l2LAiFbqVWS9`DR%`)7~KH2mmn~(rf)rpY6n1?-f z7_;iou?HU1)M7sPdT!c7nQ2KL`P;`JOENrgzM#ys?For%3qcqgBCrhvEIARe<-Y(b z%R!j_Ylr~*o9u}m?`@NrCjdYaK{z6iG-FjY-C9966Z@^t>*mGXOu+926cJ%by#jmo z+`U*UI6aww0jZy|NBPQyP75N7CjxV>-)3fH{T73aW~#q^i0n+hTqF8I3-!@`Kjp+VZb}|LPaYR4R?B ST(6M;00005lTnU?FbqVWtKO@7vkW)0Pd59Jgaq1EwMK}5?8kVV zgfT0^heVSAIL7lHO)btBgZu4mjaTezJ2Ne5!iE?MZ6LbN znH5Vtz@ry##iL{;pFbEW#x|Kb0glS#kcbE(0!f68B&uq;b-|yXhYR2nZyU*cF%$4} z14Tqw5|UOs5!k*dSe~4K38|m5?cV zgQ@O2pi7nnt)b)SurZ~*@5?3W;yQCW+eCnK3Lh0z6;(-9bx($&Q@XwF%2BR0px{PN z7sn8b-ldaI7alR-ah`AVGW)XR!E-B4O=z~yzUgIlu8F;ek3}OO>)4*={_VRO&p%e2 zI=#^8VqNHms7W@>DzoRWmYnS6&T`?!-U^$2Wo(mY27eCNa&YgeoZ?58Dv}=r9$ox- zvUYCH6W-j=U9B7wHC1$@Bi{X&iWb`|9&q3T-@4>^mPv(cSEb+Haj3YVnC+Xu{|&9$ z@htB;ZnUQr+_t;?Msk0XN?D`ov9jnCfgk+)7zLTNJNq6Tr~o>i!PC{xWt~$(69B6R BXcYhe literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/6.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/6.png new file mode 100644 index 0000000000000000000000000000000000000000..947d9c40f0bef24c768d61ad5df2514ef1dda1e3 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px|^* z7sn8b-n)|nxegofIM1*CXl3s0x2$$YWb7-`2BR0px|Lo z7sn8b-l>xl*Bw^iY2NR%JG?)vcyoc#e)%=AyUG@y4@%YQ*x1-&nBQ{HP~zAR^Fsk* z?t!z#_p_YY_<`&GQMu);>(qQEr}6#RyW2PWZBf=$DGBA1+um;c|0Cvjx`)w&AR z`kdFbXUv%y%vQ$E-e`SPPXE2e2YJEWBF)L!%c`Wy6+2hlmAE|5LfNMBr12ldtGpJ! UqmBwK0D6bP)78&qol`;+0H#ZB7XSbN literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/8.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/8.png new file mode 100644 index 0000000000000000000000000000000000000000..5bcd3ecaceb78c94e91991fc1694a54b05329933 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px_cu z7sn8b-no+_`3@`axXfRD&-&ci2Pv2Nr#UpF89F5eq*b^bX<@ig>)+jdt7dbabLEcR zzmhJz(<`5DaZDw_3DVb;Jh>FI%=qPm>deiY+?O%*y>QkMoHYM8t-OJ$V>gTe~DWM4fp`Bk{ literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/9.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/9.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4991d8de2e2b750b2d681533f1b7e1a3f66765 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px_=) z7sn8b-no+>3N)Gfbv(dqJ%4jwiJ?vU#n)@qkWTys4h zb?nF?&6=F<+-U1bUJl9|9e0VyIW666dCaRiF+hM%L9y}4EU|4TE$6#mdiVE-Q|{Z0 zme!yT-(s7gX;yW*?UM~GopeUa%a8bl2@~4;M z?wj@^XFBTxHbiH9?6^KdV=05AhNAVcg;P82&mCSYm9VDof&3oE*%479@v+<20sXFVdQ&MBb@0CrGl*#H0l literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/icons.gif b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/icons.gif new file mode 100644 index 0000000000000000000000000000000000000000..a58eb93f12a2c63382d6b47f070fa03ffec7fd5f GIT binary patch literal 4041 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 literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/loading.gif b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..251df0544cd63db56160b5a53c9e203999a561e6 GIT binary patch literal 570 zcmZ?wbhEHb6krfwSj5Tz21}is{PSHlpTQ%ic>s*20?KO#JbB`JoX-PVwjtvhv)DQ}p7#JCNfEF?^3rDO{ z`kg!_%&DO$()C1j*!N6FCWJZ`pgL{_4xl=*2&=_$Eh1qp1s`u759OHqxi!UnQaqAU zcA!#rpkkoi9wBFNp|>|CHN@uv{OZ# zV43`6q`+WjU;$bUHZfwA%kH-)E!nmfb1nSIbx^$N(G(2}vOn0~gfWLK1;@d|WKqXXYeZXu6yfzU<41@HNCEU|$23t=045OkcT; z;~__8v>{Kcdao~%ubF^ug!o!mBJj*D13gJ?VWlK%w>PYgE=fr0KrsXHv~Yyf!lUbT TUrrHtcg?o#wX~xJP@OdZ_UVjb literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/ui.dynatree.css b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/ui.dynatree.css new file mode 100644 index 0000000..29679b4 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/ui.dynatree.css @@ -0,0 +1,440 @@ +/******************************************************************************* + * Tree container + */ +ul.dynatree-container +{ + font-family: tahoma, arial, helvetica; + font-size: 10pt; /* font size should not be too big */ + white-space: nowrap; + padding: 3px; + margin: 0; /* issue 201 */ + background-color: white; + border: 1px dotted gray; + overflow: auto; + height: 100%; /* issue 263 */ +} + +ul.dynatree-container ul +{ + padding: 0 0 0 16px; + margin: 0; +} + +ul.dynatree-container li +{ + list-style-image: none; + list-style-position: outside; + list-style-type: none; + -moz-background-clip:border; + -moz-background-inline-policy: continuous; + -moz-background-origin: padding; + background-attachment: scroll; + background-color: transparent; + background-repeat: repeat-y; + background-image: url("vline.gif"); + background-position: 0 0; + /* + background-image: url("icons_96x256.gif"); + background-position: -80px -64px; + */ + margin: 0; + padding: 1px 0 0 0; +} +/* Suppress lines for last child node */ +ul.dynatree-container li.dynatree-lastsib +{ + background-image: none; +} +/* Suppress lines if level is fixed expanded (option minExpandLevel) */ +ul.dynatree-no-connector > li +{ + background-image: none; +} + +/* Style, when control is disabled */ +.ui-dynatree-disabled ul.dynatree-container +{ + opacity: 0.5; +/* filter: alpha(opacity=50); /* Yields a css warning */ + background-color: silver; +} + +/******************************************************************************* + * Common icon definitions + */ +span.dynatree-empty, +span.dynatree-vline, +span.dynatree-connector, +span.dynatree-expander, +span.dynatree-icon, +span.dynatree-checkbox, +span.dynatree-radio, +span.dynatree-drag-helper-img, +#dynatree-drop-marker +{ + width: 16px; + height: 16px; +/* display: -moz-inline-box; /* @ FF 1+2 removed for issue 221 */ +/* -moz-box-align: start; /* issue 221 */ + display: inline-block; /* Required to make a span sizeable */ + vertical-align: top; + background-repeat: no-repeat; + background-position: left; + background-image: url("icons.gif"); + background-position: 0 0; +} + +/** Used by 'icon' node option: */ +ul.dynatree-container img +{ + width: 16px; + height: 16px; + margin-left: 3px; + vertical-align: top; + border-style: none; +} + + +/******************************************************************************* + * Lines and connectors + */ + +span.dynatree-connector +{ + background-position: -16px -64px; +} + +/******************************************************************************* + * Expander icon + * Note: IE6 doesn't correctly evaluate multiples class names, + * so we create combined class names that can be used in the CSS. + * + * Prefix: dynatree-exp- + * 1st character: 'e': expanded, 'c': collapsed + * 2nd character (optional): 'd': lazy (Delayed) + * 3rd character (optional): 'l': Last sibling + */ + +span.dynatree-expander +{ + background-position: 0px -80px; + cursor: pointer; +} +.dynatree-exp-cl span.dynatree-expander /* Collapsed, not delayed, last sibling */ +{ + background-position: 0px -96px; +} +.dynatree-exp-cd span.dynatree-expander /* Collapsed, delayed, not last sibling */ +{ + background-position: -64px -80px; +} +.dynatree-exp-cdl span.dynatree-expander /* Collapsed, delayed, last sibling */ +{ + background-position: -64px -96px; +} +.dynatree-exp-e span.dynatree-expander, /* Expanded, not delayed, not last sibling */ +.dynatree-exp-ed span.dynatree-expander /* Expanded, delayed, not last sibling */ +{ + background-position: -32px -80px; +} +.dynatree-exp-el span.dynatree-expander, /* Expanded, not delayed, last sibling */ +.dynatree-exp-edl span.dynatree-expander /* Expanded, delayed, last sibling */ +{ + background-position: -32px -96px; +} +.dynatree-loading span.dynatree-expander /* 'Loading' status overrides all others */ +{ + background-position: 0 0; + background-image: url("loading.gif"); +} + + +/******************************************************************************* + * Checkbox icon + */ +span.dynatree-checkbox +{ + margin-left: 3px; + background-position: 0px -32px; +} +span.dynatree-checkbox:hover +{ + background-position: -16px -32px; +} + +.dynatree-partsel span.dynatree-checkbox +{ + background-position: -64px -32px; +} +.dynatree-partsel span.dynatree-checkbox:hover +{ + background-position: -80px -32px; +} + +.dynatree-selected span.dynatree-checkbox +{ + background-position: -32px -32px; +} +.dynatree-selected span.dynatree-checkbox:hover +{ + background-position: -48px -32px; +} + +/******************************************************************************* + * Radiobutton icon + * This is a customization, that may be activated by overriding the 'checkbox' + * class name as 'dynatree-radio' in the tree options. + */ +span.dynatree-radio +{ + margin-left: 3px; + background-position: 0px -48px; +} +span.dynatree-radio:hover +{ + background-position: -16px -48px; +} + +.dynatree-partsel span.dynatree-radio +{ + background-position: -64px -48px; +} +.dynatree-partsel span.dynatree-radio:hover +{ + background-position: -80px -48px; +} + +.dynatree-selected span.dynatree-radio +{ + background-position: -32px -48px; +} +.dynatree-selected span.dynatree-radio:hover +{ + background-position: -48px -48px; +} + +/******************************************************************************* + * Node type icon + * Note: IE6 doesn't correctly evaluate multiples class names, + * so we create combined class names that can be used in the CSS. + * + * Prefix: dynatree-ico- + * 1st character: 'e': expanded, 'c': collapsed + * 2nd character (optional): 'f': folder + */ + +span.dynatree-icon /* Default icon */ +{ + margin-left: 3px; + background-position: 0px 0px; +} + +.dynatree-ico-cf span.dynatree-icon /* Collapsed Folder */ +{ + background-position: 0px -16px; +} + +.dynatree-ico-ef span.dynatree-icon /* Expanded Folder */ +{ + background-position: -64px -16px; +} + +/* Status node icons */ + +.dynatree-statusnode-wait span.dynatree-icon +{ + background-image: url("loading.gif"); +} + +.dynatree-statusnode-error span.dynatree-icon +{ + background-position: 0px -112px; +/* background-image: url("ltError.gif");*/ +} + +/******************************************************************************* + * Node titles + */ + +/* @Chrome: otherwise hit area of node titles is broken (issue 133) + Removed again for issue 165; (133 couldn't be reproduced) */ +span.dynatree-node +{ +/* display: -moz-inline-box; /* issue 133, 165, 172, 192. removed for issue 221*/ +/* -moz-box-align: start; /* issue 221 */ +/* display: inline-block; /* Required to make a span sizeable */ +} + + +/* Remove blue color and underline from title links */ +ul.dynatree-container a +/*, ul.dynatree-container a:visited*/ +{ + color: black; /* inherit doesn't work on IE */ + text-decoration: none; + vertical-align: top; + margin: 0px; + margin-left: 3px; +/* outline: 0; /* @ Firefox, prevent dotted border after click */ +} + +ul.dynatree-container a:hover +{ +/* text-decoration: underline; */ + background-color: #F2F7FD; /* light blue */ + border-color: #B8D6FB; /* darker light blue */ +} + +span.dynatree-node a +{ + font-size: 10pt; /* required for IE, quirks mode */ + display: inline-block; /* Better alignment, when title contains
*/ +/* vertical-align: top;*/ + padding-left: 3px; + padding-right: 3px; /* Otherwise italic font will be outside bounds */ + /* line-height: 16px; /* should be the same as img height, in case 16 px */ +} +span.dynatree-folder a +{ + font-weight: bold; +} + +ul.dynatree-container a:focus, +span.dynatree-focused a:link /* @IE */ +{ + background-color: #EFEBDE; /* gray */ +} + +span.dynatree-has-children a +{ +} + +span.dynatree-expanded a +{ +} + +span.dynatree-selected a +{ + color: green; + font-style: italic; +} + +span.dynatree-active a +{ + background-color: #3169C6 !important; + color: white !important; /* @ IE6 */ +} + +/******************************************************************************* + * Drag'n'drop support + */ + +/*** Helper object ************************************************************/ +div.dynatree-drag-helper +{ +} +div.dynatree-drag-helper a +{ + border: 1px solid gray; + background-color: white; + padding-left: 5px; + padding-right: 5px; + opacity: 0.8; +} +span.dynatree-drag-helper-img +{ + /* + position: relative; + left: -16px; + */ +} +div.dynatree-drag-helper /*.dynatree-drop-accept*/ +{ + +/* border-color: green; + background-color: red;*/ +} +div.dynatree-drop-accept span.dynatree-drag-helper-img +{ + background-position: -32px -112px; +} +div.dynatree-drag-helper.dynatree-drop-reject +{ + border-color: red; +} +div.dynatree-drop-reject span.dynatree-drag-helper-img +{ + background-position: -16px -112px; +} + +/*** Drop marker icon *********************************************************/ + +#dynatree-drop-marker +{ + width: 24px; + position: absolute; + background-position: 0 -128px; + margin: 0; +/* border: 1px solid red; */ +} +#dynatree-drop-marker.dynatree-drop-after, +#dynatree-drop-marker.dynatree-drop-before +{ + width:64px; + background-position: 0 -144px; +} +#dynatree-drop-marker.dynatree-drop-copy +{ + background-position: -64px -128px; +} +#dynatree-drop-marker.dynatree-drop-move +{ + background-position: -64px -128px; +} + +/*** Source node while dragging ***********************************************/ + +span.dynatree-drag-source +{ + /* border: 1px dotted gray; */ + background-color: #e0e0e0; +} +span.dynatree-drag-source a +{ + color: gray; +} + +/*** Target node while dragging cursor is over it *****************************/ + +span.dynatree-drop-target +{ + /*border: 1px solid gray;*/ +} +span.dynatree-drop-target a +{ +} +span.dynatree-drop-target.dynatree-drop-accept a +{ + /*border: 1px solid green;*/ + background-color: #3169C6 !important; + color: white !important; /* @ IE6 */ + text-decoration: none; +} +span.dynatree-drop-target.dynatree-drop-reject +{ + /*border: 1px solid red;*/ +} +span.dynatree-drop-target.dynatree-drop-after a +{ +} + + +/******************************************************************************* + * Custom node classes (sample) + */ + +span.custom1 a +{ + background-color: maroon; + color: yellow; +} diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/vline.gif b/Activity_3_python/LangagePython_fonctions/css/dynatree/folder/vline.gif new file mode 100644 index 0000000000000000000000000000000000000000..1b00ae50e0f1538d985811207b0af2a85d1d128b GIT binary patch literal 844 zcmZ?wbhEHb6krfw_|52S|G#wUQXn}BMnhnzhQRL+ z3l=PCXlVEkOy~a@{(~tX4P*g<;!hSv28MqOIzUNaju2pA;Lv3F%PCTkzu;gqhp>{) jiVX`7H}c4P#aL`ybg)BAJ?YGk0_Edva`s$291PX~%%k&- literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/0.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/0.png new file mode 100644 index 0000000000000000000000000000000000000000..0189cda7da0a425f8cc153e19433a2e83cc06b51 GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px{+c z7sn8b-no-+Z#=BPs*|QxYfypeg_F;elh@7tF_Gmj!zH;R2b9h!3$eaf z^{l^nqQ|Qe8Tr?4-0oW)Gt^m5JlTH8=^=+ui(YH_1c6SitpRJ}y3Q*EFArXubk&Y2 z<PRnv1Nqa1x>@h1&xLhFq@Z4p`R7AL*ift10`tNW5&r#{+SIM^}if~)`m_J>Fhc(*WAx{3)7vy n0TrA#tR_mEzdQ5gbOnRI$(`V>4>r#QdXT}>)z4*}Q$iB}aQSuO literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/1.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/1.png new file mode 100644 index 0000000000000000000000000000000000000000..01335b024d28c0edafb8ef321d4804332e9cdb40 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px_=) z7sn8b-m?=O`;HiJuykMibNbJj55{%Zsy%F8AGxMgeA~?~VZoIf9rrsp&i@8~ueH@#+(uSqy;MeAVGn==>NIg4v=Ez2BR0px`o3 z7sn8b-no+l`C1fsT;k2|&92&9wdp2*O!Cql#}s+nE<7|`#mTtg*Dd+HD|>EkSW&xU z_cJF!#q#MV9vja~t}dKq9h04_QtPJhR?q#e(2R*(4nmVUI=1XK5D;4V>FXvr!5bIN z_pNw(>kj9dJ25YlF3di2EY0^%mv%$SWSM_y3G4??^Ozi*n{M<|X#EbYYg|paw;LGF qeU3Dg`~F+HSLv5DXQWZZYJJArbIyk>`ke`MF@vY8pUXO@geCxlC}O?< literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/11.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/11.png new file mode 100644 index 0000000000000000000000000000000000000000..60da1797743690efc6c5b9a414f7c2e2ca7dcabb GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px_Qq z7sn8b-noGng$^rlc<=dJes})E>8bpexm@?&z4Um?6bC0w2L^@?hTpOk*Skd5RT-+V zI5zYtdN!T$*&4?Ane+PYAC58x#-3ch7P>hLe$MoH6}j)8yHCLvRl|x{zB6yuY4<7F z2OiqX%Gw*~`cc2`b4s6L&EVhaYKJMjlD}%FdCL@qypY_2P2YLhkdmKtC{ey85}S Ib4q9e0Mc4!{{R30 literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/12.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/12.png new file mode 100644 index 0000000000000000000000000000000000000000..7977cad23ca5b54510debd5438c9e122f7f5bb88 GIT binary patch literal 328 zcmV-O0k{5%P)LlTmVnFbqSVcY3e*W|*7FCsRKl5Vq6(Xw5KWa4buT z6UO`}zJ5!z+L9jsGLw-bJ_1~YItnre)P5oi084!Xd3hwcs%+bmY}*uu^E=nnk;la9 z!Ct$!ZKJzMiTa?usxXcVU{cRa#u&sN6veh}OIgq@rZ<_%Yo^xX?uPQCkW(;lfl7Ls zm=Xdq2U2q%f{B=oAmToV*9xHN`U$pnx4{m^7}&mKJOEO;xHPpNv?CzmX7YnUW*)lh zZO6&NzFDksd2kHI?x%S(*3QPumZt|wVE-F~$wI=JH%NB_0(!Pt);ve~eXKbg{P@Oy auk$x--@n{dGl5qC0000DlUr`ZFbG5sRrh6f7P7PP%BCN=ex!;bwL~b$h5-f~ z#w-bgRQfpB!8pcA9#cs<+HuL;2l;l)(AF3Pu$Y&Rih9cR)ZNX*QdEmG7SLlR=KeAP@tK)&7hA8O_h!FY_J}GBDE4Wr$D^qzi1E zX3RJ3_rHZwS<*2V5%lQoBj732RS?l3=S}DUmg)ua_DFJO+O{Rxwn+^4dyUC!9n*FX zW=@YWs47AtKWNWPjN1cPM~?`4@3h%Sk}<|s)~FK8n~30NE$zis1?i)ZTQKlIC7mXQ zgn)>SRP2|~=4GTJXzg_oKRZCn^&9poPCNz)L|hVH;QGQ(UzxD+O@Hzs$$$?Nr66Jg=kWpTHP>Lv&H?Drn}jdO)v5{* pP-~lQ{3hW&*7sH)d;9ix{sTox+lpT$6VCtu002ovPDHLkV1jZUl-mFR literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/15.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/15.png new file mode 100644 index 0000000000000000000000000000000000000000..58f205ff8ab016b81bf4b374ff430be3f8a1be3f GIT binary patch literal 344 zcmV-e0jK_nP)5li6*=FbqT=gYC=g%%jez$|fJOY$;i65E_ID9>Y^% z%tK*tj6V$dGlgMsjvK94QB|9BW^&}QgBoM-Cq^24sjAApBk>MmdzH~;5|4~-kfnw9 z)TFn1Nf<}WA@=G%GN0iHJYzj`1ie4A$xOaxz#TlD<&oV6=G=zuJWl|siq~3JNL23} zKvid5LbNu5GKqK=aaYhJDwE8Ez~mAgP53+!kU3hIZQK9=Sh7svjb|4-j)w(VkfrK(K;00002BR0px|~- z7sn8b-no+l`3@`aIL9x$yV_lOujHIFzd7D6II!#Nil&H(k0&HKF}&G#{2}usb!m^Q zPv5`Q9}jOKWiJZxZjr@I#YA%wDpAv_Wzi;8Dqa`|6kg?@likDnv?w# z&&ld6S6JD-f0mOb>j{U<8_N4Wh5oDPZM(bgn3&Tw&OhDan!(e$>v^+SfnH$nboFyt I=akR{06igUk^lez literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/17.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/17.png new file mode 100644 index 0000000000000000000000000000000000000000..e450e6b6e53655dd12aa52684150f1aa037b78d8 GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px|*& z7sn8b-l>xV`C1eNoa4>!onG8&et2@JJ&UBk**sw;zd752Lyno8sP@XyWZW>_HpzST zuBL;}i!2@sm)cJ(F7sNsC))bhv71^hmg%?Od04IUww%+rdEuPLS}gBheSNwrZf-~u ztBg~i_Z2qI=?2$J_p(Mg)krMl-gtj;v%iY;dS50_58pf&1&+l#d@njDFDw^epRK*m zYKCTSSG`rh9{J2y36*6DHLU@&->aB6J+^4zky#iu|G1ULzuqqSOZ*1YY-YZeuVI|U X@@a+U*Q!@QFEMz!`njxgN@xNA8%1cJ literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/18.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/18.png new file mode 100644 index 0000000000000000000000000000000000000000..fae8d06624fff2e02587a66f1c7678dd406567c1 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px_!$ z7sn8b-no+l`C1fsT$azaonfB6Q_}Y4oAyPzO}qFEja09=>pBVe9zB()78LBs*p`@f z#;Is)*euD%^UnXU-n9I@T)Idh*T8O>oMT2fcNwzo$CH$4STm-Ob?X>gTe~DWM4f=%!v@ literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/19.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/19.png new file mode 100644 index 0000000000000000000000000000000000000000..557aa37bc44252f4dfff10de86e17e16ddf74996 GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px{wY z7sn8b-nl{1d@PC_+3Lj`c1l(m+eUtOKFe?}P2QKoV~JQxQ$h2pr3bti8LqsvT_fS_ z)X;YF=!FBHnAe(44SIGrbRzfs9HFh(R5T}i$ZJ%dz~DDED8M`Is}k#xXim{WJ~ij} zve!!;1^6BIoW0B+=glIyTzJRU3GwxZ1fT56U%ke0+etgY9b$Jv+!WLIXj^UbN#l54 zdoQ13hKlh|ebE^?=N|F1a@Vo>bDf*>VlQ(B!>-foiq9QhZ**WQcYM;iPyVLTaqlnA VtJg6<^A6}C22WQ%mvv4FO#liYXD0vv literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/2.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/2.png new file mode 100644 index 0000000000000000000000000000000000000000..3887079419a97afe276df2028fe21aa5615a5f0c GIT binary patch literal 332 zcmV-S0ki&zP)Dli_W}APj^*q7DL+#G_=BI-6t^GD)(@^+y5^!c+TH zTNWUE=fg6H)}yW!3B(8SS)dsU1om7n3bVpZ3B5F!wy z$|wj|vGrC^Y-8i8WPfHCnt%dN>D0g%foY8^WyFt9AOd)8(Wu@Ee}dspqjP^aUBv#3rh#GY}nl! zcgM__=b3%qF*72OZYUyAj@JO>?vkXOb6q2`4%RSPEeX(pTVV0GAEb~J1@C~r5)=|X e_>HxR|Fs{)%?rH4Jngao00002BR0px|mx z7sn8b-o3%M1rICmOfHt~IlCq&O|7`TVy45TKOr*Z5fX|#9fu7cJ(28WouZ}tVdcax z94#l#%vo~%PxAi$ExJiOE3(ReU2_b4v-ipYPpgw=fs@_q?7X&$tG$*i=jLep!N4$S zI@g*VqIq3Eq_;8E7k^mEJhAS48r!53mdZ;@v=ubM6VrNS#CvN*%f74Wv0Trezf^z0 uy4ZxTGw0>>`{^?=RsQK!tQV{3*8jHT5u;(}ggT(J89ZJ6T-G@yGywp_7+!V& literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/21.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/21.png new file mode 100644 index 0000000000000000000000000000000000000000..bfb11c9138b824054fdfe24b48ab59cfe6220d3f GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`l2 z7sn8b-lLNP`;I8^ILEKDjL3J}5m{yQo?XO|F1nms+A(4G_o{Y zKill*>QQ{YF(t@uf2%5QVX;kp+ZE@2-mX(375{w#_P#Q|ee5lVP%hAP|GIo!*PR8OzP$$?|^4BGl6M#c>42e1;5~ zAf#F}xjRT=_pDJ3vou{KwF=9Oq#{DI=P|=b_K^+zItOa4Xwk0Ny9B^`pKDm|j|o=$ znV|0pBoPq+faeTw_mRt%s?-6vX#fr$a(77ivP~WAwIqlLm>DF&>~2nICUv?VuKDQQM8fFbt!L?q!e0ZpKW;`*7q(;}q925UeN`MJh1n z2bN?5HeiyLw4CdG19>@Ld)T(~Y}k?D(zuJ0NRn+YBnwxceCCqg%2?vf!rk=GRvv(3 z#K0l7BmxmeEMEtnBMk#h7$Q(gZTYG97V{2Bp5FG((n{_?(r9lB%f;d1I|0DtAb8Ab zNTQSqNt5ScJ|aK@wW`-H1b|UW0ofXI1H0xMg23w)s8yY0ZkFmo@VpX?DUBra+G{gO r_>_3)u=3yk10*47uizVW1;64C9A8SvY1~-Y00000NkvXXu0mjfzUX?f literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/24.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/24.png new file mode 100644 index 0000000000000000000000000000000000000000..e91b518c4f968ad0c84c25d2e185647520ea18d4 GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px^~h z7sn8b-l@USLPr!hxUKh2zjLO-*hcbqp#0QZcQyIs6PBioql!0BW+q@g@sD3 zsLr&RmY(lF&VO!Y9R`~(zb+6FQ|Fx2U-0+bUzW97ok9!0 zFc>$ldXyr$qa#5q;{9>qATI;sjuU2)p@%OsIj}2QI=nksk;cHVRAj{~hL%u-THGZ~8iw=qrCdua=dRx#6)^w1IJjc>b1X_eW-2 hPu`pTW2w-Nk1n|X=-muWpeGp^JYD@<);T3K0RRrEZRP*~ literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/25.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/25.png new file mode 100644 index 0000000000000000000000000000000000000000..00d2d5d3fccff326da36a2964ec6f082e72f39a8 GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px|py z7sn8b-l>x=@*XzeaFGxFzR8^XCXavF-wksUmdn5O)JQm3DB#l}z3lSb!?F#|541UPZdg~Gc5|)VgR9)S=^K89 zHy_kg5fq&4a7`)WapI${vl(j>&33Qn5?FM8^0U-f8HIB3m$phQFSeH7O*b*VGdJqB zk=Lz*QNDb22WQ% Jmvv4FO#nl0e~AD9 literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/26.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/26.png new file mode 100644 index 0000000000000000000000000000000000000000..4952af636c1ea7673c115d36b46d0b656f4d4c21 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`Y} z7sn8b-l>yc^By+fXzACgzB;=#r)=JvUx(K_#DuDLY4q{Rr)M=4Y(Kqz$A*oU{bx5` zdi<`dO<>}b-Pv#I-)hZ>U9t6?P;IH;oaahsuQE<&Vbq(%-!!jqUvyK(#0BXrC*Mn% zbnRtRR?}p#a+`ZIr* zGCRC$f2?|g8T&hiGtbS8%U$rhX1AWQh>FVdQ&MBb@0JG0`O8@`> literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/27.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/27.png new file mode 100644 index 0000000000000000000000000000000000000000..a61fe9bd9453f76f7a5564753905148f4fd79e81 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`4< z7sn8b-l>x#C$$*xILGh$6<1(<eb=$2 z+FLshTH5v$_7~>3x2R67J6yJ5iAuAKpm4z4aDkrm37a^J-bpyV@!9p9eNu6l^d+sG zc_}AnatQ|7emIvjVT1d0rXSY#7!C*@tYljuw2QIB!m@9%fqYU;wVUoO8)8TRX>f*8~z`YUuff*&-Ni|3edLzopr0JK?q AlK=n! literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/28.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/28.png new file mode 100644 index 0000000000000000000000000000000000000000..52160f07602a031beead8000aaf7fe7d7f701860 GIT binary patch literal 309 zcmV-50m}Y~P)5lTogOAPhxMUuIvrvtD*qR@V0+BA`w(H6%dn>Fot9 zNyaED^TtEC-1;JyPg2gow2Fw7l;{6{?{%z~nAhO$m(p(vBobx?jo8Plf>Lalm#(1o zL_`2Qw@`}Vo=8W++KSl)e*g&g#LR}|%L6l}{m(h6Q8Qx4Jpn^vft=8}TvsqA14s}N zgWMCA&wx?p2)H6CrC?^w)V_TkACS^vbSu@4Q;!#l`z=UL$N|a$kPXNL_^?EhX0im> z_sX_ylLxDjH$aDA8L5lR*-MFbD)2YyYJ`3;7woZ1#{y5_J!YMTseCVL%gN zn5nu`+ySWlez)Sq@CYK`ITSBVUzJS@#aGNK9l*wi`C6g7Hv7CRd;EW)u zQHlV=og3tWt|QF~B92T3aEFMP%DrHE2h3&8fMKH6ikWp$^SE8^F8b)&fX4{k{dJ+3 zw;;EnLmEgEKpn^e_;52JGjDrw94Gs}FB;s1d;k)HDdGT{4(A!bnZl+%&nBMjz;Czp bcmChLmW@Q;yqRV800000NkvXXu0mjfhDVCz literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/3.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/3.png new file mode 100644 index 0000000000000000000000000000000000000000..b1c94138390db17cca3cd25087fef2a68be1c3df GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px{|g z7sn8b-l-F!g<2GNSgfagpEP^oogUkpZ`c(cC7+f(J;~$JnFJ@EnGRw51FrAidL=Em zBE#Vx@Af>|ws|Vj><-^-9_Th*iO*ak_)f1peEM$ho^;mBC3|G&&Munwj-z0WrPwCc z6gC#S^w|x2R~dL#FzZ&Yp=H6b{V7z4Y6erE6Wd;1pgVz~9nJ%-R$?A#d e!*d7s|6;1us{Io1;CU_3V+@|IelF{r5}E+6lydU` literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/30.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/30.png new file mode 100644 index 0000000000000000000000000000000000000000..7b52276d950b18d86a3bb5daf0f99f99dd33f34c GIT binary patch literal 338 zcmV-Y0j>UtP)5lTmWSAPhsFJGoc58RBN*WbOxngxzjuRvA8=#Ih`# zNRlU-+Wz7XRMl8PzC4n02U}!2CFT78=X0G{CH5FCUx&` zmfF5#$NpjLfl?YS&M^TgDQ&MaEZ7wsHfwJ`CdCjp_-CHw9~fp8d@pZQql*{P^gBZ6bm(F?J=bfduxoR1Zh~ kyN!|-`Sj!!Zv@}s7j~*fcGZN4e*gdg07*qoM6N<$f(Is!EdT%j literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/31.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/31.png new file mode 100644 index 0000000000000000000000000000000000000000..02283dbb0600eccf63e421260ab68d468f4e76dd GIT binary patch literal 363 zcmV-x0hIoUP)5lR=KfAPhqvqu#6BtmbCsWS#|-w!eQC6Dewfa47=qRfRWMpnNx#C_Ywj*io54?ci@;1nJlB^-+x>wO00h2f(h_;y8FQA_UtR zWmZahhzG3upIQL<87CNSj=A@jb+#w%rv}3V6loZ8+5|*WY_H^I@7ZtHD4_-wgM@8r zt+$hx4-XBtiKW&$r~;N&Uu|-T)-KNX*d`v^97E=%K8(S=8y!37H2A}X`Iuf$*7oJh z)ZCmWcoW literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/32.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/32.png new file mode 100644 index 0000000000000000000000000000000000000000..875843c5c990a5ffc682d813c32542de6e907ed8 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`A> z7sn8b-l>xVi;gJpIL|LHTK_ApW45JwvAvkahLdHBdhC6ACT!TKGBYsrdMmexsI+I^ z{3S65C%L+Kor?Rv%l`N=!EC;zQ|y=ei<%r0>=!k0Q(|hk{&(ryOZICSW-MVT_a#tKKQ|}5{GXTHU#YjNRlj))--W9l%#|^fw&#U89?S{*zUS`g je^R`^znj*nR&>R0?-VfG!N6<`^c{nztDnm{r-UW|rjT+2 literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/33.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/33.png new file mode 100644 index 0000000000000000000000000000000000000000..d64f1371ecb9f25a7350f77157394be8466d95aa GIT binary patch literal 310 zcmV-60m=S}P)5l39+#KnO!0qrTU0v%t-`ndc+5kfdj`ghDCCn4(OG z4O2#NL;#TEd&d!nt%E>ksO4y*=TcQEA_iaZD0~-9sH!AsiP#>&&O`zm4kf@&pOa%ho#_#{ocQ zGWqV#3m`_dQ{bl;c~5U{s;8ZxV(tK-M<|HxVV`3=!efH zFvYs4q=x|WNlu$T#r;VGGTqjak@{_v?(!jE{Z;+}4}t&U3t^t{kpJ@|?f?J)07*qo IM6N<$g43jj=>Px# literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/34.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/34.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d94c5de5b72e44926377c49dbdd2e698e810fa GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`D? z7sn8b-l>xV`Hm=XxTKp^uYY^CW%k39H~O=*w_FoRJ|iJJZ$*j4v4D#fg~F~}{0~=l zb{uyINPDLAsP=FAymp1}BC+x;OXn;xW=eQJbAhE?t=EHl#%@i|IE0oneEP)5l2H=EFbG5+j`z}=mE4S;Z2d^uK&+!~hY57TvOr9T z2~%@ta|fV}bH(PHoq<5zlzcRieJLX3?&H4TE%C|{QA9}6Nn*1F>y8B06&gaauJgEM zQ$4_~CtALd+RMo{_=O}Q;vkSsOOOhoStUve&eE!rw>bqEtx(!o2%xGE`@W}&UlpWe ziPjp==Y!UKNvsOc^0|9o+SnfT8I*MbT3SfNW1Bh){xpM$W1I85p27XIg8G1FToqgr s^yvq%r@w1F^k`wU{3?II8^OPL0jMX`;M#54X8-^I07*qoM6N<$g6qG33jhEB literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/36.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/36.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6235b2e4d8d8d777bd801b0600eb3b8fa15704 GIT binary patch literal 314 zcmV-A0mc4_P)`6pHR5*>5lUtGnAqYc{w`O0uGjV6Ivdl-f&)d~ggI{0~l88x& zHNrzVXHo(QB4XURI{?*c8b#d)Bq7{gdmxyZyUWbf`#uwhi3-eANNWzYR+_b|`Xpha zTkV4H_Yss*W`mYvW|A1xb!)q1u?cf`0U8pTHO*;@N9t@ki(Tnw%g}H=!bjE2Hcwsv z5;AHom?BL%-P+d5T`+=ZQgUhMC>&?;q-nuT@T@bL4A$0sJ?90qrE_qA7Ery#N3J M07*qoM6N<$f~~`Z8~^|S literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/37.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/37.png new file mode 100644 index 0000000000000000000000000000000000000000..01203304840a71dca8498d9210ac1ab1d59ee52e GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px`4< z7sn8b-l@USlUNivxPy!J_e4HE`yu5fzlgl?>ubwSZ@Q?~5}?assF?HaLXeWm#i-NK zlCQ2BR0px}8= z7sn8b-l@U2d5zBJ)uQ0RQUOF?lB z>$eAg*UB(VD0Vwn$+4>4UABz>)w%HFllhYONAt27<{z#9ALOO^?KbnTL5l3TKaFbqSFnC^@0tnSXt%5*=-le8b#Gad|BiY!OQ zjF3MOydwbk)aNta@m7B^_)bqX9x>N;W;!BjzhMJ@%ZVs6ZM&0bjG())K~$2!q@`n%eyk9+-%&d+-ZHDta`~P-t2` R5jOw;002ovPDHLkV1nQOgS7wv literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/4.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/4.png new file mode 100644 index 0000000000000000000000000000000000000000..6e5cfc09476cbc46c79c2143243daa90dc2a77e1 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0pkS+~ zi(`mI@6+Ieye$Si#eQ#CXCJ-0X6Bh1y$&(HuMavuZ}`;lIASg5A>kT1U*;L#d=o8i z6z+=EdJ(On>bUh0*xFp_-()Y?Y~11!5l2LAiFbqVWS9`DR%`)7~KH2mmn~(rf)rpY6n1?-f z7_;iou?HU1)M7sPdT!c7nQ2KL`P;`JOENrgzM#ys?For%3qcqgBCrhvEIARe<-Y(b z%R!j_Ylr~*o9u}m?`@NrCjdYaK{z6iG-FjY-C9966Z@^t>*mGXOu+926cJ%by#jmo z+`U*UI6aww0jZy|NBPQyP75N7CjxV>-)3fH{T73aW~#q^i0n+hTqF8I3-!@`Kjp+VZb}|LPaYR4R?B ST(6M;00005lTnU?FbqVWtKO@7vkW)0Pd59Jgaq1EwMK}5?8kVV zgfT0^heVSAIL7lHO)btBgZu4mjaTezJ2Ne5!iE?MZ6LbN znH5Vtz@ry##iL{;pFbEW#x|Kb0glS#kcbE(0!f68B&uq;b-|yXhYR2nZyU*cF%$4} z14Tqw5|UOs5!k*dSe~4K38|m5?cV zgQ@O2pi7nnt)b)SurZ~*@5?3W;yQCW+eCnK3Lh0z6;(-9bx($&Q@XwF%2BR0px{PN z7sn8b-ldaI7alR-ah`AVGW)XR!E-B4O=z~yzUgIlu8F;ek3}OO>)4*={_VRO&p%e2 zI=#^8VqNHms7W@>DzoRWmYnS6&T`?!-U^$2Wo(mY27eCNa&YgeoZ?58Dv}=r9$ox- zvUYCH6W-j=U9B7wHC1$@Bi{X&iWb`|9&q3T-@4>^mPv(cSEb+Haj3YVnC+Xu{|&9$ z@htB;ZnUQr+_t;?Msk0XN?D`ov9jnCfgk+)7zLTNJNq6Tr~o>i!PC{xWt~$(69B6R BXcYhe literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/6.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/6.png new file mode 100644 index 0000000000000000000000000000000000000000..947d9c40f0bef24c768d61ad5df2514ef1dda1e3 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px|^* z7sn8b-n)|nxegofIM1*CXl3s0x2$$YWb7-`2BR0px|Lo z7sn8b-l>xl*Bw^iY2NR%JG?)vcyoc#e)%=AyUG@y4@%YQ*x1-&nBQ{HP~zAR^Fsk* z?t!z#_p_YY_<`&GQMu);>(qQEr}6#RyW2PWZBf=$DGBA1+um;c|0Cvjx`)w&AR z`kdFbXUv%y%vQ$E-e`SPPXE2e2YJEWBF)L!%c`Wy6+2hlmAE|5LfNMBr12ldtGpJ! UqmBwK0D6bP)78&qol`;+0H#ZB7XSbN literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/8.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/8.png new file mode 100644 index 0000000000000000000000000000000000000000..5bcd3ecaceb78c94e91991fc1694a54b05329933 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px_cu z7sn8b-no+_`3@`axXfRD&-&ci2Pv2Nr#UpF89F5eq*b^bX<@ig>)+jdt7dbabLEcR zzmhJz(<`5DaZDw_3DVb;Jh>FI%=qPm>deiY+?O%*y>QkMoHYM8t-OJ$V>gTe~DWM4fp`Bk{ literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/9.png b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/9.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4991d8de2e2b750b2d681533f1b7e1a3f66765 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGLLkg|>2BR0px_=) z7sn8b-no+>3N)Gfbv(dqJ%4jwiJ?vU#n)@qkWTys4h zb?nF?&6=F<+-U1bUJl9|9e0VyIW666dCaRiF+hM%L9y}4EU|4TE$6#mdiVE-Q|{Z0 zme!yT-(s7gX;yW*?UM~GopeUa%a8bl2@~4;M z?wj@^XFBTxHbiH9?6^KdV=05AhNAVcg;P82&mCSYm9VDof&3oE*%479@v+<20sXFVdQ&MBb@0CrGl*#H0l literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/icons.gif b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/icons.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e237a0f44fbaae7fe406ddc9597918ecf5a997a GIT binary patch literal 5512 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 K9^nZQ5CA(qX4@SA literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/loading.gif b/Activity_3_python/LangagePython_fonctions/css/dynatree/vista/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2a96840f48be2e10fda36b232b524244159cad8e GIT binary patch literal 3111 zcmeH|`&X0q9mk)L+mk1^C&>e(mP-;M1e-%sU=*tH(&pnT4ZxuaXd^G?4 zN6+r-r@jtr{xhZWeWG{n`|&Rro{7(%-P6q8czfx|S5N;H?ei|IOkeXpd$91JVdmQQ z<)6Rtt;{S>+Q+PnxxwAu`H`Rh!T3x^@y`A5eCcP;qt6%qZFFCeKeY*FuIDbfE>8EP zthjHP%gDavsp;;7sju0diBFA6lDki~GBfzp7P~y@Sag~f9+;M=dY*n8EDw*!t z>h4W*eMm~TLtSwJS=**pRXZCSkEwGW7U&!b^uTDgK2WadTT_z^5l%%t>RBGMU zc0q?RV$=WyCNnMUHitfGd*lX>McYe7@3}v}@xF7fkqe;%){Ag{ErRDDfD5%6cv)tODWftS^8d|!AV&LHE3rmSs5_wA$vs{_Yy-6`Zt%ntY;&B~7Z7NgJ zS-s@SmkEA32G+F>s!?@8Tz`Uodq5S4qXGT|PCOa+Cz9N3i>i0v-XjgqI9cgBjXvU_=9CdFKJrto}2Gj8xYGx)2Y*pGx zNs=BbD6nfm{tmiEwx6SSFhc@L;f_=bVyL)+sh*QoQK$*{7?*G~3yY>`eC$z+2)!XZ zpZAWk-5$=&9N=M9Xw?zAG+|8ABFQ+OLV>HD@PRa)IxIU=mOqhRLkp%Sfk2;Ji;X}= zx?u4bC6Rl#$M!*sGW&Hd$35I4V67+73;Jpi@u(VPEP&#Ndeoa_I#l4s>x@tk85S7@ zMOZZ{)2b})O9gb4RjaIAmxe?JXb)RPg=1#~IEi%skPk&#WHq!)qjk{9Y3|jgJBLAV(MvxXk|Gk zP3Q>T%*}Q-OB`nU2Nroj5vNi^0Wc=pXdaG=^>3H;1v^`ry}FD_|E)j-^4tOK6y zlhk4JG`_~T2}v#X{RZ5nxzsummTu&IG{%-{5Cp+YSRdl^8C|Vpez(S_D#fDV^{O~`n){D&ELJ)pz>LjTt(P1 zz(dUMi46EH<^-iiQ6+u_;h0z`mII=K0U;Szv<{E~70-KsR0}l>_)P9)Omx?$;J3GR zS#zCDv1GB#=xlX`qxW7bF|Yu`5EV^g=Cs)M=9sop0GFV>)Cldl=v8;NVoaw3aVloQ z?Yb%*pCst`OGF_$QU1W%Xt&+aL&V6ZpaOfAftIu-yk%2m7^42m8Ga#8xlKll@E0(D z?5ws5NA({8UU$zCVnCVEY-_6)hi}^jI7KMP#F4t?vaYcfYGr9;wSuG6sVJ{UoffK` zSvUgZzsIh&J~V^ady% li +{ + background-image: none; +} + +/* Style, when control is disabled */ +.ui-dynatree-disabled ul.dynatree-container +{ + opacity: 0.5; +/* filter: alpha(opacity=50); /* Yields a css warning */ + background-color: silver; +} + + +/******************************************************************************* + * Common icon definitions + */ +span.dynatree-empty, +span.dynatree-vline, +span.dynatree-connector, +span.dynatree-expander, +span.dynatree-icon, +span.dynatree-checkbox, +span.dynatree-radio, +span.dynatree-drag-helper-img, +#dynatree-drop-marker +{ + width: 16px; + height: 16px; +/* display: -moz-inline-box; /* @ FF 1+2 removed for issue 221*/ +/* -moz-box-align: start; /* issue 221 */ + display: inline-block; /* Required to make a span sizeable */ + vertical-align: top; + background-repeat: no-repeat; + background-position: left; + background-image: url("icons.gif"); + background-position: 0 0; +} + +/** Used by 'icon' node option: */ +ul.dynatree-container img +{ + width: 16px; + height: 16px; + margin-left: 3px; + vertical-align: top; + border-style: none; +} + + +/******************************************************************************* + * Lines and connectors + */ + +/* +span.dynatree-empty +{ +} +span.dynatree-vline +{ +} +*/ +span.dynatree-connector +{ + background-image: none; +} +/* +.dynatree-lastsib span.dynatree-connector +{ +} +*/ +/******************************************************************************* + * Expander icon + * Note: IE6 doesn't correctly evaluate multiples class names, + * so we create combined class names that can be used in the CSS. + * + * Prefix: dynatree-exp- + * 1st character: 'e': expanded, 'c': collapsed + * 2nd character (optional): 'd': lazy (Delayed) + * 3rd character (optional): 'l': Last sibling + */ + +span.dynatree-expander +{ + background-position: 0px -80px; + cursor: pointer; +} +span.dynatree-expander:hover +{ + background-position: -16px -80px; +} +.dynatree-exp-cl span.dynatree-expander /* Collapsed, not delayed, last sibling */ +{ +} +.dynatree-exp-cd span.dynatree-expander /* Collapsed, delayed, not last sibling */ +{ +} +.dynatree-exp-cdl span.dynatree-expander /* Collapsed, delayed, last sibling */ +{ +} +.dynatree-exp-e span.dynatree-expander, /* Expanded, not delayed, not last sibling */ +.dynatree-exp-ed span.dynatree-expander, /* Expanded, delayed, not last sibling */ +.dynatree-exp-el span.dynatree-expander, /* Expanded, not delayed, last sibling */ +.dynatree-exp-edl span.dynatree-expander /* Expanded, delayed, last sibling */ +{ + background-position: -32px -80px; +} +.dynatree-exp-e span.dynatree-expander:hover, /* Expanded, not delayed, not last sibling */ +.dynatree-exp-ed span.dynatree-expander:hover, /* Expanded, delayed, not last sibling */ +.dynatree-exp-el span.dynatree-expander:hover, /* Expanded, not delayed, last sibling */ +.dynatree-exp-edl span.dynatree-expander:hover /* Expanded, delayed, last sibling */ +{ + background-position: -48px -80px; +} +.dynatree-loading span.dynatree-expander /* 'Loading' status overrides all others */ +{ + background-position: 0 0; + background-image: url("loading.gif"); +} + + +/******************************************************************************* + * Checkbox icon + */ +span.dynatree-checkbox +{ + margin-left: 3px; + background-position: 0px -32px; +} +span.dynatree-checkbox:hover +{ + background-position: -16px -32px; +} + +.dynatree-partsel span.dynatree-checkbox +{ + background-position: -64px -32px; +} +.dynatree-partsel span.dynatree-checkbox:hover +{ + background-position: -80px -32px; +} + +.dynatree-selected span.dynatree-checkbox +{ + background-position: -32px -32px; +} +.dynatree-selected span.dynatree-checkbox:hover +{ + background-position: -48px -32px; +} + +/******************************************************************************* + * Radiobutton icon + * This is a customization, that may be activated by overriding the 'checkbox' + * class name as 'dynatree-radio' in the tree options. + */ +span.dynatree-radio +{ + margin-left: 3px; + background-position: 0px -48px; +} +span.dynatree-radio:hover +{ + background-position: -16px -48px; +} + +.dynatree-partsel span.dynatree-radio +{ + background-position: -64px -48px; +} +.dynatree-partsel span.dynatree-radio:hover +{ + background-position: -80px -48px; +} + +.dynatree-selected span.dynatree-radio +{ + background-position: -32px -48px; +} +.dynatree-selected span.dynatree-radio:hover +{ + background-position: -48px -48px; +} + +/******************************************************************************* + * Node type icon + * Note: IE6 doesn't correctly evaluate multiples class names, + * so we create combined class names that can be used in the CSS. + * + * Prefix: dynatree-ico- + * 1st character: 'e': expanded, 'c': collapsed + * 2nd character (optional): 'f': folder + */ + +span.dynatree-icon /* Default icon */ +{ + margin-left: 3px; + background-position: 0px 0px; +} + +.dynatree-has-children span.dynatree-icon /* Default icon */ +{ +/* background-position: 0px -16px; */ +} + +.dynatree-ico-cf span.dynatree-icon /* Collapsed Folder */ +{ + background-position: 0px -16px; +} + +.dynatree-ico-ef span.dynatree-icon /* Expanded Folder */ +{ + background-position: -64px -16px; +} + +/* Status node icons */ + +.dynatree-statusnode-wait span.dynatree-icon +{ + background-image: url("loading.gif"); +} + +.dynatree-statusnode-error span.dynatree-icon +{ + background-position: 0px -112px; +/* background-image: url("ltError.gif");*/ +} + +/******************************************************************************* + * Node titles + */ + +/* @Chrome: otherwise hit area of node titles is broken (issue 133) + Removed again for issue 165; (133 couldn't be reproduced) */ +span.dynatree-node +{ +/* display: -moz-inline-box; /* issue 133, 165, 172, 192. removed for issue 221 */ +/* -moz-box-align: start; /* issue 221 */ +/* display: inline-block; /* Required to make a span sizeable */ +} + + +/* Remove blue color and underline from title links */ +ul.dynatree-container a +/*, ul.dynatree-container a:visited*/ +{ + color: black; /* inherit doesn't work on IE */ + text-decoration: none; + vertical-align: top; + margin: 0px; + margin-left: 3px; +/* outline: 0; /* @ Firefox, prevent dotted border after click */ + /* Set transparent border to prevent jumping when active node gets a border + (we can do this, because this theme doesn't use vertical lines) + */ + border: 1px solid white; /* Note: 'transparent' would not work in IE6 */ + +} + +ul.dynatree-container a:hover +{ +/* text-decoration: underline; */ + background: #F2F7FD; /* light blue */ + border-color: #B8D6FB; /* darker light blue */ +} + +span.dynatree-node a +{ + display: inline-block; /* Better alignment, when title contains
*/ +/* vertical-align: top;*/ + padding-left: 3px; + padding-right: 3px; /* Otherwise italic font will be outside bounds */ + /* line-height: 16px; /* should be the same as img height, in case 16 px */ +} +span.dynatree-folder a +{ +/* font-weight: bold; */ /* custom */ +} + +ul.dynatree-container a:focus, +span.dynatree-focused a:link /* @IE */ +{ + background-color: #EFEBDE; /* gray */ +} + +span.dynatree-has-children a +{ +/* font-style: oblique; /* custom: */ +} + +span.dynatree-expanded a +{ +} + +span.dynatree-selected a +{ +/* color: green; */ + font-style: italic; +} + +span.dynatree-active a +{ + border: 1px solid #99DEFD; + background-color: #D8F0FA; +} + +/******************************************************************************* + * Drag'n'drop support + */ + +/*** Helper object ************************************************************/ +div.dynatree-drag-helper +{ +} +div.dynatree-drag-helper a +{ + border: 1px solid gray; + background-color: white; + padding-left: 5px; + padding-right: 5px; + opacity: 0.8; +} +span.dynatree-drag-helper-img +{ + /* + position: relative; + left: -16px; + */ +} +div.dynatree-drag-helper /*.dynatree-drop-accept*/ +{ +/* border-color: green; + background-color: red;*/ +} +div.dynatree-drop-accept span.dynatree-drag-helper-img +{ + background-position: -32px -112px; +} +div.dynatree-drag-helper.dynatree-drop-reject +{ + border-color: red; +} +div.dynatree-drop-reject span.dynatree-drag-helper-img +{ + background-position: -16px -112px; +} + +/*** Drop marker icon *********************************************************/ + +#dynatree-drop-marker +{ + width: 24px; + position: absolute; + background-position: 0 -128px; + margin: 0; +} +#dynatree-drop-marker.dynatree-drop-after, +#dynatree-drop-marker.dynatree-drop-before +{ + width:64px; + background-position: 0 -144px; +} +#dynatree-drop-marker.dynatree-drop-copy +{ + background-position: -64px -128px; +} +#dynatree-drop-marker.dynatree-drop-move +{ + background-position: -64px -128px; +} + +/*** Source node while dragging ***********************************************/ + +span.dynatree-drag-source +{ + /* border: 1px dotted gray; */ + background-color: #e0e0e0; +} +span.dynatree-drag-source a +{ + color: gray; +} + +/*** Target node while dragging cursor is over it *****************************/ + +span.dynatree-drop-target +{ + /*border: 1px solid gray;*/ +} +span.dynatree-drop-target a +{ +} +span.dynatree-drop-target.dynatree-drop-accept a +{ + /*border: 1px solid green;*/ + background-color: #3169C6 !important; + color: white !important; /* @ IE6 */ + text-decoration: none; +} +span.dynatree-drop-target.dynatree-drop-reject +{ + /*border: 1px solid red;*/ +} +span.dynatree-drop-target.dynatree-drop-after a +{ +} diff --git a/Activity_3_python/LangagePython_fonctions/css/hnd.css b/Activity_3_python/LangagePython_fonctions/css/hnd.css new file mode 100644 index 0000000..626380f --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/css/hnd.css @@ -0,0 +1,680 @@ +/* ========== Text Styles ========== */ +hr { color: #000000} +body, table, span.rvts0 /* Normal text */ +{ + font-size: 10pt; + font-family: 'Arial', 'Helvetica', sans-serif; + font-style: normal; + font-weight: normal; + color: #000000; + text-decoration: none; +} +span.rvts1 /* Heading */ +{ + font-weight: bold; + color: #0000ff; +} +span.rvts2 /* Subheading */ +{ + font-weight: bold; + color: #000080; +} +span.rvts3 /* Keywords */ +{ + font-style: italic; + color: #800000; +} +a.rvts4, span.rvts4 /* Jump 1 */ +{ + color: #008000; + text-decoration: underline; +} +a.rvts5, span.rvts5 /* Jump 2 */ +{ + color: #008000; + text-decoration: underline; +} +span.rvts6 +{ +} +span.rvts7 +{ + font-weight: bold; + color: #0000ff; +} +span.rvts8 +{ + font-weight: bold; + color: #000080; +} +span.rvts9 +{ + font-style: italic; + color: #800000; +} +a.rvts10, span.rvts10 +{ + color: #008000; + text-decoration: underline; +} +span.rvts11 +{ + font-size: 12pt; + font-family: 'Cambria'; +} +span.rvts12 +{ + font-size: 12pt; + font-family: 'Cambria'; + font-weight: bold; +} +span.rvts13 +{ + font-size: 13pt; + font-family: 'Cambria'; + font-weight: bold; +} +a.rvts14, span.rvts14 +{ + font-size: 12pt; + font-family: 'Cambria'; + color: #0000ff; + text-decoration: underline; +} +span.rvts15 /* Font Style */ +{ + font-family: 'Tahoma', 'Geneva', sans-serif; + font-style: italic; + color: #c0c0c0; +} +a.rvts16, span.rvts16 /* Font Style */ +{ + font-family: 'Tahoma', 'Geneva', sans-serif; + font-style: italic; + color: #6666ff; + text-decoration: underline; +} +span.rvts17 +{ + font-size: 14pt; + font-family: 'Cambria'; + font-weight: bold; +} +a.rvts18, span.rvts18 +{ + font-size: 12pt; + font-family: 'Cambria'; + color: #0000ff; + text-decoration: none; +} +span.rvts19 +{ + font-size: 12pt; + font-family: 'Cambria'; + font-weight: bold; + text-decoration: underline; +} +span.rvts20 +{ + font-size: 12pt; + font-family: 'Times New Roman', 'Times', serif; + color: #000000; +} +span.rvts21 +{ + font-size: 12pt; + font-family: 'Cambria'; + color: #000000; + background-color: #fcfcfc; +} +span.rvts22 +{ + font-size: 12pt; + font-family: 'Cambria'; + color: #000000; + background-color: #fcfcfc; + text-decoration: underline; +} +span.rvts23 +{ + font-size: 12pt; + font-family: 'Cambria'; + font-weight: bold; + color: #000000; + background-color: #fcfcfc; +} +span.rvts24 +{ + font-size: 12pt; + font-family: 'Cambria'; + text-decoration: underline; +} +span.rvts25 +{ + font-size: 12pt; + font-family: 'Cambria'; + color: #000000; +} +span.rvts26 +{ + font-size: 12pt; + font-family: 'Cambria'; + color: #000000; + text-decoration: underline; +} +span.rvts27 +{ + font-size: 12pt; + font-family: 'Cambria'; + text-decoration: line-through; +} +span.rvts28 +{ + font-size: 14pt; + font-family: 'Cambria'; + color: #000000; +} +span.rvts29 +{ + font-size: 14pt; + font-family: 'Cambria'; + color: #900090; +} +span.rvts30 +{ + font-size: 14pt; + font-family: 'Cambria'; + color: #770000; +} +span.rvts31 +{ + font-size: 14pt; + font-family: 'Cambria'; + color: #dd0000; +} +span.rvts32 +{ + font-size: 14pt; + font-family: 'Cambria'; + font-weight: bold; + color: #000000; +} +span.rvts33 +{ + font-size: 14pt; + font-family: 'Cambria'; + color: ; +} +span.rvts34 +{ + font-size: 14pt; + font-family: 'Cambria'; + color: #007f7f; +} +span.rvts35 +{ + font-size: 12pt; + font-family: 'cambria'; + font-weight: bold; + color: #000000; +} +span.rvts36 +{ + font-size: 14pt; + font-family: 'Cambria'; + color: #0000ff; +} +span.rvts37 +{ + font-size: 14pt; + font-family: 'Lucida Console', 'Monaco', monospace; + color: #770000; +} +span.rvts38 +{ + font-size: 14pt; + font-family: 'Lucida Console', 'Monaco', monospace; + color: #000000; +} +span.rvts39 +{ + font-size: 14pt; + font-family: 'Lucida Console', 'Monaco', monospace; + color: #dd0000; +} +span.rvts40 +{ + font-size: 14pt; + font-family: 'Lucida Console', 'Monaco', monospace; + color: #900090; +} +span.rvts41 +{ + font-size: 14pt; + font-family: 'Lucida Console', 'Monaco', monospace; + color: #0000ff; +} +span.rvts42 +{ + font-size: 11pt; + font-family: 'Cambria'; + font-weight: bold; +} +span.rvts43 +{ + font-size: 12pt; + font-family: 'Cambria'; + font-style: italic; +} +span.rvts44 +{ + font-size: 14pt; + font-family: 'Lucida Console', 'Monaco', monospace; + color: #2f6b55; +} +span.rvts45 +{ + font-size: 12pt; + font-family: 'Cambria'; + color: #7030a0; +} +span.rvts46 +{ + font-size: 14pt; + font-family: 'Lucida Console', 'Monaco', monospace; + color: #ff7700; +} +span.rvts47 +{ + font-size: 12pt; + font-family: 'Verdana', 'Geneva', sans-serif; + font-weight: bold; + color: #181a12; +} +span.rvts48 +{ + font-size: 14pt; + font-family: 'Lucida Console', 'Monaco', monospace; + color: #ff0000; +} +span.rvts49 +{ + font-size: 12pt; + font-family: 'Cambria'; + color: #363b29; +} +span.rvts50 +{ + font-size: 13pt; + font-family: 'Cambria'; + font-style: italic; + font-weight: bold; + color: #000000; +} +span.rvts51 +{ + font-size: 14pt; + font-family: 'Lucida Console', 'Monaco', monospace; + color: ; +} +span.rvts52 +{ + font-size: 14pt; + font-family: 'Lucida Console', 'Monaco', monospace; + color: #00aa00; +} +span.rvts53 +{ + font-size: 14pt; + font-family: 'Lucida Console', 'Monaco', monospace; + color: #000000; + background-color: #ff7777; +} +span.rvts54 +{ + font-size: 12pt; + font-family: 'Cambria'; + color: ; +} +span.rvts55 +{ + font-size: 14pt; + font-family: 'Cambria'; + font-weight: bold; + color: ; +} +span.rvts56 +{ + font-size: 12pt; + font-family: 'Verdana', 'Geneva', sans-serif; + color: ; +} +span.rvts57 +{ + font-size: 12pt; + font-family: 'Verdana', 'Geneva', sans-serif; + color: #363b29; +} +span.rvts58 +{ + font-size: 14pt; + font-family: 'Lucida Console', 'Monaco', monospace; + color: #363b29; +} +span.rvts59 +{ + font-size: 12pt; + font-family: 'Verdana', 'Geneva', sans-serif; + font-weight: bold; + color: #363b29; +} +span.rvts60 +{ + font-size: 12pt; + font-family: 'Cambria'; + font-weight: bold; + color: #181a12; +} +span.rvts61 +{ + font-size: 14pt; + font-family: 'Cambria'; + font-style: italic; + font-weight: bold; + color: ; +} +span.rvts62 +{ + font-size: 12pt; + font-family: 'Cambria'; + font-weight: bold; + color: ; +} +span.rvts63 +{ + font-size: 9pt; + font-family: 'consolas'; + color: #3c3c3c; +} +span.rvts64 +{ + font-size: 12pt; + font-family: 'cambria'; + font-weight: bold; + color: #000000; + text-decoration: underline; +} +span.rvts65 +{ + font-size: 8pt; + font-family: 'Cambria'; + vertical-align: super; +} +span.rvts66 +{ + font-size: 14pt; + font-family: 'Cambria'; +} +span.rvts67 +{ + font-size: 12pt; + font-family: 'Cambria'; + font-style: italic; + color: #000000; +} +span.rvts68 +{ + font-size: 12pt; + font-family: 'Cambria'; + font-style: italic; + color: #810000; +} +span.rvts69 +{ + font-size: 11pt; + font-family: 'Times'; + font-weight: bold; + color: #ff0000; + background-color: #fcfcfc; +} +span.rvts70 +{ + font-size: 11pt; + font-family: 'Times'; + font-weight: bold; + background-color: #fcfcfc; +} +span.rvts71 +{ + font-size: 11pt; + font-weight: bold; + background-color: #fcfcfc; +} +span.rvts72 +{ + font-size: 11pt; + font-family: 'Times'; + background-color: #fcfcfc; +} +span.rvts73 +{ + font-size: 12pt; + font-family: 'Cambria'; + background-color: #fcfcfc; +} +span.rvts74 +{ + font-size: 14pt; + font-family: 'Verdana', 'Geneva', sans-serif; + font-weight: bold; + color: #363b29; +} +span.rvts75 +{ + font-size: 14pt; + font-family: 'Lucida Console', 'Monaco', monospace; + color: #000000; + background-color: #ffff66; +} +span.rvts76 +{ + font-size: 14pt; + font-family: 'Cambria'; + font-weight: bold; + color: #363b29; +} +span.rvts77 +{ + font-size: 12pt; + font-family: 'Cambria'; + font-weight: bold; + color: #363b29; +} +span.rvts78 +{ + font-size: 12pt; + font-family: 'Cambria'; + color: #363b29; + text-decoration: underline; +} +span.rvts79 +{ + font-size: 11pt; +} +span.rvts80 +{ + font-size: 14pt; + font-family: 'Lucida Console', 'Monaco', monospace; + font-weight: bold; + color: #363b29; +} +span.rvts81 +{ + font-size: 17pt; + font-family: 'Lucida Console', 'Monaco', monospace; + font-weight: bold; + color: #363b29; +} +span.rvts82 +{ + font-size: 14pt; + font-family: 'Cambria'; + color: #363b29; +} +a.rvts83, span.rvts83 +{ + font-size: 12pt; + font-family: 'Cambria'; + text-decoration: underline; +} +span.rvts84 +{ + font-family: 'Cambria'; + font-weight: bold; +} +a.rvts85, span.rvts85 +{ + font-size: 12pt; + font-family: 'Cambria'; + color: #332510; + text-decoration: underline; +} +span.rvts86 +{ + font-size: 10pt; + font-family: 'Cambria'; + color: #363b29; + vertical-align: sub; +} +a.rvts87, span.rvts87 +{ + font-size: 14pt; + font-family: 'Cambria'; + font-weight: bold; + text-decoration: underline; +} +span.rvts88 +{ + font-size: 12pt; + font-family: 'Cambria'; + font-style: italic; + color: #363b29; +} +span.rvts89 +{ + font-size: 14pt; + font-family: 'Lucida Console', 'Monaco', monospace; + color: #991111; +} +a.rvts90, span.rvts90 +{ + font-size: 14pt; + font-family: 'Cambria'; + font-weight: bold; + color: #332510; + text-decoration: underline; +} +span.rvts91 +{ + font-size: 12pt; + font-family: 'Cambria'; + color: #363b29; + vertical-align: super; +} +span.rvts92 +{ + font-size: 12pt; + font-family: 'Cambria'; + vertical-align: super; +} +/* ========== Para Styles ========== */ +p,ul,ol /* Paragraph Style */ +{ + text-align: left; + text-indent: 0px; + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} +.rvps1 /* Centered */ +{ + text-align: center; +} +.rvps2 +{ +} +.rvps3 +{ + text-align: center; +} +.rvps4 /* Paragraph Style */ +{ + text-align: center; + border-color: #c0c0c0; + border-style: solid; + border-width: 1px; + border-right: none; + border-left: none; + padding: 2px 0px 2px 0px; + margin: 7px 0px 7px 0px; +} +.rvps5 +{ + margin: 8px 0px 0px 0px; +} +.rvps6 +{ + text-indent: 48px; +} +.rvps7 +{ + margin: 12px 0px 12px 0px; +} +.rvps8 +{ + background: #eeeeee; + padding: 12px 12px 12px 12px; + margin: 14px 0px 14px 0px; +} +.rvps9 +{ + background: #ffffff; + padding: 12px 12px 12px 12px; + margin: 14px 0px 14px 0px; +} +.rvps10 +{ + background: #eff0f1; + padding: 8px 8px 8px 8px; +} +.rvps11 +{ + margin: 0px 0px 0px 1px; +} +.rvps12 +{ + text-align: left; + text-indent: 0px; + padding: 0px 0px 0px 0px; + margin: 19px 0px 10px 0px; +} +.rvps13 +{ + text-align: left; + text-indent: 0px; + padding: 0px 0px 0px 0px; + margin: 16px 0px 8px 0px; +} +.rvps14 +{ + margin: 0px 0px 0px 96px; +} +/* ========== Lists ========== */ +.list0 {text-indent: 0px; padding: 0; margin: 0 0 0 24px; list-style-position: outside; list-style-type: disc;} +.list1 {text-indent: 0px; padding: 0; margin: 0 0 0 48px; list-style-position: outside; list-style-type: circle;} +.list2 {text-indent: 0px; padding: 0; margin: 0 0 0 48px; list-style-position: outside; list-style-type: square;} +.list3 {text-indent: 0px; padding: 0; margin: 0 0 0 48px; list-style-position: outside; list-style-type: disc;} +.list4 {text-indent: 0px; padding: 0; margin: 0 0 0 24px; list-style-position: outside; list-style-type: decimal;} +.list5 {text-indent: 0px; padding: 0; margin: 0 0 0 48px; list-style-position: outside; list-style-type: decimal;} +.list6 {text-indent: 0px; padding: 0; margin: 0 0 0 24px; list-style-position: outside; list-style-type: square;} +.list7 {text-indent: 0px; padding: 0; margin: 0 0 0 24px; list-style-position: outside; list-style-type: circle;} +.list8 {text-indent: 0px; padding: 0; margin: 0 0 0 96px; list-style-position: outside; list-style-type: disc;} diff --git a/Activity_3_python/LangagePython_fonctions/css/ielte8.css b/Activity_3_python/LangagePython_fonctions/css/ielte8.css new file mode 100644 index 0000000..1d6f53c --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/css/ielte8.css @@ -0,0 +1,3 @@ +.ui-tabs .ui-tabs-nav { + padding: 0; +} \ No newline at end of file diff --git a/Activity_3_python/LangagePython_fonctions/css/reset.css b/Activity_3_python/LangagePython_fonctions/css/reset.css new file mode 100644 index 0000000..391d3a3 --- /dev/null +++ b/Activity_3_python/LangagePython_fonctions/css/reset.css @@ -0,0 +1,48 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +img { + padding: 0; + border: 0; + font-size: 100%; + font: inherit; +} +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + font-size: 100%; + font: inherit; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} \ No newline at end of file diff --git a/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_flat_0_aaaaaa_40x100.png b/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..5b5dab2ab7b1c50dea9cfe73dc5a269a92d2d4b4 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FscKIb$B>N1x91EQ4=4yQ7#`R^ z$vje}bP0l+XkK DSH>_4 literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_flat_75_ffffff_40x100.png b/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..ac8b229af950c29356abf64a6c4aa894575445f0 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsY*{5$B>N1x91EQ4=4yQYz+E8 zPo9&<{J;c_6SHRil>2s{Zw^OT)6@jj2u|u!(plXsM>LJD`vD!n;OXk;vd$@?2>^GI BH@yG= literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_glass_55_fbf9ee_1x400.png b/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..ad3d6346e00f246102f72f2e026ed0491988b394 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnour0hLi978O6-<~(*I$*%ybaDOn z{W;e!B}_MSUQoPXhYd^Y6RUoS1yepnPx`2Kz)7OXQG!!=-jY=F+d2OOy?#DnJ32>z UEim$g7SJdLPgg&ebxsLQ09~*s;{X5v literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_glass_65_ffffff_1x400.png b/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..42ccba269b6e91bef12ad0fa18be651b5ef0ee68 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouqzpV=978O6-=0?FV^9z|eBtf= z|7WztIJ;WT>{+tN>ySr~=F{k$>;_x^_y?afmf9pRKH0)6?eSP?3s5hEr>mdKI;Vst E0O;M1& literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_glass_75_dadada_1x400.png b/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_glass_75_dadada_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..5a46b47cb16631068aee9e0bd61269fc4e95e5cd GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq|7{B978O6lPf+wIa#m9#>Unb zm^4K~wN3Zq+uP{vDV26o)#~38k_!`W=^oo1w6ixmPC4R1b Tyd6G3lNdZ*{an^LB{Ts5`idse literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..7c9fa6c6edcfcdd3e5b77e6f547b719e6fc66e30 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l#Zv1V~E7mS{Ou}E*`%9 zKPdOkfrN+ZlHSt7(uY{3{#;wiJb&Ugx1>W4qtrSDm(4hFaaY-$3p3x|sIU3`%J?Qj YcLn#R=pC)AfTl5cy85}Sb4q9e0MP_2(*OVf literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-icons_222222_256x240.png b/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..b273ff111d219c9b9a8b96d57683d0075fb7871a GIT binary patch literal 4369 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
t&;p)D%&Z%Nw$gSPa!nz8Slh7=ko2am)XARwOWw zpsz0~K!s{(dM$NB=(A=kkp>T(*yU6<_dwIx>cH4+LWl282hXa6-EUq>R3t?G2623< z*RwTN%-fgBmD{fu*ejNn)1@KG?Sg*8z3hYtkQJQjB6 zQ|x>wA=o$=O)+nLmgTXW3_6diA;b4EY{*i*R%6dO2EMg z@6g?M3rpbnfB@hOdUeb96=~I?OIA3@BWAGmTwiQ{x5Cqq<8c10L!P zd@Qk^BseTX%$Q7^s}5n%HB|)gKx}H$d8Sb$bBnq9-AglT2dGR2(+I;_fL|R4p$odJ zllfb0NqI)7=^z~qAm1V{(PkpxXsQ#4*NH9yYZ`Vf@)?#ueGgtCmGGY|9U#v|hRdg- zQ%0#cGIfXCd{Y)JB~qykO;KPvHu|5Ck&(Hn%DF~cct@}j+87xhs2ew;fLm5#2+mb| z8{9e*YI(u|gt|{x1G+U=DA3y)9s2w7@cvQ($ZJIA)x$e~5_3LKFV~ASci8W}jF&VeJoPDUy(BB>ExJpck;%;!`0AAo zAcHgcnT8%OX&UW_n|%{2B|<6Wp2MMGvd5`T2KKv;ltt_~H+w00x6+SlAD`{K4!9zx z*1?EpQ%Lwiik){3n{-+YNrT;fH_niD_Ng9|58@m8RsKFVF!6pk@qxa{BH-&8tsim0 zdAQ(GyC^9ane7_KW*#^vMIoeQdpJqmPp%%px3GIftbwESu#+vPyI*YTuJ6+4`z{s? zpkv~0x4c_PFH`-tqafw5)>4AuQ78SkZ!$8}INLK;Egr;2tS18hEO5=t;QDmZ-qu?I zG+=DN`nR72Xto{{bJp||`k}-2G;5#xg8E~xgz22)^_Z;=K|4@(E&5J)SY2of=olcw z5)@L)_Ntcm!*5nEy0M9v0`S33;pO4TN;>4(Z+19p_0>u#e-vE zXCU(6gAvu~I7Cw(xd%0e59MNLw^U37ZDbsBrj%eDCexw8a3G`nTcXVNL6{B7Hj@i& zbVB{;ApEtHk76q08DJ48dSxd$C(;$K6=FpU<~l9pVoT9arW^Vu{%Bcn4`eIpkOVC| z$)AKYG_`ypM{0@BUb3^9lqi_c?ONH|4UJMJWDowMVjacycX7}9g={O7swOB+{;+?; zjBo!9?+nd)ie#x5IbFW-zBOo0c4q@9wGVt5;pNt`=-~Zgcw#*`m($6ibxtZ`H=e=} zF#GZ~5$%AUn};8U#tRem0J(JTR}d4vR(dgK2ML~lZsPhayJ2h1%sD4FVst| zKF)+@`iNzLRjg4=K8@**0=5cE>%?FDc({I^+g9USk<8$&^qD~@%W0i4b|yMG*p4`N zh}I!ltTRI8Ex$+@V{02Br%xq#O?UlhO{r8WsaZnZCZq0MK9%AXU%MDLT;3=0A9(BV z9VxxxJd7jo$hw3q;3o?yBLmA=azBUrd9>-<_ANs0n3?-Ic*6&ytb@H~?0E(*d>T5n z-HiH2jsDf6uWhID%#n>SzOqrFCPDfUcu5QPd?<(=w6pv1BE#nsxS{n!UnC9qAha1< z;3cpZ9A-e$+Y)%b;w@!!YRA9p%Kf9IHGGg^{+p`mh;q8i7}&e@V3EQaMsItEMS&=X plT@$;k0WcB_jb;cn%_Idz4HO$QU*abf4}+wi?e96N>fbq{{i|W0@(ln literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-icons_2e83ff_256x240.png b/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..09d1cdc856c292c4ab6dd818c7543ac0828bd616 GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-icons_454545_256x240.png b/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-icons_454545_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..59bd45b907c4fd965697774ce8c5fc6b2fd9c105 GIT binary patch literal 4369 zcmd^?`8O2)_s3^p#%>toqJ#RmwV2==ic*rz7lOw=eaq=H~;_ux21)-Jpcgw zdj+hrf&W^f<%Qk9Zpqf#;jH;N^Z%VA?R|9mZ{esQd(2F=?y+!`XZ5CR?ue=UdHIfUDFM*m15I;g=VN2jw zQW9?wOhDI#+P0|`@JQoC3!pu=AzGMtYB>V&?8(2>_B5_p`1Sb1t{^|J%bZYv09RS? zQ*dcs7}$)taJ@vX0E<96P{ur)Eygr{&ALyNoMP%_94m}=qFVT)&CeG1DBBMLUSKP^ zp%%Q3$MEtKll)X*+$)3O_3x`4%cHY0uhy7U;5x^Ir}X1)mv&B%|A)@A$a>f}tP{5X z9-gkti`YyT+hk9)cZW7fAQhjT%$XLLI^&VR=qev36;`WGBOP!^&(?!sK6jSH0Dnz4 zoEMMNu}y&n=rd-GWI?rGBI8!GD*NJ$k&e5-6+~-9F^6tV<=5`FcY~t{iqRcncEU+F zkT~jww!oy(@~b~WGI8!lzjURX&IpJjFGxShOKUunP+rW$I{c|x0qM6!Gxf6n(;$D> z+QYiULqq)Fy4VDk&Mev)NyM@nvF z7O6M*A$C)kBi0HGMT_+xfQ^USTM)>*h_Rx%eSRxA%n|FuC&=F=Pz}E5uCqbcy;7j=%Qh`glqEA-jx0(a<)uKO5Fe|JLD-ndZ-vnW`G=O&^%pa}Ah(2%m?oANs{lJ`?RhrZ8n!`Q97TKw{YAw9 zD)=M{mD(~_jj`LTd%q6Veum)Cnd!7lw}(5h%ubHcg^2O`prn%u9es3C#&%TsnmSD3%3Ik^Yd@6-d%(I7kqT(B@dVX2 zIidXgd>qYT-oTZ=1sGI7^*_E9Q)1F2mooE0R zXopPnh^ci@+wz2ZDjo&Owyxh6t90Gt!u0miLxc!bue^LvHF?)O@Yf!dQUXfW$u8(f_n07^N)-vpIe;TrHv5uKm{h_v`-IN^zwWc>Lk ziGsSr89sDcdOR_wa~DjrqV&Nd*$18(vohPJ3hSzEJPF2d!u}415wrSMtS(zNa7 zbO0G4ajgKNp{`D7DO<(T?wowarQ0dIKLb<}#prQM)ytB73YNTPQgX^xoT zm>;yKSJ*c@QfD8HW`6&+mowOaA|A&~G0fO6&xwj;E3O9^Zu~ZXts~;-d%FyyeXrijORi<_S(dw_5@h&-fTY?#FJo% zQZZ1&ED%$if+n8JVM{s-ZoK@P>p@z4s`AoI6hYxE!Ie_Y)cpjZjc8@~uNMYVfy#J$ z)+sdEX7DK^{}kUAST8U6^p6#c>0Lc>T~9`0}`*2 zizaU)TFS4(u;BenUWZr?s{D)Z)rc9L5&gUvz3iSQaF#J)D)Ts{YgagdDcI1S`dtes zPqb4|h-RIkjhnpmn(Q2Je6Di5C?MkCUL)!WoKn|P#al41v#-Q8`K1$Gh64UhPQj|T zaZb%tJ}O{A?Cvl26!jeKS3OUkp5@8RDBYwh`Loxb5W<^m*R37+v}#*m-G{{ocF-#r z7!k3ZS^4Qu9sNRNZ3`laW2TqV{rsR#~gtVp6C zL0?}~gbLTv^jqtPQD@Cpq6{B6v&*Y)?tx})z=qQNB4Z_59 zpI2L)xQ`!|J8wWgs82jSw_8(;#}y7~Y^&hY9P1G)@`CGtIi*tZ%-%&;$PuG(!M%)E zQ?T#imBH8dCZxUBX^RWPwIh9LcnL3#$befQDr@UJl{=}o0){qIt52vU9X=3L_gvVW zPqp_YhhpM6XiE7Lvn-G0Wzo>0;g|$_-7|ucz~*w%bW@hr6M?~v9dT}L=>UotTj13& z?Uvt0_uOvzMq4iG6)gZqeU;W=P@EVod;}Vr7P*@=C19v;iz$4N+c5ewauTtKK5e;yIx(FQUec0 z`G)VlTUY|m2L=KusMRgMlapu#wt8MohK3=y`!J`tD6nYd%?xIZO`Q)skL)R%3Vf(P z__5Sx3h%fKF=sNdZo2p(w=_|}1M%ri7fO?8))sU1ySG;M4p4;zrr}4l0lzvA!WQ&a zrwX>%lJkv`Gr_u=K>kHOg6(AB(R3FOryElY)-vi|fRsBS<)$1;TC_?BnyScjY6>_ZD=T|bjcbjz@D6V+yfHd4SU+J*2Dh%n;$5ou zHh6R=)$>IH@%5js2KH#JkfFCVI}P>~U;|}>kk|06tA}^~B;|gJ$UvSF-l4GX43DAR z&M2mp8OgiTaK4li0|Q2qmGNYsm+Qq^JM8yfCP>5!31rjh4Mnq~+5X8+_$scfP1Fp!c zcQO*#6cfJ?ZRxn_$Se_|}Xo1oIF7s(7CllypCW@W8-y5%Bel_K*0G zd~8UWeYCWz>~^hF3ond|tQcClJ(8^9FW&&?U)a4O-pE;Y*u|FHGax>F*Kg_beOF5c z&?#xRN5Q?ckEwCnNr-${XC=w-te5%QH(6O~yxke=R!_ns))PU07Pu)CY`<>$+XicZ zCI=g^;q7NZnw=-vf;HoWLD+}`&Bph>kiqyX5jxjI1A41d$R3nahq@CHULV#9ItIwJ z0)^JGy{hB;@SD|}Zel8~2z;UjN96MR@dt;EV`9RP4X&zn8ib=n*107cICSp7z6srZ~4Qg|Vp$OB0By{IxAPaD7HGFw_HTza~wWN1A6 z3`7BZFse2a4{y#V^&;nRVcZOz*2>A?jm$%?)KawLR0cEz24qxxOOo9_2)9MrWpSg7 zPiPz+M7(zPRZ3$#11ti?uI!}bM!Dg%L#+uR+^2L2RX+QlMpL zg_DrR=GIT7C~b+^OZK)?l7*9c-78zWVbLo1oS}bItdscuF80}guwA8c^(47DfaBjV z^V@&JJHxYHqS+e7&X;ezZwsE2+t~n0?*m^(db@WnI{LgAnOqOa<8pRvo0E>*O&~J_ z&A)t2LOG)5=3$3n2_gi2Kpvgv)#LCUh2Y~ z!A&(~-8reT$sJk0=L;m~ES3k}k% zkF%gzzT(+nRU0IeUvuW8pq=8uzr&7HW>K5ZiD*8qL17AI^ zGqo>*mvIChU6+&t{A3|!W?~pi9_O$>k2d|#(Z721wcT{S1)_UFZ+}QS^KZ*u?5Y~bz z^cLI;2{$C_ZwWqM@sYMYwG+^N<^Ivq8ZOwV;7xT+WCh)I9PHC}ut;VNr?w z<@?HsG!Qg3zaV+-xQ3ldtad!U<6iGz_enGH*2akP_r)o1D&8p^5M)_c8IIj6Wy*7HJo&CBLuo~nj>(63pZzO(Vv^ZuB3 zMYigjkwA;FEy|G}1jpiMj6|NTm7Uyiw=@FDE*nX<>jR!W@9XIyf%$Fd*J5*D0Z0Lm z9}ZQxyT|x5ftNy?V>EbJz-K>bV9gs9RaXUP<^=;e?&Fqxj;6{ieR-a-@HycA1KMKhql8GOmcxwZ?_-(3hMK^^a*(gaFvBH ziIC!fgH4$W*NbKIaY&T?%&13``KbD@S-0`xQ%v3TV+B!;RC7O!+1a9QCA$H@3tR;k z)SSoR7(s4)f{zM}eWgFN{(ZH5d1O}l)f$ruT!)Q&NImXyZsTzOf9TwctcSfr+M)aJ z5otO+$jvm-P4)ykH)x|cO5xeb>?!`qGw$(>&axqLL6yoB${vsMXgL_-bz@2J_tS92 zdvZG-+vKl@K4Vr(EL{WQt@Z+Ea-hxX0}nTSZxnpi^#Kn8Ox8FgIS|hc}KJQ4tm*HO16ui{(O9} z1YN)GjiQt6fGq`Cj+^`zUf?8hk^(T{{cOQGWFP98am}is28A!5%{R#ENv8fCN!j69 zlMEK(2z?|BY=Je$XD9mB-Kkem*(d-j^9j$2#6r$Dz?s)-TCDCGCs z8>6Pvj{Y+YIeFA@qY22V$)awy@q!9A4rgk5b9TcC;s9Ig^G|6nDP+5=Fzg&?(L=vc zCbGd>fSu~@6!94td+o#d@sid!EIX$rx7*cawe6 z`dScJ+$HssdOjE)O#Ybs56vm-FQ$7yuJJD^Zqk%hMaIgAJ<2yb_MFQte_i;62ScT$ zpjifYyR_E=rQ+>H)pmlr-Udzg*-!|ssw(D7wJvC+Sf8bb9;;q8#z?0p!!bsd{wy|5 zpBaMHE-Ve>i#LLjHRaMLtp%9&(HCng7Sw96jVv!#0k%?F^K7&=T)mnYn)D9(i;4x5 z^NJTJwq~pv;kH@#ejTd*48~(J(r6j34|m`h9fEDj0im)~+%I5XphWymhT;_Zty|Q& zzjPg#-ufAHZ1M*Gccw?Kf|8Pnhtb0`!{N`Bqsa37J+>wC$!e z00k+2Egzz;rbcWoUB%Jvp8W1}$XD%e3>4y;;OZ1ccT-O#uW6Ys@C}Pa`nZrNKzR(2 z4e%3)@QI4SE&E!lW`5y14QhbepBG%_XBV-O(%5tj)@9#|;sC-MNev!zGDHk}JdpGC`iJF#8=8-P$Xoku_=Dw%Cv3{U7L>gf zRQ?<$t`cZ*MP5GQmbmx#!+*!zu>0MewRO9GFGS{b^m_fJ-N0?j@EqoFf>$khj+E|@ z7r3We&^tR^YZrxKe*d22agXqCO0l44&kqCv{u)T|(lv`~PK@DvE z{QI_TlCH5z*gR!>LO)k67{^R+vWx24U2^2ODXpwT;6y+6+$5m)_*w4WY&#do9dCeE z)>p+Ykdhq($DhmMiaYXey!@N%L26uz($aJ!QT{B^Wu}U$^9e#5)=c+XF9@Ill?ZmM zlNgHiz*9!vDc&uxOo;ZVxb`Q!Sk0*gnfxWzmbZh4(=%CD%qP?0=);n$&zaW_$UKV9 z8axdcN#AyZ{P)wj?V{P}vM)YY!>6@}^>U+iv$`9>nMTCPjN>z%yF&3yf%>+T@0vh4 zlC8Xa6zeo?%=o3}M8{aebLHcO{^1Ar8qiM=Gquf?Jo)q5`-+?sUpg?QXyEUpWSm+n z$K-UyqkIwHLquru~o(OF)hhz$Y*|X>ZIbswnxRvr~ z2=rdOGVuD|xRlpAZE<0!X1F(%Anpl^@V^D3vbM}qxe|NI;TTiZy7(IM;R69RkA>a& z6gwYE2sREzQ_LHmWqB+ogMk(fMaSFeoDq-!HkFB_nXt5+2ncFuk9BQL1I&oB1zZi) zYW{6_&-Ip1l*OVRA##1ILQS;5R{-K^0wGTiJbVSi@LA^$D$;@J>^G{6@&+%4{b3(s zC~LEHiTv(0b#zxt?YJ0r_~pUZM~mQ(??(n#>&tD%+@nq=Abj5*8R!~Ul1`G~=qFJ4 zfl|m8ZDCYgtr`4LcOpgiJYX9qRY5;DcWti~PmS$VB$E-Zt^f4)vLDOe_3XTq5^ylW zJ9PKm!V-8sAOJXnUfuFNIf0R9tK-pNs2hO04zr620}5B(Ok>yB)Of-3sP59qfQNbm zA4{w!2@cB;GbR(~szVrbO%(w=5S!X`o@o@x++wbN_tMPT0Vc)*I;Fgsbf^*g0 z2Di?HTApwKq3+YwfNsqd3iP%{hyK1iyuVZc@*0tO_3+N0#GFsz>8MjeJ2UJ%L!%hi zGYYAthH`E+ywA*u{(eJ=ia3h*%k?779rk-K<0VZAPkl;TFUbmei|$fqWO8!_zIvqt z$ly$VrlH46nnpX~X5Yk0iBJl;=WuA4>~X4-f&K0yWf42h&0b30t@NYX$7egQ1Fp!a zbui-D6cWCWV&|R1CY@G8(qOmWjWeX3eX7UggZPGimA}soOuQdXe4uZ#2>5zN>qlI0 z9xk}lE=tNpX1m6*nFr2EQ3xs79!^sCldDJYE$m(qYv3q7>}1R7?iZW7>$~*%zKaC| z=$N?ME$>#+%T&MZC`dW1wUl6Z)JgyCn~V%K&i0H|iwE%$>xsZW3tTfZxIUePci@p;cRu|d=ItIwF z1clVHy{hH?@SD|(Zfqi^0DQ1hczHN7xq85h)rzQqLHMX2^IkuK7FB!kI40s$|CY7~ zNX^{_UjN8}L%Med;|+=4RNTMozn8KT;2tb77bUPCmioh+rZBfIiM6f_P34cQ__o1G zWqQp3VL~~pE5?qODf%iiQQ3f42YF@09tQ*$4v_EKUx;t1KCPCBtgqg z@+Tn;O)a0uky_%jm+WjNB?=~VyH>V#L!*=l*@OS6SVyt_UEH&NA=?V2stHPyKkVNy z&jg<#cjros){#ji)dK z%)We0L_478=HZ8-@xnwsKrWs8)x`MB;(Y`Cmu2c-&SH(vN-F(*e`l?c%+l$|y_AJJ zhcDGnwLvN+bu;_sX|1AiePhx@u&%P$hf*xE+O=~D?_(_KGWQ!158YL-y9$*6mmPo;Rp*Dl5lm-mVM2i`h- zM@nxv590_tvMwPD_{l=b$iOm|+|S{D9&P%zeT$GgX6Akl-tfUF>tL@Ld!B&{pN39t zH>3Vhqkr}2Yul+jb7UiouWVGPNsxX7Ueba+9|~dz?d*QM$ng0DZfO0`7fAy?2yMm| zcnRzUhZ&IcwgjH9cuU!w+VStYa{p*)4IgBf|E8)sqMYtB2KH_}SfsFq(c9i(Q6S3U oBo%DI*Kv;w;*%(i9W@f3_WCF#rGn literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-icons_cd0a0a_256x240.png b/Activity_3_python/LangagePython_fonctions/css/silver-theme/images/ui-icons_cd0a0a_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..2ab019b73ec11a485fa09378f3a0e155194f6a5d GIT binary patch literal 4369 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 UNGe^)&;S4c07*qoM6N<$f_@~UJpcdz literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/img/arrow_right.png b/Activity_3_python/LangagePython_fonctions/img/arrow_right.png new file mode 100644 index 0000000000000000000000000000000000000000..ca41e5d8d2f0474161a28e14747c6268b8486c1b GIT binary patch literal 393 zcmV;40e1e0P)+-~-wY zE#5Zavrq2LEw~0B9G~5Yms)k`MQkW(4w9143z`(#e+EMSA(9#A2<7@bWU z8mLj=pOitn11>Jl(XD_q77OKPxmkAF9wIiw*=ZN*+Xivf>*o4OPwpR|Rtw5Y#4jcZ z;hPbHz=xC)&u<^HToVoG515hKe{W2Lj^EOdm)_?Jq5(w00NA`?B+zbo8uI%7r6C1C zSO6AJX^{KJ-VrjHq1O*(0Z7RNSiGgeF+oteuE8!DD2+xDCM?GK2wT=bDT)~4DaYR; zZkYj#IT9{l{KjzjW1chj_M0va5BBtYn%{?+NR7U5H#Ca&@&MU%9q{}@QJPts%B|~# ngcFKbdq>tbQ&q6iTz~-pCb^!6A`v?500000NkvXXu0mjfs-L82 literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/img/arrow_up.png b/Activity_3_python/LangagePython_fonctions/img/arrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..557d5e6a9db9f3e41dc0964ea22931a374507114 GIT binary patch literal 376 zcmV-;0f+vHP)&KoErwrnjah27f5v zw)l79r4Q;W_!Pc`ml};1N)b^*30=WdAz@@UO4`!hhIo?6Zf0k`%$|&Kad`!e==U^K z1sl3%kJ%702WqLOY97^%C#T2F7>|BPt0q|mprLEw=x_v{f6IipQ&r(9h+2?k05NAD zp2slFznbJUFJ+F1;6J}EK;{8-VDDkb9Hbw!)>vs-$~OTShi?t!4?yl<7p`L=;h#!Z z6JE#~0SR8-B}4$owoDAH9Zb>;>oh3}SzA$sFp5b|P+w&9`<6WrZr3nn&( zaGudt4biEtfyzXwaS)-4mH`Gjs;Aifby9!f{ETTkuWx+)D&Ic%|M~)EMK=$A1Q-Bl WKyJT`8$SF10000^aFQ{mdusM76|)&4P8uBvb4 zdHdeUAnxCd>pzV>?sEr+HgCOo&P`k~(1O9JL!61r`N{9Z-AU>mNvitK?)ijYc4kO$ rJreRFvt>hbZeoki`JMZM(j~>inapqYZJoRV=rjgTS3j3^P6ejv*HQS0@MZH7M{nmw%D%oqbkBCx^%I z$8(`(wqHiOv>thdo~@VP>m1{?alJrrptG$b!?Vq=)-W@Cj135Rd3hc?E5q&vi)jLU z>zm>k83g$lu6S9s2gKZTj$^p8o$poXIfnf&8zN7r^$A|Oag(`ciE!|)$>8bg=d#Wzp$PyT C)mtn8 literal 0 HcmV?d00001 diff --git a/Activity_3_python/LangagePython_fonctions/img/footer-bg.png b/Activity_3_python/LangagePython_fonctions/img/footer-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..5682c5f310830d2ea47e0aa180a6f740f1f247a2 GIT binary patch literal 950 zcmaJ=zi-n(6n0t(P(=quU^(2ivG1JUCZ>cqp+>lh5=#vdLUrs*Vx{((^MyEJD-%Ne z0sIL_s1gec0|OHh0|OHS%t#2jfMDaCCMiRMhx5DB_kHhs@7_Ib?A%;myR;?y$7Q*yWYJd#i*TPPGZ zfdUbfp&}zCjS6Z;Q6U7gPvqIC+f|!-eU^*wG_lWEsLJwaG?GRciO`;mN~Kbwp(tsN zNJry<*>O6EHs%UCjvVTR%p(Cv6zvWfGEL-8k4x~wg=`Sb+Qb_s$95Jqbx!-SX5w6hp14ipn5S=t_k@&~bL=oKse^z9?MAi(phFMl0A`SU3I^!>A2*AI@~etC6v i@1bD{FH*lRr_KmpKd=1!e&@>b(fCZa&L~MO)1_J&7t_dbaMsi@oRB)}0VzxUz7`gHj(xu5cAK2h9d!(;k%rQ9AcD z``uK$&j@p@IiM`c!VxNb!Ps4?V0QT@5sr87=0){e=document.createElement("span");e.className="highlight";c=b.splitText(c);c.splitText(a.length);var g=c.cloneNode(!0);e.appendChild(g);c.parentNode.replaceChild(e,c);e=1}}else if(b.nodeType==1&&b.childNodes&&!/(script|style)/i.test(b.tagName))for(c=0;cb[1]?-1:a[1]=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!!d&&!!a.element[0].parentNode)for(var e=0;e0)return!0;b[d]=1,e=b[d]>0,b[d]=0;return e},isOverAxis:function(a,b,c){return a>b&&a=9)&&!b.button)return this._mouseUp(b);if(this._mouseStarted){this._mouseDrag(b);return b.preventDefault()}this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b));return!this._mouseStarted},_mouseUp:function(b){a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b));return!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);/* + * jQuery UI Draggable 1.8.17 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Draggables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */(function(a,b){a.widget("ui.draggable",a.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1},_create:function(){this.options.helper=="original"&&!/^(?:r|a|f)/.test(this.element.css("position"))&&(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},destroy:function(){if(!!this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy();return this}},_mouseCapture:function(b){var c=this.options;if(this.helper||c.disabled||a(b.target).is(".ui-resizable-handle"))return!1;this.handle=this._getHandle(b);if(!this.handle)return!1;c.iframeFix&&a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a('

').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")});return!0},_mouseStart:function(b){var c=this.options;this.helper=this._createHelper(b),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),c.containment&&this._setContainment();if(this._trigger("start",b)===!1){this._clear();return!1}this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.helper.addClass("ui-draggable-dragging"),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b);return!0},_mouseDrag:function(b,c){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute");if(!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1){this._mouseUp({});return!1}this.position=d.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";a.ui.ddmanager&&a.ui.ddmanager.drag(this,b);return!1},_mouseStop:function(b){var c=!1;a.ui.ddmanager&&!this.options.dropBehaviour&&(c=a.ui.ddmanager.drop(this,b)),this.dropped&&(c=this.dropped,this.dropped=!1);if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return!1;if(this.options.revert=="invalid"&&!c||this.options.revert=="valid"&&c||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,c)){var d=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){d._trigger("stop",b)!==!1&&d._clear()})}else this._trigger("stop",b)!==!1&&this._clear();return!1},_mouseUp:function(b){this.options.iframeFix===!0&&a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b);return a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?!0:!1;a(this.options.handle,this.element).find("*").andSelf().each(function(){this==b.target&&(c=!0)});return c},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):c.helper=="clone"?this.element.clone().removeAttr("id"):this.element;d.parents("body").length||d.appendTo(c.appendTo=="parent"?this.element[0].parentNode:c.appendTo),d[0]!=this.element[0]&&!/(fixed|absolute)/.test(d.css("position"))&&d.css("position","absolute");return d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[b.containment=="document"?0:a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,b.containment=="document"?0:a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(b.containment=="document"?0:a(window).scrollLeft())+a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(b.containment=="document"?0:a(window).scrollTop())+(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)&&b.containment.constructor!=Array){var c=a(b.containment),d=c[0];if(!d)return;var e=c.offset(),f=a(d).css("overflow")!="hidden";this.containment=[(parseInt(a(d).css("borderLeftWidth"),10)||0)+(parseInt(a(d).css("paddingLeft"),10)||0),(parseInt(a(d).css("borderTopWidth"),10)||0)+(parseInt(a(d).css("paddingTop"),10)||0),(f?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(a(d).css("borderLeftWidth"),10)||0)-(parseInt(a(d).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(f?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(a(d).css("borderTopWidth"),10)||0)-(parseInt(a(d).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c}else b.containment.constructor==Array&&(this.containment=b.containment)},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName),f=b.pageX,g=b.pageY;if(this.originalPosition){var h;if(this.containment){if(this.relative_container){var i=this.relative_container.offset();h=[this.containment[0]+i.left,this.containment[1]+i.top,this.containment[2]+i.left,this.containment[3]+i.top]}else h=this.containment;b.pageX-this.offset.click.lefth[2]&&(f=h[2]+this.offset.click.left),b.pageY-this.offset.click.top>h[3]&&(g=h[3]+this.offset.click.top)}if(c.grid){var j=c.grid[1]?this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1]:this.originalPageY;g=h?j-this.offset.click.toph[3]?j-this.offset.click.toph[2]?k-this.offset.click.left=0;k--){var l=d.snapElements[k].left,m=l+d.snapElements[k].width,n=d.snapElements[k].top,o=n+d.snapElements[k].height;if(!(l-f=k&&g<=l||h>=k&&h<=l||gl)&&(e>=i&&e<=j||f>=i&&f<=j||ej);default:return!1}},a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d=a.ui.ddmanager.droppables[b.options.scope]||[],e=c?c.type:null,f=(b.currentItem||b.element).find(":data(droppable)").andSelf();droppablesLoop:for(var g=0;g').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("resizable",this.element.data("resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=c.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se");if(this.handles.constructor==String){this.handles=="all"&&(this.handles="n,e,s,w,se,sw,ne,nw");var d=this.handles.split(",");this.handles={};for(var e=0;e');/sw|se|ne|nw/.test(f)&&h.css({zIndex:++c.zIndex}),"se"==f&&h.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[f]=".ui-resizable-"+f,this.element.append(h)}}this._renderAxis=function(b){b=b||this.element;for(var c in this.handles){this.handles[c].constructor==String&&(this.handles[c]=a(this.handles[c],this.element).show());if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var d=a(this.handles[c],this.element),e=0;e=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth();var f=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join("");b.css(f,e),this._proportionallyResize()}if(!a(this.handles[c]).length)continue}},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){if(!b.resizing){if(this.className)var a=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=a&&a[1]?a[1]:"se"}}),c.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").hover(function(){c.disabled||(a(this).removeClass("ui-resizable-autohide"),b._handles.show())},function(){c.disabled||b.resizing||(a(this).addClass("ui-resizable-autohide"),b._handles.hide())})),this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var c=this.element;c.after(this.originalElement.css({position:c.css("position"),width:c.outerWidth(),height:c.outerHeight(),top:c.css("top"),left:c.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle),b(this.originalElement);return this},_mouseCapture:function(b){var c=!1;for(var d in this.handles)a(this.handles[d])[0]==b.target&&(c=!0);return!this.options.disabled&&c},_mouseStart:function(b){var d=this.options,e=this.element.position(),f=this.element;this.resizing=!0,this.documentScroll={top:a(document).scrollTop(),left:a(document).scrollLeft()},(f.is(".ui-draggable")||/absolute/.test(f.css("position")))&&f.css({position:"absolute",top:e.top,left:e.left}),a.browser.opera&&/relative/.test(f.css("position"))&&f.css({position:"relative",top:"auto",left:"auto"}),this._renderProxy();var g=c(this.helper.css("left")),h=c(this.helper.css("top"));d.containment&&(g+=a(d.containment).scrollLeft()||0,h+=a(d.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:g,top:h},this.size=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalSize=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalPosition={left:g,top:h},this.sizeDiff={width:f.outerWidth()-f.width(),height:f.outerHeight()-f.height()},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio=typeof d.aspectRatio=="number"?d.aspectRatio:this.originalSize.width/this.originalSize.height||1;var i=a(".ui-resizable-"+this.axis).css("cursor");a("body").css("cursor",i=="auto"?this.axis+"-resize":i),f.addClass("ui-resizable-resizing"),this._propagate("start",b);return!0},_mouseDrag:function(b){var c=this.helper,d=this.options,e={},f=this,g=this.originalMousePosition,h=this.axis,i=b.pageX-g.left||0,j=b.pageY-g.top||0,k=this._change[h];if(!k)return!1;var l=k.apply(this,[b,i,j]),m=a.browser.msie&&a.browser.version<7,n=this.sizeDiff;this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)l=this._updateRatio(l,b);l=this._respectSize(l,b),this._propagate("resize",b),c.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"}),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),this._updateCache(l),this._trigger("resize",b,this.ui());return!1},_mouseStop:function(b){this.resizing=!1;var c=this.options,d=this;if(this._helper){var e=this._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:d.sizeDiff.height,h=f?0:d.sizeDiff.width,i={width:d.helper.width()-h,height:d.helper.height()-g},j=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,k=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;c.animate||this.element.css(a.extend(i,{top:k,left:j})),d.helper.height(d.size.height),d.helper.width(d.size.width),this._helper&&!c.animate&&this._proportionallyResize()}a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove();return!1},_updateVirtualBoundaries:function(a){var b=this.options,c,e,f,g,h;h={minWidth:d(b.minWidth)?b.minWidth:0,maxWidth:d(b.maxWidth)?b.maxWidth:Infinity,minHeight:d(b.minHeight)?b.minHeight:0,maxHeight:d(b.maxHeight)?b.maxHeight:Infinity};if(this._aspectRatio||a)c=h.minHeight*this.aspectRatio,f=h.minWidth/this.aspectRatio,e=h.maxHeight*this.aspectRatio,g=h.maxWidth/this.aspectRatio,c>h.minWidth&&(h.minWidth=c),f>h.minHeight&&(h.minHeight=f),ea.width,k=d(a.height)&&e.minHeight&&e.minHeight>a.height;j&&(a.width=e.minWidth),k&&(a.height=e.minHeight),h&&(a.width=e.maxWidth),i&&(a.height=e.maxHeight);var l=this.originalPosition.left+this.originalSize.width,m=this.position.top+this.size.height,n=/sw|nw|w/.test(g),o=/nw|ne|n/.test(g);j&&n&&(a.left=l-e.minWidth),h&&n&&(a.left=l-e.maxWidth),k&&o&&(a.top=m-e.minHeight),i&&o&&(a.top=m-e.maxHeight);var p=!a.width&&!a.height;p&&!a.left&&a.top?a.top=null:p&&!a.top&&a.left&&(a.left=null);return a},_proportionallyResize:function(){var b=this.options;if(!!this._proportionallyResizeElements.length){var c=this.helper||this.element;for(var d=0;d');var d=a.browser.msie&&a.browser.version<7,e=d?1:0,f=d?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+f,height:this.element.outerHeight()+f,position:"absolute",left:this.elementOffset.left-e+"px",top:this.elementOffset.top-e+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(a,b,c){return{width:this.originalSize.width+b}},w:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{left:f.left+b,width:e.width-b}},n:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{top:f.top+c,height:e.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),b!="resize"&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.extend(a.ui.resizable,{version:"1.8.17"}),a.ui.plugin.add("resizable","alsoResize",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=function(b){a(b).each(function(){var b=a(this);b.data("resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10),position:b.css("position")})})};typeof e.alsoResize=="object"&&!e.alsoResize.parentNode?e.alsoResize.length?(e.alsoResize=e.alsoResize[0],f(e.alsoResize)):a.each(e.alsoResize,function(a){f(a)}):f(e.alsoResize)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,e){a(b).each(function(){var b=a(this),f=a(this).data("resizable-alsoresize"),g={},i=e&&e.length?e:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(i,function(a,b){var c=(f[b]||0)+(h[b]||0);c&&c>=0&&(g[b]=c||null)}),a.browser.opera&&/relative/.test(b.css("position"))&&(d._revertToRelativePosition=!0,b.css({position:"absolute",top:"auto",left:"auto"})),b.css(g)})};typeof e.alsoResize=="object"&&!e.alsoResize.nodeType?a.each(e.alsoResize,function(a,b){i(a,b)}):i(e.alsoResize)},stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=function(b){a(b).each(function(){var b=a(this);b.css({position:b.data("resizable-alsoresize").position})})};d._revertToRelativePosition&&(d._revertToRelativePosition=!1,typeof e.alsoResize=="object"&&!e.alsoResize.nodeType?a.each(e.alsoResize,function(a){f(a)}):f(e.alsoResize)),a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","animate",{stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d._proportionallyResizeElements,g=f.length&&/textarea/i.test(f[0].nodeName),h=g&&a.ui.hasScroll(f[0],"left")?0:d.sizeDiff.height,i=g?0:d.sizeDiff.width,j={width:d.size.width-i,height:d.size.height-h},k=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,l=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;d.element.animate(a.extend(j,l&&k?{top:l,left:k}:{}),{duration:e.animateDuration,easing:e.animateEasing,step:function(){var c={width:parseInt(d.element.css("width"),10),height:parseInt(d.element.css("height"),10),top:parseInt(d.element.css("top"),10),left:parseInt(d.element.css("left"),10)};f&&f.length&&a(f[0]).css({width:c.width,height:c.height}),d._updateCache(c),d._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(b,d){var e=a(this).data("resizable"),f=e.options,g=e.element,h=f.containment,i=h instanceof a?h.get(0):/parent/.test(h)?g.parent().get(0):h;if(!!i){e.containerElement=a(i);if(/document/.test(h)||h==document)e.containerOffset={left:0,top:0},e.containerPosition={left:0,top:0},e.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight};else{var j=a(i),k=[];a(["Top","Right","Left","Bottom"]).each(function(a,b){k[a]=c(j.css("padding"+b))}),e.containerOffset=j.offset(),e.containerPosition=j.position(),e.containerSize={height:j.innerHeight()-k[3],width:j.innerWidth()-k[1]};var l=e.containerOffset,m=e.containerSize.height,n=e.containerSize.width,o=a.ui.hasScroll(i,"left")?i.scrollWidth:n,p=a.ui.hasScroll(i)?i.scrollHeight:m;e.parentData={element:i,left:l.left,top:l.top,width:o,height:p}}}},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.containerSize,g=d.containerOffset,h=d.size,i=d.position,j=d._aspectRatio||b.shiftKey,k={top:0,left:0},l=d.containerElement;l[0]!=document&&/static/.test(l.css("position"))&&(k=g),i.left<(d._helper?g.left:0)&&(d.size.width=d.size.width+(d._helper?d.position.left-g.left:d.position.left-k.left),j&&(d.size.height=d.size.width/e.aspectRatio),d.position.left=e.helper?g.left:0),i.top<(d._helper?g.top:0)&&(d.size.height=d.size.height+(d._helper?d.position.top-g.top:d.position.top),j&&(d.size.width=d.size.height*e.aspectRatio),d.position.top=d._helper?g.top:0),d.offset.left=d.parentData.left+d.position.left,d.offset.top=d.parentData.top+d.position.top;var m=Math.abs((d._helper?d.offset.left-k.left:d.offset.left-k.left)+d.sizeDiff.width),n=Math.abs((d._helper?d.offset.top-k.top:d.offset.top-g.top)+d.sizeDiff.height),o=d.containerElement.get(0)==d.element.parent().get(0),p=/relative|absolute/.test(d.containerElement.css("position"));o&&p&&(m-=d.parentData.left),m+d.size.width>=d.parentData.width&&(d.size.width=d.parentData.width-m,j&&(d.size.height=d.size.width/d.aspectRatio)),n+d.size.height>=d.parentData.height&&(d.size.height=d.parentData.height-n,j&&(d.size.width=d.size.height*d.aspectRatio))},stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.position,g=d.containerOffset,h=d.containerPosition,i=d.containerElement,j=a(d.helper),k=j.offset(),l=j.outerWidth()-d.sizeDiff.width,m=j.outerHeight()-d.sizeDiff.height;d._helper&&!e.animate&&/relative/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m}),d._helper&&!e.animate&&/static/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m})}}),a.ui.plugin.add("resizable","ghost",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size;d.ghost=d.originalElement.clone(),d.ghost.css({opacity:.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof e.ghost=="string"?e.ghost:""),d.ghost.appendTo(d.helper)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})},stop:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.helper&&d.helper.get(0).removeChild(d.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size,g=d.originalSize,h=d.originalPosition,i=d.axis,j=e._aspectRatio||b.shiftKey;e.grid=typeof e.grid=="number"?[e.grid,e.grid]:e.grid;var k=Math.round((f.width-g.width)/(e.grid[0]||1))*(e.grid[0]||1),l=Math.round((f.height-g.height)/(e.grid[1]||1))*(e.grid[1]||1);/^(se|s|e)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l):/^(ne)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l):/^(sw)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.left=h.left-k):(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l,d.position.left=h.left-k)}});var c=function(a){return parseInt(a,10)||0},d=function(a){return!isNaN(parseInt(a,10))}})(jQuery);/* + * jQuery UI Selectable 1.8.17 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */(function(a,b){a.widget("ui.selectable",a.ui.mouse,{options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch"},_create:function(){var b=this;this.element.addClass("ui-selectable"),this.dragged=!1;var c;this.refresh=function(){c=a(b.options.filter,b.element[0]),c.addClass("ui-selectee"),c.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=c.addClass("ui-selectee"),this._mouseInit(),this.helper=a("
")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"),this._mouseDestroy();return this},_mouseStart:function(b){var c=this;this.opos=[b.pageX,b.pageY];if(!this.options.disabled){var d=this.options;this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.clientX,top:b.clientY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,!b.metaKey&&!b.ctrlKey&&(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().andSelf().each(function(){var d=a.data(this,"selectable-item");if(d){var e=!b.metaKey&&!b.ctrlKey||!d.$element.hasClass("ui-selected");d.$element.removeClass(e?"ui-unselecting":"ui-selected").addClass(e?"ui-selecting":"ui-unselecting"),d.unselecting=!e,d.selecting=e,d.selected=e,e?c._trigger("selecting",b,{selecting:d.element}):c._trigger("unselecting",b,{unselecting:d.element});return!1}})}},_mouseDrag:function(b){var c=this;this.dragged=!0;if(!this.options.disabled){var d=this.options,e=this.opos[0],f=this.opos[1],g=b.pageX,h=b.pageY;if(e>g){var i=g;g=e,e=i}if(f>h){var i=h;h=f,f=i}this.helper.css({left:e,top:f,width:g-e,height:h-f}),this.selectees.each(function(){var i=a.data(this,"selectable-item");if(!!i&&i.element!=c.element[0]){var j=!1;d.tolerance=="touch"?j=!(i.left>g||i.righth||i.bottome&&i.rightf&&i.bottom *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):!1,this.offset=this.element.offset(),this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){b==="disabled"?(this.options[b]=c,this.widget()[c?"addClass":"removeClass"]("ui-sortable-disabled")):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type=="static")return!1;this._refreshItems(b);var e=null,f=this,g=a(b.target).parents().each(function(){if(a.data(this,d.widgetName+"-item")==f){e=a(this);return!1}});a.data(b.target,d.widgetName+"-item")==f&&(e=a(b.target));if(!e)return!1;if(this.options.handle&&!c){var h=!1;a(this.options.handle,e).find("*").andSelf().each(function(){this==b.target&&(h=!0)});if(!h)return!1}this.currentItem=e,this._removeCurrentsFromItems();return!0},_mouseStart:function(b,c,d){var e=this.options,f=this;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),e.containment&&this._setContainment(),e.cursor&&(a("body").css("cursor")&&(this._storedCursor=a("body").css("cursor")),a("body").css("cursor",e.cursor)),e.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",e.opacity)),e.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",e.zIndex)),this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!d)for(var g=this.containers.length-1;g>=0;g--)this.containers[g]._trigger("activate",b,f._uiHash(this));a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b);return!0},_mouseDrag:function(b){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var c=this.options,d=!1;this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY=0;e--){var f=this.items[e],g=f.item[0],h=this._intersectsWithPointer(f);if(!h)continue;if(g!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=g&&!a.ui.contains(this.placeholder[0],g)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],g):!0)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(f))this._rearrange(b,f);else break;this._trigger("change",b,this._uiHash());break}}this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs;return!1},_mouseStop:function(b,c){if(!!b){a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b);if(this.options.revert){var d=this,e=d.placeholder.offset();d.reverting=!0,a(this.helper).animate({left:e.left-this.offset.parent.left-d.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-d.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1}},cancel:function(){var b=this;if(this.dragging){this._mouseUp({target:null}),this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("deactivate",null,b._uiHash(this)),this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",null,b._uiHash(this)),this.containers[c].containerCache.over=0)}this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem));return this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"=");return d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")});return d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l=d+j>h&&d+jf&&b+ka[this.floating?"width":"height"]?l:f0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a),this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c=this,d=[],e=[],f=this._connectWith();if(f&&b)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&e.push([a.isFunction(j.options.items)?j.options.items.call(j.element):a(j.options.items,j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),j])}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var g=e.length-1;g>=0;g--)e[g][0].each(function(){d.push(this)});return a(d)},_removeCurrentsFromItems:function(){var a=this.currentItem.find(":data("+this.widgetName+"-item)");for(var b=0;b=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&(e.push([a.isFunction(j.options.items)?j.options.items.call(j.element[0],b,{item:this.currentItem}):a(j.options.items,j.element),j]),this.containers.push(j))}}for(var g=e.length-1;g>=0;g--){var k=e[g][1],l=e[g][0];for(var i=0,m=l.length;i=0;c--){var d=this.items[c];if(d.instance!=this.currentContainer&&this.currentContainer&&d.item[0]!=this.currentItem[0])continue;var e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item;b||(d.width=e.outerWidth(),d.height=e.outerHeight());var f=e.offset();d.left=f.left,d.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var c=this.containers.length-1;c>=0;c--){var f=this.containers[c].element.offset();this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight()}return this},_createPlaceholder:function(b){var c=b||this,d=c.options;if(!d.placeholder||d.placeholder.constructor==String){var e=d.placeholder;d.placeholder={element:function(){var b=a(document.createElement(c.currentItem[0].nodeName)).addClass(e||c.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];e||(b.style.visibility="hidden");return b},update:function(a,b){if(!e||!!d.forcePlaceholderSize)b.height()||b.height(c.currentItem.innerHeight()-parseInt(c.currentItem.css("paddingTop")||0,10)-parseInt(c.currentItem.css("paddingBottom")||0,10)),b.width()||b.width(c.currentItem.innerWidth()-parseInt(c.currentItem.css("paddingLeft")||0,10)-parseInt(c.currentItem.css("paddingRight")||0,10))}}}c.placeholder=a(d.placeholder.element.call(c.element,c.currentItem)),c.currentItem.after(c.placeholder),d.placeholder.update(c,c.placeholder)},_contactContainers:function(b){var c=null,d=null;for(var e=this.containers.length-1;e>=0;e--){if(a.ui.contains(this.currentItem[0],this.containers[e].element[0]))continue;if(this._intersectsWith(this.containers[e].containerCache)){if(c&&a.ui.contains(this.containers[e].element[0],c.element[0]))continue;c=this.containers[e],d=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",b,this._uiHash(this)),this.containers[e].containerCache.over=0)}if(!!c)if(this.containers.length===1)this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1;else if(this.currentContainer!=this.containers[d]){var f=1e4,g=null,h=this.positionAbs[this.containers[d].floating?"left":"top"];for(var i=this.items.length-1;i>=0;i--){if(!a.ui.contains(this.containers[d].element[0],this.items[i].item[0]))continue;var j=this.items[i][this.containers[d].floating?"left":"top"];Math.abs(j-h)this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top));if(c.grid){var h=this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1];g=this.containment?h-this.offset.click.topthis.containment[3]?h-this.offset.click.topthis.containment[2]?i-this.offset.click.left=0;f--)a.ui.contains(this.containers[f].element[0],this.currentItem[0])&&!c&&(d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.containers[f])),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.containers[f])))}for(var f=this.containers.length-1;f>=0;f--)c||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over=0);this._storedCursor&&a("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!c){this._trigger("beforeStop",b,this._uiHash());for(var f=0;f",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
"},_create:function(){this._tabify(!0)},_setOption:function(a,b){if(a=="selected"){if(this.options.collapsible&&b==this.options.selected)return;this.select(b)}else this.options[a]=b,this._tabify()},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function m(b,c){b.css("display",""),!a.support.opacity&&c.opacity&&b[0].style.removeAttribute("filter")}var d=this,e=this.options,f=/^#.+/;this.list=this.element.find("ol,ul").eq(0),this.lis=a(" > li:has(a[href])",this.list),this.anchors=this.lis.map(function(){return a("a",this)[0]}),this.panels=a([]),this.anchors.each(function(b,c){var g=a(c).attr("href"),h=g.split("#")[0],i;h&&(h===location.toString().split("#")[0]||(i=a("base")[0])&&h===i.href)&&(g=c.hash,c.href=g);if(f.test(g))d.panels=d.panels.add(d.element.find(d._sanitizeSelector(g)));else if(g&&g!=="#"){a.data(c,"href.tabs",g),a.data(c,"load.tabs",g.replace(/#.*$/,""));var j=d._tabId(c);c.href="#"+j;var k=d.element.find("#"+j);k.length||(k=a(e.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b-1]||d.list),k.data("destroy.tabs",!0)),d.panels=d.panels.add(k)}else e.disabled.push(b)}),c?(this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"),this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.lis.addClass("ui-state-default ui-corner-top"),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom"),e.selected===b?(location.hash&&this.anchors.each(function(a,b){if(b.hash==location.hash){e.selected=a;return!1}}),typeof e.selected!="number"&&e.cookie&&(e.selected=parseInt(d._cookie(),10)),typeof e.selected!="number"&&this.lis.filter(".ui-tabs-selected").length&&(e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))),e.selected=e.selected||(this.lis.length?0:-1)):e.selected===null&&(e.selected=-1),e.selected=e.selected>=0&&this.anchors[e.selected]||e.selected<0?e.selected:0,e.disabled=a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(a,b){return d.lis.index(a)}))).sort(),a.inArray(e.selected,e.disabled)!=-1&&e.disabled.splice(a.inArray(e.selected,e.disabled),1),this.panels.addClass("ui-tabs-hide"),this.lis.removeClass("ui-tabs-selected ui-state-active"),e.selected>=0&&this.anchors.length&&(d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"),this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"),d.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[e.selected],d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))}),this.load(e.selected)),a(window).bind("unload",function(){d.lis.add(d.anchors).unbind(".tabs"),d.lis=d.anchors=d.panels=null})):e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")),this.element[e.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible"),e.cookie&&this._cookie(e.selected,e.cookie);for(var g=0,h;h=this.lis[g];g++)a(h)[a.inArray(g,e.disabled)!=-1&&!a(h).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");e.cache===!1&&this.anchors.removeData("cache.tabs"),this.lis.add(this.anchors).unbind(".tabs");if(e.event!=="mouseover"){var i=function(a,b){b.is(":not(.ui-state-disabled)")&&b.addClass("ui-state-"+a)},j=function(a,b){b.removeClass("ui-state-"+a)};this.lis.bind("mouseover.tabs",function(){i("hover",a(this))}),this.lis.bind("mouseout.tabs",function(){j("hover",a(this))}),this.anchors.bind("focus.tabs",function(){i("focus",a(this).closest("li"))}),this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var k,l;e.fx&&(a.isArray(e.fx)?(k=e.fx[0],l=e.fx[1]):k=l=e.fx);var n=l?function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.hide().removeClass("ui-tabs-hide").animate(l,l.duration||"normal",function(){m(c,l),d._trigger("show",null,d._ui(b,c[0]))})}:function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.removeClass("ui-tabs-hide"),d._trigger("show",null,d._ui(b,c[0]))},o=k?function(a,b){b.animate(k,k.duration||"normal",function(){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),m(b,k),d.element.dequeue("tabs")})}:function(a,b,c){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),d.element.dequeue("tabs")};this.anchors.bind(e.event+".tabs",function(){var b=this,c=a(b).closest("li"),f=d.panels.filter(":not(.ui-tabs-hide)"),g=d.element.find(d._sanitizeSelector(b.hash));if(c.hasClass("ui-tabs-selected")&&!e.collapsible||c.hasClass("ui-state-disabled")||c.hasClass("ui-state-processing")||d.panels.filter(":animated").length||d._trigger("select",null,d._ui(this,g[0]))===!1){this.blur();return!1}e.selected=d.anchors.index(this),d.abort();if(e.collapsible){if(c.hasClass("ui-tabs-selected")){e.selected=-1,e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){o(b,f)}).dequeue("tabs"),this.blur();return!1}if(!f.length){e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this)),this.blur();return!1}}e.cookie&&d._cookie(e.selected,e.cookie);if(g.length)f.length&&d.element.queue("tabs",function(){o(b,f)}),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this));else throw"jQuery UI Tabs: Mismatching fragment identifier.";a.browser.msie&&this.blur()}),this.anchors.bind("click.tabs",function(){return!1})},_getIndex:function(a){typeof a=="string"&&(a=this.anchors.index(this.anchors.filter("[href$="+a+"]")));return a},destroy:function(){var b=this.options;this.abort(),this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs"),this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.anchors.each(function(){var b=a.data(this,"href.tabs");b&&(this.href=b);var c=a(this).unbind(".tabs");a.each(["href","load","cache"],function(a,b){c.removeData(b+".tabs")})}),this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}),b.cookie&&this._cookie(null,b.cookie);return this},add:function(c,d,e){e===b&&(e=this.anchors.length);var f=this,g=this.options,h=a(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),i=c.indexOf("#")?this._tabId(a("a",h)[0]):c.replace("#","");h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",!0);var j=f.element.find("#"+i);j.length||(j=a(g.panelTemplate).attr("id",i).data("destroy.tabs",!0)),j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"),e>=this.lis.length?(h.appendTo(this.list),j.appendTo(this.list[0].parentNode)):(h.insertBefore(this.lis[e]),j.insertBefore(this.panels[e])),g.disabled=a.map(g.disabled,function(a,b){return a>=e?++a:a}),this._tabify(),this.anchors.length==1&&(g.selected=0,h.addClass("ui-tabs-selected ui-state-active"),j.removeClass("ui-tabs-hide"),this.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[0],f.panels[0]))}),this.load(0)),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e]));return this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.lis.eq(b).remove(),e=this.panels.eq(b).remove();d.hasClass("ui-tabs-selected")&&this.anchors.length>1&&this.select(b+(b+1=b?--a:a}),this._tabify(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0]));return this},enable:function(b){b=this._getIndex(b);var c=this.options;if(a.inArray(b,c.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled"),c.disabled=a.grep(c.disabled,function(a,c){return a!=b}),this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(a){a=this._getIndex(a);var b=this,c=this.options;a!=c.selected&&(this.lis.eq(a).addClass("ui-state-disabled"),c.disabled.push(a),c.disabled.sort(),this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a])));return this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;this.anchors.eq(a).trigger(this.options.event+".tabs");return this},load:function(b){b=this._getIndex(b);var c=this,d=this.options,e=this.anchors.eq(b)[0],f=a.data(e,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&a.data(e,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(d.spinner){var g=a("span",e);g.data("label.tabs",g.html()).html(d.spinner)}this.xhr=a.ajax(a.extend({},d.ajaxOptions,{url:f,success:function(f,g){c.element.find(c._sanitizeSelector(e.hash)).html(f),c._cleanup(),d.cache&&a.data(e,"cache.tabs",!0),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.success(f,g)}catch(h){}},error:function(a,f,g){c._cleanup(),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.error(a,f,b,e)}catch(g){}}})),c.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]),this.panels.stop(!1,!0),this.element.queue("tabs",this.element.queue("tabs").splice(-2,2)),this.xhr&&(this.xhr.abort(),delete this.xhr),this._cleanup();return this},url:function(a,b){this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",b);return this},length:function(){return this.anchors.length}}),a.extend(a.ui.tabs,{version:"1.8.17"}),a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(a,b){var c=this,d=this.options,e=c._rotate||(c._rotate=function(b){clearTimeout(c.rotation),c.rotation=setTimeout(function(){var a=d.selected;c.select(++a1){res+=cache.tagConnector;}}else if(this.hasChildren()!==false){res+=cache.tagExpander;}else{res+=cache.tagConnector;} +if(opts.checkbox&&data.hideCheckbox!==true&&!data.isStatusNode){res+=cache.tagCheckbox;} +if(data.icon){res+="";}else if(data.icon===false){noop();}else{res+=cache.tagNodeIcon;} +var nodeTitle="";if(opts.onCustomRender){nodeTitle=opts.onCustomRender.call(tree,this)||"";} +if(!nodeTitle){var tooltip=data.tooltip?' title="'+data.tooltip.replace(/\"/g,'"')+'"':'',href=data.href||"#";if(opts.noLink||data.noLink){nodeTitle=''+data.title+'';}else{nodeTitle=''+data.title+'';}} +res+=nodeTitle;return res;},_fixOrder:function(){var cl=this.childList;if(!cl||!this.ul){return;} +var childLI=this.ul.firstChild;for(var i=0,l=cl.length-1;i1){this.ul.className=cn.container+" "+cn.noConnector;}else{this.ul.className=cn.container;}}else if(parent){if(!this.li){firstTime=true;this.li=document.createElement("li");this.li.dtnode=this;if(data.key&&opts.generateIds){this.li.id=opts.idPrefix+data.key;} +this.span=document.createElement("span");this.span.className=cn.title;this.li.appendChild(this.span);if(!parent.ul){parent.ul=document.createElement("ul");parent.ul.style.display="none";parent.li.appendChild(parent.ul);} +parent.ul.appendChild(this.li);} +this.span.innerHTML=this._getInnerHtml();var cnList=[];cnList.push(cn.node);if(data.isFolder){cnList.push(cn.folder);} +if(this.bExpanded){cnList.push(cn.expanded);} +if(this.hasChildren()!==false){cnList.push(cn.hasChildren);} +if(data.isLazy&&this.childList===null){cnList.push(cn.lazy);} +if(isLastSib){cnList.push(cn.lastsib);} +if(this.bSelected){cnList.push(cn.selected);} +if(this.hasSubSel){cnList.push(cn.partsel);} +if(tree.activeNode===this){cnList.push(cn.active);} +if(data.addClass){cnList.push(data.addClass);} +cnList.push(cn.combinedExpanderPrefix ++(this.bExpanded?"e":"c") ++(data.isLazy&&this.childList===null?"d":"") ++(isLastSib?"l":""));cnList.push(cn.combinedIconPrefix ++(this.bExpanded?"e":"c") ++(data.isFolder?"f":""));this.span.className=cnList.join(" ");this.li.className=isLastSib?cn.lastsib:"";if(firstTime&&opts.onCreate){opts.onCreate.call(tree,this,this.span);} +if(opts.onRender){opts.onRender.call(tree,this,this.span);}} +if((this.bExpanded||includeInvisible===true)&&this.childList){for(var i=0,l=this.childList.length;iy?1:-1;};cl.sort(cmp);if(deep){for(var i=0,l=cl.length;i0){this.childList[0].focus();}else{this.focus();}} +break;case DTNodeStatus_Loading:this._isLoading=true;$(this.span).addClass(this.tree.options.classNames.nodeLoading);if(!this.parent){this._setStatusNode({title:this.tree.options.strings.loading+info,tooltip:tooltip,addClass:this.tree.options.classNames.nodeWait});} +break;case DTNodeStatus_Error:this._isLoading=false;this._setStatusNode({title:this.tree.options.strings.loadError+info,tooltip:tooltip,addClass:this.tree.options.classNames.nodeError});break;default:throw"Bad LazyNodeStatus: '"+lts+"'.";}},_parentList:function(includeRoot,includeSelf){var l=[];var dtn=includeSelf?this:this.parent;while(dtn){if(includeRoot||dtn.parent){l.unshift(dtn);} +dtn=dtn.parent;} +return l;},getLevel:function(){var level=0;var dtn=this.parent;while(dtn){level++;dtn=dtn.parent;} +return level;},_getTypeForOuterNodeEvent:function(event){var cns=this.tree.options.classNames;var target=event.target;if(target.className.indexOf(cns.node)<0){return null;} +var eventX=event.pageX-target.offsetLeft;var eventY=event.pageY-target.offsetTop;for(var i=0,l=target.childNodes.length;i=x&&eventX<=(x+nx)&&eventY>=y&&eventY<=(y+ny)){if(cn.className==cns.title){return"title";}else if(cn.className==cns.expander){return"expander";}else if(cn.className==cns.checkbox){return"checkbox";}else if(cn.className==cns.nodeIcon){return"icon";}}} +return"prefix";},getEventTargetType:function(event){var tcn=event&&event.target?event.target.className:"",cns=this.tree.options.classNames;if(tcn===cns.title){return"title";}else if(tcn===cns.expander){return"expander";}else if(tcn===cns.checkbox){return"checkbox";}else if(tcn===cns.nodeIcon){return"icon";}else if(tcn===cns.empty||tcn===cns.vline||tcn===cns.connector){return"prefix";}else if(tcn.indexOf(cns.node)>=0){return this._getTypeForOuterNodeEvent(event);} +return null;},isVisible:function(){var parents=this._parentList(true,false);for(var i=0,l=parents.length;ia").focus();}catch(e){}},isFocused:function(){return(this.tree.tnFocused===this);},_activate:function(flag,fireEvents){this.tree.logDebug("dtnode._activate(%o, fireEvents=%o) - %o",flag,fireEvents,this);var opts=this.tree.options;if(this.data.isStatusNode){return;} +if(fireEvents&&opts.onQueryActivate&&opts.onQueryActivate.call(this.tree,flag,this)===false){return;} +if(flag){if(this.tree.activeNode){if(this.tree.activeNode===this){return;} +this.tree.activeNode.deactivate();} +if(opts.activeVisible){this.makeVisible();} +this.tree.activeNode=this;if(opts.persist){$.cookie(opts.cookieId+"-active",this.data.key,opts.cookie);} +this.tree.persistence.activeKey=this.data.key;$(this.span).addClass(opts.classNames.active);if(fireEvents&&opts.onActivate){opts.onActivate.call(this.tree,this);}}else{if(this.tree.activeNode===this){if(opts.onQueryActivate&&opts.onQueryActivate.call(this.tree,false,this)===false){return;} +$(this.span).removeClass(opts.classNames.active);if(opts.persist){$.cookie(opts.cookieId+"-active","",opts.cookie);} +this.tree.persistence.activeKey=null;this.tree.activeNode=null;if(fireEvents&&opts.onDeactivate){opts.onDeactivate.call(this.tree,this);}}}},activate:function(){this._activate(true,true);},activateSilently:function(){this._activate(true,false);},deactivate:function(){this._activate(false,true);},isActive:function(){return(this.tree.activeNode===this);},_userActivate:function(){var activate=true;var expand=false;if(this.data.isFolder){switch(this.tree.options.clickFolderMode){case 2:activate=false;expand=true;break;case 3:activate=expand=true;break;}} +if(this.parent===null){expand=false;} +if(expand){this.toggleExpand();this.focus();} +if(activate){this.activate();}},_setSubSel:function(hasSubSel){if(hasSubSel){this.hasSubSel=true;$(this.span).addClass(this.tree.options.classNames.partsel);}else{this.hasSubSel=false;$(this.span).removeClass(this.tree.options.classNames.partsel);}},_updatePartSelectionState:function(){var sel;if(!this.hasChildren()){sel=(this.bSelected&&!this.data.unselectable&&!this.data.isStatusNode);this._setSubSel(false);return sel;} +var i,l,cl=this.childList,allSelected=true,allDeselected=true;for(i=0,l=cl.length;i=0;i--){sib=parents[i].getNextSibling();if(sib){break;}}} +if(sib){sib.focus();} +break;default:handled=false;} +if(handled){event.preventDefault();}},_onKeypress:function(event){},_onFocus:function(event){var opts=this.tree.options;if(event.type=="blur"||event.type=="focusout"){if(opts.onBlur){opts.onBlur.call(this.tree,this);} +if(this.tree.tnFocused){$(this.tree.tnFocused.span).removeClass(opts.classNames.focused);} +this.tree.tnFocused=null;if(opts.persist){$.cookie(opts.cookieId+"-focus","",opts.cookie);}}else if(event.type=="focus"||event.type=="focusin"){if(this.tree.tnFocused&&this.tree.tnFocused!==this){this.tree.logDebug("dtnode.onFocus: out of sync: curFocus: %o",this.tree.tnFocused);$(this.tree.tnFocused.span).removeClass(opts.classNames.focused);} +this.tree.tnFocused=this;if(opts.onFocus){opts.onFocus.call(this.tree,this);} +$(this.tree.tnFocused.span).addClass(opts.classNames.focused);if(opts.persist){$.cookie(opts.cookieId+"-focus",this.data.key,opts.cookie);}}},visit:function(fn,includeSelf){var res=true;if(includeSelf===true){res=fn(this);if(res===false||res=="skip"){return res;}} +if(this.childList){for(var i=0,l=this.childList.length;i reloading %s...",this,keyPath,child);var self=this;child.reloadChildren(function(node,isOk){if(isOk){tree.logDebug("%s._loadKeyPath(%s) -> reloaded %s.",node,keyPath,node);callback.call(tree,child,"loaded");node._loadKeyPath(segList.join(tree.options.keyPathSeparator),callback);}else{tree.logWarning("%s._loadKeyPath(%s) -> reloadChildren() failed.",self,keyPath);callback.call(tree,child,"error");}});}else{callback.call(tree,child,"loaded");child._loadKeyPath(segList.join(tree.options.keyPathSeparator),callback);} +return;}} +tree.logWarning("Node not found: "+seg);return;},resetLazy:function(){if(this.parent===null){throw"Use tree.reload() instead";}else if(!this.data.isLazy){throw"node.resetLazy() requires lazy nodes.";} +this.expand(false);this.removeChildren();},_addChildNode:function(dtnode,beforeNode){var tree=this.tree,opts=tree.options,pers=tree.persistence;dtnode.parent=this;if(this.childList===null){this.childList=[];}else if(!beforeNode){if(this.childList.length>0){$(this.childList[this.childList.length-1].span).removeClass(opts.classNames.lastsib);}} +if(beforeNode){var iBefore=$.inArray(beforeNode,this.childList);if(iBefore<0){throw" must be a child of ";} +this.childList.splice(iBefore,0,dtnode);}else{this.childList.push(dtnode);} +var isInitializing=tree.isInitializing();if(opts.persist&&pers.cookiesFound&&isInitializing){if(pers.activeKey===dtnode.data.key){tree.activeNode=dtnode;} +if(pers.focusedKey===dtnode.data.key){tree.focusNode=dtnode;} +dtnode.bExpanded=($.inArray(dtnode.data.key,pers.expandedKeyList)>=0);dtnode.bSelected=($.inArray(dtnode.data.key,pers.selectedKeyList)>=0);}else{if(dtnode.data.activate){tree.activeNode=dtnode;if(opts.persist){pers.activeKey=dtnode.data.key;}} +if(dtnode.data.focus){tree.focusNode=dtnode;if(opts.persist){pers.focusedKey=dtnode.data.key;}} +dtnode.bExpanded=(dtnode.data.expand===true);if(dtnode.bExpanded&&opts.persist){pers.addExpand(dtnode.data.key);} +dtnode.bSelected=(dtnode.data.select===true);if(dtnode.bSelected&&opts.persist){pers.addSelect(dtnode.data.key);}} +if(opts.minExpandLevel>=dtnode.getLevel()){this.bExpanded=true;} +if(dtnode.bSelected&&opts.selectMode==3){var p=this;while(p){if(!p.hasSubSel){p._setSubSel(true);} +p=p.parent;}} +if(tree.bEnableUpdate){this.render();} +return dtnode;},addChild:function(obj,beforeNode){if(typeof(obj)=="string"){throw"Invalid data type for "+obj;}else if(!obj||obj.length===0){return;}else if(obj instanceof DynaTreeNode){return this._addChildNode(obj,beforeNode);} +if(!obj.length){obj=[obj];} +var prevFlag=this.tree.enableUpdate(false);var tnFirst=null;for(var i=0,l=obj.length;i=0){this.expandedKeyList.splice(idx,1);$.cookie(this.cookieId+"-expand",this.expandedKeyList.join(","),this.cookieOpts);}},addSelect:function(key){if($.inArray(key,this.selectedKeyList)<0){this.selectedKeyList.push(key);$.cookie(this.cookieId+"-select",this.selectedKeyList.join(","),this.cookieOpts);}},clearSelect:function(key){var idx=$.inArray(key,this.selectedKeyList);if(idx>=0){this.selectedKeyList.splice(idx,1);$.cookie(this.cookieId+"-select",this.selectedKeyList.join(","),this.cookieOpts);}},isReloading:function(){return this.cookiesFound===true;},toDict:function(){return{cookiesFound:this.cookiesFound,activeKey:this.activeKey,focusedKey:this.activeKey,expandedKeyList:this.expandedKeyList,selectedKeyList:this.selectedKeyList};},lastentry:undefined};var DynaTree=Class.create();DynaTree.version="$Version: 1.2.1_rc3$";DynaTree.prototype={initialize:function($widget){this.phase="init";this.$widget=$widget;this.options=$widget.options;this.$tree=$widget.element;this.timer=null;this.divTree=this.$tree.get(0);_initDragAndDrop(this);},_load:function(callback){var $widget=this.$widget;var opts=this.options,self=this;this.bEnableUpdate=true;this._nodeCount=1;this.activeNode=null;this.focusNode=null;if(opts.rootVisible!==undefined){this.logWarning("Option 'rootVisible' is no longer supported.");} +if(opts.minExpandLevel<1){this.logWarning("Option 'minExpandLevel' must be >= 1.");opts.minExpandLevel=1;} +if(opts.classNames!==$.ui.dynatree.prototype.options.classNames){opts.classNames=$.extend({},$.ui.dynatree.prototype.options.classNames,opts.classNames);} +if(opts.ajaxDefaults!==$.ui.dynatree.prototype.options.ajaxDefaults){opts.ajaxDefaults=$.extend({},$.ui.dynatree.prototype.options.ajaxDefaults,opts.ajaxDefaults);} +if(opts.dnd!==$.ui.dynatree.prototype.options.dnd){opts.dnd=$.extend({},$.ui.dynatree.prototype.options.dnd,opts.dnd);} +if(!opts.imagePath){$("script").each(function(){var _rexDtLibName=/.*dynatree[^\/]*\.js$/i;if(this.src.search(_rexDtLibName)>=0){if(this.src.indexOf("/")>=0){opts.imagePath=this.src.slice(0,this.src.lastIndexOf("/"))+"/skin/";}else{opts.imagePath="skin/";} +self.logDebug("Guessing imagePath from '%s': '%s'",this.src,opts.imagePath);return false;}});} +this.persistence=new DynaTreeStatus(opts.cookieId,opts.cookie);if(opts.persist){if(!$.cookie){_log("warn","Please include jquery.cookie.js to use persistence.");} +this.persistence.read();} +this.logDebug("DynaTree.persistence: %o",this.persistence.toDict());this.cache={tagEmpty:"",tagVline:"",tagExpander:"",tagConnector:"",tagNodeIcon:"",tagCheckbox:"",lastentry:undefined};if(opts.children||(opts.initAjax&&opts.initAjax.url)||opts.initId){$(this.divTree).empty();} +var $ulInitialize=this.$tree.find(">ul:first").hide();this.tnRoot=new DynaTreeNode(null,this,{});this.tnRoot.bExpanded=true;this.tnRoot.render();this.divTree.appendChild(this.tnRoot.ul);var root=this.tnRoot;var isReloading=(opts.persist&&this.persistence.isReloading());var isLazy=false;var prevFlag=this.enableUpdate(false);this.logDebug("Dynatree._load(): read tree structure...");if(opts.children){root.addChild(opts.children);}else if(opts.initAjax&&opts.initAjax.url){isLazy=true;root.data.isLazy=true;this._reloadAjax(callback);}else if(opts.initId){this._createFromTag(root,$("#"+opts.initId));}else{this._createFromTag(root,$ulInitialize);$ulInitialize.remove();} +this._checkConsistency();if(!isLazy&&opts.selectMode==3){root._updatePartSelectionState();} +this.logDebug("Dynatree._load(): render nodes...");this.enableUpdate(prevFlag);this.logDebug("Dynatree._load(): bind events...");this.$widget.bind();this.logDebug("Dynatree._load(): postInit...");this.phase="postInit";if(opts.persist){this.persistence.write();} +if(this.focusNode&&this.focusNode.isVisible()){this.logDebug("Focus on init: %o",this.focusNode);this.focusNode.focus();} +if(!isLazy){if(opts.onPostInit){opts.onPostInit.call(this,isReloading,false);} +if(callback){callback.call(this,"ok");}} +this.phase="idle";},_reloadAjax:function(callback){var opts=this.options;if(!opts.initAjax||!opts.initAjax.url){throw"tree.reload() requires 'initAjax' mode.";} +var pers=this.persistence;var ajaxOpts=$.extend({},opts.initAjax);if(ajaxOpts.addActiveKey){ajaxOpts.data.activeKey=pers.activeKey;} +if(ajaxOpts.addFocusedKey){ajaxOpts.data.focusedKey=pers.focusedKey;} +if(ajaxOpts.addExpandedKeyList){ajaxOpts.data.expandedKeyList=pers.expandedKeyList.join(",");} +if(ajaxOpts.addSelectedKeyList){ajaxOpts.data.selectedKeyList=pers.selectedKeyList.join(",");} +if(ajaxOpts.success){this.logWarning("initAjax: success callback is ignored; use onPostInit instead.");} +if(ajaxOpts.error){this.logWarning("initAjax: error callback is ignored; use onPostInit instead.");} +var isReloading=pers.isReloading();ajaxOpts.success=function(dtnode,data,textStatus){if(opts.selectMode==3){dtnode.tree.tnRoot._updatePartSelectionState();} +if(opts.onPostInit){opts.onPostInit.call(dtnode.tree,isReloading,false);} +if(callback){callback.call(dtnode.tree,"ok");}};ajaxOpts.error=function(dtnode,XMLHttpRequest,textStatus,errorThrown){if(opts.onPostInit){opts.onPostInit.call(dtnode.tree,isReloading,true,XMLHttpRequest,textStatus,errorThrown);} +if(callback){callback.call(dtnode.tree,"error",XMLHttpRequest,textStatus,errorThrown);}};this.logDebug("Dynatree._init(): send Ajax request...");this.tnRoot.appendAjax(ajaxOpts);},toString:function(){return"Dynatree '"+this.$tree.attr("id")+"'";},toDict:function(){return this.tnRoot.toDict(true);},serializeArray:function(stopOnParents){var nodeList=this.getSelectedNodes(stopOnParents),name=this.$tree.attr("name")||this.$tree.attr("id"),arr=[];for(var i=0,l=nodeList.length;i=2){Array.prototype.unshift.apply(arguments,["debug"]);_log.apply(this,arguments);}},logInfo:function(msg){if(this.options.debugLevel>=1){Array.prototype.unshift.apply(arguments,["info"]);_log.apply(this,arguments);}},logWarning:function(msg){Array.prototype.unshift.apply(arguments,["warn"]);_log.apply(this,arguments);},isInitializing:function(){return(this.phase=="init"||this.phase=="postInit");},isReloading:function(){return(this.phase=="init"||this.phase=="postInit")&&this.options.persist&&this.persistence.cookiesFound;},isUserEvent:function(){return(this.phase=="userEvent");},redraw:function(){this.tnRoot.render(false,false);},renderInvisibleNodes:function(){this.tnRoot.render(false,true);},reload:function(callback){this._load(callback);},getRoot:function(){return this.tnRoot;},enable:function(){this.$widget.enable();},disable:function(){this.$widget.disable();},getNodeByKey:function(key){var el=document.getElementById(this.options.idPrefix+key);if(el){return el.dtnode?el.dtnode:null;} +var match=null;this.visit(function(node){if(node.data.key==key){match=node;return false;}},true);return match;},getActiveNode:function(){return this.activeNode;},reactivate:function(setFocus){var node=this.activeNode;if(node){this.activeNode=null;node.activate();if(setFocus){node.focus();}}},getSelectedNodes:function(stopOnParents){var nodeList=[];this.tnRoot.visit(function(node){if(node.bSelected){nodeList.push(node);if(stopOnParents===true){return"skip";}}});return nodeList;},activateKey:function(key){var dtnode=(key===null)?null:this.getNodeByKey(key);if(!dtnode){if(this.activeNode){this.activeNode.deactivate();} +this.activeNode=null;return null;} +dtnode.focus();dtnode.activate();return dtnode;},loadKeyPath:function(keyPath,callback){var segList=keyPath.split(this.options.keyPathSeparator);if(segList[0]===""){segList.shift();} +if(segList[0]==this.tnRoot.data.key){this.logDebug("Removed leading root key.");segList.shift();} +keyPath=segList.join(this.options.keyPathSeparator);return this.tnRoot._loadKeyPath(keyPath,callback);},selectKey:function(key,select){var dtnode=this.getNodeByKey(key);if(!dtnode){return null;} +dtnode.select(select);return dtnode;},enableUpdate:function(bEnable){if(this.bEnableUpdate==bEnable){return bEnable;} +this.bEnableUpdate=bEnable;if(bEnable){this.redraw();} +return!bEnable;},count:function(){return this.tnRoot.countChildren();},visit:function(fn,includeRoot){return this.tnRoot.visit(fn,includeRoot);},_createFromTag:function(parentTreeNode,$ulParent){var self=this;$ulParent.find(">li").each(function(){var $li=$(this),$liSpan=$li.find(">span:first"),$liA=$li.find(">a:first"),title,href=null,target=null,tooltip;if($liSpan.length){title=$liSpan.html();}else if($liA.length){title=$liA.html();href=$liA.attr("href");target=$liA.attr("target");tooltip=$liA.attr("title");}else{title=$li.html();var iPos=title.search(/
  • #{label}