├── googled4e9249bb03ab3af.html ├── robots.txt ├── pdf ├── imago_charte.pdf └── imago_presentation.pdf ├── .gitignore ├── font └── AvenirLTStd-Light.otf ├── ws ├── destroy_session.php ├── set_note.php ├── create_session.php ├── add_tag_video.php ├── remove_friend.php ├── remove_later.php ├── remove_reco.php ├── remove_favorite.php ├── read_comment.php ├── add_reco.php ├── add_favorite.php ├── add_later.php ├── accept_friend.php ├── add_friend.php ├── remove_comment.php ├── read_comment_list.php ├── add_resume.php ├── get_episod_info.php └── add_comment.php ├── .htaccess ├── index.php ├── css ├── portrait │ ├── embed_v111.css │ ├── corner_v111.css │ ├── donation_v111.css │ ├── category_v111.css │ ├── movie_v111.css │ ├── index_v111.css │ ├── page_v111.css │ ├── list_v111.css │ ├── not_used │ │ └── creator_v111.css │ ├── series_v111.css │ ├── homepage_v111.css │ ├── login_v111.css │ ├── member_v111.css │ └── subscribe_v111.css └── panorama │ ├── category_v111.css │ ├── corner_v111.css │ ├── page_v111.css │ ├── list_v111.css │ ├── index_v111.css │ ├── series_v111.css │ ├── movie_v111.css │ ├── not_used │ └── creator_v110.css │ ├── embed_v111.css │ ├── login_v111.css │ ├── member_v111.css │ ├── subscribe_v111.css │ ├── donation_v111.css │ └── homepage_v111.css ├── php ├── lib │ ├── session.php │ └── tracking.php ├── block │ ├── arrow.php │ ├── tile.php │ ├── footer.php │ ├── button.php │ ├── header.php │ ├── user.php │ ├── information.php │ ├── player.php │ └── menu.php ├── 404.php ├── login.php ├── page.php ├── donation.php └── embed.php ├── lib ├── notorm │ ├── NotORM │ │ ├── Literal.php │ │ ├── MultiResult.php │ │ └── Cache.php │ └── NotORM.php └── jquery.jrumble.1.3.js ├── js ├── index_v111.js ├── member_v111.js ├── not_used │ ├── facebook.html │ ├── creator_v111.js │ └── sheet_v111.js ├── page_v111.js ├── subscribe_v111.js ├── category_v111.js ├── login_v111.js ├── list_v111.js ├── block │ ├── menu_v111.js │ ├── user_v111.js │ ├── footer_v111.js │ └── information_v111.js ├── donation_v111.js ├── movie_v111.js └── lib │ └── jquery.jrumble.1.3.js ├── sitemap.xml ├── wpa_manifest.json └── html ├── questions.html ├── aidez_nous.html └── manifeste.html /googled4e9249bb03ab3af.html: -------------------------------------------------------------------------------- 1 | google-site-verification: googled4e9249bb03ab3af.html -------------------------------------------------------------------------------- /robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | Sitemap: https://www.imagotv.fr/sitemap.xml 4 | -------------------------------------------------------------------------------- /pdf/imago_charte.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nicolas-Imago/Imago-web/HEAD/pdf/imago_charte.pdf -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | admin 2 | analytics 3 | htaccess.pouet 4 | json 5 | php/lib/init.php 6 | img 7 | 1.0.8 8 | mp3 9 | -------------------------------------------------------------------------------- /font/AvenirLTStd-Light.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nicolas-Imago/Imago-web/HEAD/font/AvenirLTStd-Light.otf -------------------------------------------------------------------------------- /pdf/imago_presentation.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nicolas-Imago/Imago-web/HEAD/pdf/imago_presentation.pdf -------------------------------------------------------------------------------- /ws/destroy_session.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.htaccess: -------------------------------------------------------------------------------- 1 | RewriteEngine On 2 | RewriteBase / 3 | 4 | RewriteCond %{REQUEST_FILENAME} !-f 5 | RewriteCond %{REQUEST_FILENAME} !-d 6 | 7 | RewriteRule ^(.*)$ rewrite.php [L,QSA] 8 | 9 | -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /css/portrait/embed_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (max-width : 480px) { 3 | 4 | #screen { 5 | display : none; 6 | /*min-height : 80vw;*/ 7 | } 8 | 9 | 10 | img.background_image { 11 | width : 100%; 12 | } 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /css/panorama/category_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (min-width : 481px) { 3 | 4 | /*#screen { 5 | display : none; 6 | margin-top : 6vw; 7 | min-height : 40vw; 8 | } 9 | 10 | div#screen_title { 11 | margin-top : -0.5vw; 12 | margin-bottom : 2vw; 13 | text-align : center; 14 | font-size : 2.4vw; 15 | }*/ 16 | 17 | } 18 | -------------------------------------------------------------------------------- /php/lib/session.php: -------------------------------------------------------------------------------- 1 | 18 | 19 | -------------------------------------------------------------------------------- /php/block/arrow.php: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 |
5 | 6 |
7 | 8 |
9 | -------------------------------------------------------------------------------- /css/portrait/corner_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (max-width : 480px) { 3 | 4 | #screen { 5 | display : none; 6 | margin-top : 16vw; 7 | margin-bottom : 6vw; 8 | } 9 | 10 | img#banner_image { 11 | position : absolute; 12 | width : 60vw; 13 | margin-left : 20vw; 14 | } 15 | 16 | section#list { 17 | position : relative; 18 | background-color : rgb(35, 35, 35); 19 | margin-top : 50vw; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /css/panorama/corner_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (min-width : 481px) { 3 | 4 | /*#screen { 5 | display : none; 6 | margin-top : 6vw; 7 | min-height : 40vw; 8 | }*/ 9 | 10 | img#banner_image { 11 | position : absolute; 12 | background-color: orange; 13 | width : 30vw; 14 | margin-left : 35vw; 15 | } 16 | 17 | section#list { 18 | position : relative; 19 | background-color : rgb(35, 35, 35); 20 | margin-top : 19vw; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /css/portrait/donation_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (max-width : 480px) { 3 | 4 | a#donation_title { 5 | display : block; 6 | margin-top : 20vw; 7 | margin-left : auto; 8 | margin-right : auto; 9 | margin-bottom : 1vw; 10 | text-align : center; 11 | color : rgb(200,200,200); 12 | font-size : 6vw; 13 | } 14 | 15 | a#donation_done { 16 | display : block; 17 | margin-top : 2vw; 18 | margin-left : auto; 19 | margin-right : auto; 20 | margin-bottom : 6vw; 21 | text-align : center; 22 | font-size : 6vw; 23 | color : grey; 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /ws/set_note.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | query(" 15 | UPDATE imago_info_content 16 | SET note_1 = '$note_1', note_2 = '$note_2', note_3 = '$note_3' 17 | WHERE content_id = '$content_id' 18 | AND type = '$type_id' 19 | "); 20 | 21 | ?> -------------------------------------------------------------------------------- /css/portrait/category_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (max-width : 480px) { 3 | 4 | #screen { 5 | display : none; 6 | margin-top : 16vw; 7 | margin-bottom : 6vw; 8 | } 9 | 10 | div#screen_title { 11 | margin-top : 20vw; 12 | margin-bottom : 6vw; 13 | margin-left : 15vw; 14 | margin-right : 15vw; 15 | text-align : center; 16 | font-size : 6vw; 17 | } 18 | 19 | div#button_header { 20 | display : none; 21 | } 22 | 23 | /*div.list_container { 24 | flex-wrap : wrap; 25 | }*/ 26 | 27 | /* div.panorama, div.portrait, div.squared { 28 | margin-right : 1.8vw; 29 | }*/ 30 | 31 | } 32 | -------------------------------------------------------------------------------- /lib/notorm/NotORM/Literal.php: -------------------------------------------------------------------------------- 1 | value = $value; 18 | $this->parameters = func_get_args(); 19 | array_shift($this->parameters); 20 | } 21 | 22 | /** Get literal value 23 | * @return string 24 | */ 25 | function __toString() { 26 | return $this->value; 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /ws/create_session.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | "ok"]; 21 | } 22 | else { 23 | $status = ["status" => "ko"]; 24 | } 25 | 26 | $status_json = json_encode($status); 27 | var_dump($status_json); 28 | ?> -------------------------------------------------------------------------------- /ws/add_tag_video.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | "ok"]; 24 | 25 | $status_json = json_encode($status); 26 | var_dump($status_json); 27 | 28 | ?> -------------------------------------------------------------------------------- /ws/remove_friend.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | "not_connected"]; 16 | } 17 | 18 | else { 19 | 20 | $user_id_1 = $user_id; 21 | $user_id_2 = $_POST["user_id_2"]; 22 | 23 | $request = $data_base->prepare(" 24 | DELETE FROM imago_my_friend 25 | WHERE (user_id_1 = ? AND user_id_2 = ?) 26 | OR (user_id_1 = ? AND user_id_2 = ?) 27 | "); 28 | 29 | $request->execute(array($user_id_1, $user_id_2, $user_id_2, $user_id_1)); 30 | 31 | $status = ["status" => "ok"]; 32 | } 33 | 34 | $status_json = json_encode($status); 35 | var_dump($status_json); 36 | 37 | ?> 38 | -------------------------------------------------------------------------------- /ws/remove_later.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | "not_connected"]; 14 | } 15 | 16 | else { 17 | 18 | $content_id = $_POST["content_id"]; 19 | $section_id = $_POST["section_id"]; 20 | $episod_id = $_POST["episod_id"]; 21 | 22 | $request = $data_base->prepare(" 23 | DELETE FROM imago_my_later 24 | WHERE user_id = ? 25 | AND content_id = ? 26 | AND section_id = ? 27 | AND episod_id = ? 28 | "); 29 | 30 | $request->execute(array($user_id, $content_id, $section_id, $episod_id)); 31 | 32 | $status = ["status" => "ok"]; 33 | } 34 | 35 | $status_json = json_encode($status); 36 | var_dump($status_json); 37 | 38 | ?> 39 | -------------------------------------------------------------------------------- /ws/remove_reco.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | "not_connected"]; 14 | } 15 | 16 | else { 17 | 18 | $content_id = $_POST["content_id"]; 19 | $section_id = $_POST["section_id"]; 20 | $episod_id = $_POST["episod_id"]; 21 | 22 | $request = $data_base->prepare(" 23 | DELETE FROM imago_my_reco 24 | WHERE user_id = ? 25 | AND content_id = ? 26 | AND section_id = ? 27 | AND episod_id = ? 28 | "); 29 | 30 | $request->execute(array($user_id, $content_id, $section_id, $episod_id)); 31 | 32 | $status = ["status" => "ok"]; 33 | } 34 | 35 | $status_json = json_encode($status); 36 | var_dump($status_json); 37 | 38 | ?> 39 | -------------------------------------------------------------------------------- /ws/remove_favorite.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | "not_connected"]; 14 | } 15 | 16 | else { 17 | 18 | $content_id = $_POST["content_id"]; 19 | $section_id = $_POST["section_id"]; 20 | $episod_id = $_POST["episod_id"]; 21 | 22 | $request = $data_base->prepare(" 23 | DELETE FROM imago_my_favorite 24 | WHERE user_id = ? 25 | AND content_id = ? 26 | AND section_id = ? 27 | AND episod_id = ? 28 | "); 29 | 30 | $request->execute(array($user_id, $content_id, $section_id, $episod_id)); 31 | 32 | $status = ["status" => "ok"]; 33 | } 34 | 35 | $status_json = json_encode($status); 36 | var_dump($status_json); 37 | 38 | ?> 39 | -------------------------------------------------------------------------------- /js/index_v111.js: -------------------------------------------------------------------------------- 1 | 2 | /********************************************** INIT ***********************************************/ 3 | 4 | init_screen(); 5 | 6 | function init_screen() { 7 | 8 | // Display screen 9 | 10 | $("div#splashscreen").fadeIn(2000); 11 | $("a#imago_version").text("ImagoTV - v" + version) 12 | 13 | // listen mouse over, scroll and resize 14 | 15 | listen_splashscreen_image(); 16 | } 17 | 18 | 19 | function listen_splashscreen_image() { 20 | 21 | // Listen mouse over 22 | 23 | $("img#splashscreen_image").hover(function() { 24 | $(this).css("color","white"); 25 | $(this).css("cursor","pointer"); 26 | },function() { 27 | $(this).css("color","grey"); 28 | $(this).css("cursor","auto"); 29 | }); 30 | 31 | // Listen click on 32 | 33 | $("img#splashscreen_image").click(function() { 34 | go_to("/php/homepage.php"); 35 | }); 36 | 37 | } 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /php/block/tile.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /php/block/footer.php: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /js/member_v111.js: -------------------------------------------------------------------------------- 1 | 2 | /********************************************** INIT ***********************************************/ 3 | 4 | init_member_screen(); 5 | 6 | function init_member_screen() { 7 | 8 | // Display screen 9 | 10 | $("div#screen").fadeIn(2000); 11 | $("div#footer").show(); 12 | 13 | // listen mouse over, scroll and resize 14 | 15 | listen_button_member(); 16 | addEventListener("resize", close_menu_and_user, false); 17 | } 18 | 19 | 20 | /********************************************* ACTION **********************************************/ 21 | 22 | function listen_button_member() { 23 | 24 | // Listen mouse over 25 | 26 | $("a#member_update_button").hover(function() { 27 | $(this).css("color","white"); 28 | $(this).css("cursor","pointer"); 29 | },function() { 30 | $(this).css("color","grey"); 31 | $(this).css("cursor","auto"); 32 | }); 33 | 34 | // Listen click on 35 | 36 | $("a#member_update_button").click(function() { 37 | document.getElementById("form").submit(); 38 | }); 39 | } 40 | -------------------------------------------------------------------------------- /ws/read_comment.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "not_connected"]; 13 | } 14 | 15 | else { 16 | 17 | $content_id = $_POST["content_id"]; 18 | $section_id = $_POST["section_id"]; 19 | $episod_id = $_POST["episod_id"]; 20 | 21 | $request = $data_base->prepare(" 22 | SELECT c.id, c.comment, user_id, login, add_date, color 23 | FROM imago_related_comment c 24 | INNER JOIN imago_list_member m 25 | ON c.user_id = m.id 26 | WHERE c.content_id = ? 27 | AND c.section_id = ? 28 | AND c.episod_id = ? 29 | AND c.user_id = ? 30 | "); 31 | 32 | $request->execute(array($content_id, $section_id, $episod_id, $user_id)); 33 | $status = $request->fetchAll(); 34 | } 35 | 36 | $status_json = json_encode($status); 37 | var_dump($status_json); 38 | 39 | ?> -------------------------------------------------------------------------------- /sitemap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | https://www.imagotv.fr 7 | 2005-01-01 8 | weekly 9 | 0.8 10 | 11 | 12 | 13 | https://www.imagotv.fr/php/category.php?type_id=tvshow 14 | 2005-01-01 15 | weekly 16 | 0.8 17 | 18 | 19 | 20 | https://www.imagotv.fr/php/category.php?type_id=documentary 21 | 2005-01-01 22 | weekly 23 | 0.8 24 | 25 | 26 | 27 | https://www.imagotv.fr/php/category.php?type_id=podcast 28 | 2005-01-01 29 | weekly 30 | 0.8 31 | 32 | 33 | 34 | https://www.imagotv.fr/php/category.php?type_id=shortfilm 35 | 2005-01-01 36 | weekly 37 | 0.8 38 | 39 | 40 | -------------------------------------------------------------------------------- /js/not_used/facebook.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Your Website Title 4 | 5 | 6 | 7 | 8 | 33 |
34 | 35 | 36 | 37 |
42 | 43 | 44 | -------------------------------------------------------------------------------- /ws/add_reco.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | "not_connected"]; 14 | } 15 | 16 | else { 17 | 18 | $add_date = get_time(); 19 | 20 | $content_id = $_POST["content_id"]; 21 | $section_id = $_POST["section_id"]; 22 | $episod_id = $_POST["episod_id"]; 23 | 24 | $request = $data_base->prepare(" 25 | INSERT INTO imago_my_reco 26 | (`user_id`, `content_id`, `section_id`, `episod_id`, `add_date`) 27 | VALUES 28 | (:user_id, :content_id, :section_id, :episod_id, :add_date)"); 29 | 30 | $request->execute(array( 31 | 'user_id' => $user_id, 32 | 'content_id' => $content_id, 33 | 'section_id' => $section_id, 34 | 'episod_id' => $episod_id, 35 | 'add_date' => $add_date, 36 | )); 37 | 38 | $status = ["status" => "ok"]; 39 | } 40 | 41 | $status_json = json_encode($status); 42 | var_dump($status_json); 43 | 44 | ?> -------------------------------------------------------------------------------- /ws/add_favorite.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | "not_connected"]; 14 | } 15 | 16 | else { 17 | 18 | $add_date = get_time(); 19 | 20 | $content_id = $_POST["content_id"]; 21 | $section_id = $_POST["section_id"]; 22 | $episod_id = $_POST["episod_id"]; 23 | 24 | $request = $data_base->prepare(" 25 | INSERT INTO imago_my_favorite 26 | (`user_id`, `content_id`, `section_id`, `episod_id`, `add_date`) 27 | VALUES 28 | (:user_id, :content_id, :section_id, :episod_id, :add_date)"); 29 | 30 | $request->execute(array( 31 | 'user_id' => $user_id, 32 | 'content_id' => $content_id, 33 | 'section_id' => $section_id, 34 | 'episod_id' => $episod_id, 35 | 'add_date' => $add_date, 36 | )); 37 | 38 | $status = ["status" => "ok"]; 39 | } 40 | 41 | $status_json = json_encode($status); 42 | var_dump($status_json); 43 | 44 | ?> -------------------------------------------------------------------------------- /ws/add_later.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | "not_connected"]; 14 | } 15 | 16 | else { 17 | 18 | $add_date = get_time(); 19 | 20 | $content_id = $_POST["content_id"]; 21 | $section_id = $_POST["section_id"]; 22 | $episod_id = $_POST["episod_id"]; 23 | 24 | $request = $data_base->prepare(" 25 | INSERT INTO imago_my_later 26 | (`user_id`, `content_id`, `section_id`, `episod_id`, `add_date`) 27 | VALUES 28 | (:user_id, :content_id, :section_id, :episod_id, :add_date)"); 29 | 30 | $request->execute(array( 31 | 'user_id' => $user_id, 32 | 'content_id' => $content_id, 33 | 'section_id' => $section_id, 34 | 'episod_id' => $episod_id, 35 | 'add_date' => $add_date, 36 | )); 37 | 38 | $status = ["status" => "ok"]; 39 | } 40 | 41 | $status_json = json_encode($status); 42 | var_dump($status_json); 43 | 44 | ?> -------------------------------------------------------------------------------- /wpa_manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "Imago TV", 3 | "name": "Imago TV - plateforme vidéo de la transition", 4 | "theme_color": "#353535", 5 | "background_color": "#353535", 6 | "display": "fullscreen", 7 | "Scope": "/", 8 | "orientation": "portrait", 9 | "icons": [ 10 | { 11 | "src": "img/icons/wpa/wpa_36_36.png", 12 | "type": "image/png", 13 | "sizes": "36x36" 14 | }, 15 | { 16 | "src": "img/icons/wpa/wpa_48_48.png", 17 | "type": "image/png", 18 | "sizes": "48x48" 19 | }, 20 | { 21 | "src": "img/icons/wpa/wpa_72_72.png", 22 | "type": "image/png", 23 | "sizes": "72x72" 24 | }, 25 | { 26 | "src": "img/icons/wpa/wpa_96_96.png", 27 | "type": "image/png", 28 | "sizes": "96x96" 29 | }, 30 | { 31 | "src": "img/icons/wpa/wpa_192_192.png", 32 | "type": "image/png", 33 | "sizes": "192x192" 34 | }, 35 | { 36 | "src": "img/icons/wpa/wpa_256_256.png", 37 | "type": "image/png", 38 | "sizes": "256x256" 39 | }, 40 | { 41 | "src": "img/icons/wpa/wpa_512_512.png", 42 | "type": "image/png", 43 | "sizes": "512x512" 44 | } 45 | ], 46 | "start_url": "https://qa.imagotv.fr" 47 | } -------------------------------------------------------------------------------- /ws/accept_friend.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | "not_connected"]; 19 | } 20 | 21 | else if ($user_id != $user_id_1 AND $user_id != $user_id_2) { 22 | $status = ["status" => "bad_user"]; 23 | } 24 | 25 | else { 26 | 27 | $acceptance_date = get_time(); 28 | 29 | $request = $data_base->prepare(" 30 | UPDATE 31 | imago_my_friend 32 | SET 33 | acceptance_date = :acceptance_date 34 | WHERE 35 | user_id_1 = :user_id_1 36 | AND 37 | user_id_2 = :user_id_2 38 | "); 39 | 40 | $request->execute(array( 41 | 'acceptance_date' => $acceptance_date, 42 | 'user_id_1' => $user_id_1, 43 | 'user_id_2' => $user_id_2 44 | )); 45 | 46 | $status = ["status" => "ok"]; 47 | } 48 | 49 | $status_json = json_encode($status); 50 | var_dump($status_json); 51 | 52 | ?> -------------------------------------------------------------------------------- /ws/add_friend.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | "not_connected"]; 16 | } 17 | 18 | else { 19 | 20 | $invitation_date = get_time(); 21 | 22 | $user_id_1 = $user_id; 23 | $user_id_2 = $_POST["user_id_2"]; 24 | 25 | $test_friends = are_friends($user_id_1, $user_id_2); 26 | 27 | if ($test_friends == false) { 28 | 29 | $request = $data_base->prepare(" 30 | INSERT INTO imago_my_friend 31 | (`user_id_1`, `user_id_2`, `invitation_date`) 32 | VALUES 33 | (:user_id_1, :user_id_2, :invitation_date)"); 34 | 35 | $request->execute(array( 36 | 'user_id_1' => $user_id_1, 37 | 'user_id_2' => $user_id_2, 38 | 'invitation_date' => $invitation_date, 39 | )); 40 | 41 | $status = ["status" => "ok"]; 42 | } 43 | 44 | else 45 | $status = ["status" => "ko"]; 46 | } 47 | 48 | $status_json = json_encode($status); 49 | var_dump($status_json); 50 | 51 | ?> -------------------------------------------------------------------------------- /css/panorama/page_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (min-width : 481px) { 3 | 4 | #screen { 5 | display : none; 6 | margin-top : 7vw; 7 | min-height : 40vw; 8 | } 9 | 10 | div.item_list { 11 | position : relative; 12 | height : 5vw; 13 | text-align : center; 14 | } 15 | 16 | ol.item_list { 17 | list-style-type : none; 18 | padding-left : 0px; 19 | margin-left : 0px; 20 | } 21 | 22 | ol.item_list li { 23 | display : inline; 24 | padding-left : 1vw; 25 | padding-right : 1vw; 26 | } 27 | 28 | .item { 29 | color : grey; 30 | text-decoration : none; 31 | } 32 | 33 | 34 | /************************************ IMAGE ************************************/ 35 | 36 | section#text { 37 | position : relative; 38 | z-index : 2; 39 | width : 60%; 40 | margin-left : auto; 41 | margin-right : auto; 42 | text-align : justify; 43 | } 44 | 45 | a.parapher_title { 46 | font-size : 2vw; 47 | color : white; 48 | } 49 | 50 | div.text { 51 | margin-bottom : 4vw; 52 | font-size : 1.2vw; 53 | } 54 | 55 | 56 | img.logo { 57 | float : left; 58 | margin-right : 1vw; 59 | width : 20%; 60 | } 61 | 62 | img.media { 63 | float : left; 64 | padding-top : 0.5vw; 65 | margin-right : 1vw; 66 | padding-bottom : 1vw; 67 | width : 20%; 68 | } 69 | 70 | img.image { 71 | width : 15%; 72 | padding-left : 25vw; 73 | } 74 | 75 | p.more_info { 76 | margin-bottom : 5vw; 77 | line-height: 40% 78 | } 79 | 80 | } 81 | -------------------------------------------------------------------------------- /php/lib/tracking.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /css/portrait/movie_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (max-width : 480px) { 3 | 4 | div#screen { 5 | display : none; 6 | } 7 | 8 | img.cover_image { 9 | position : absolute; 10 | top : 15vw; 11 | right : 0px; 12 | width : 100%; 13 | } 14 | 15 | img.background_image { 16 | display : none; 17 | } 18 | 19 | 20 | /************************************************ INFO ************************************************/ 21 | 22 | section#information { 23 | margin-top : 148vw; 24 | } 25 | 26 | img.logo_image { 27 | display : none; 28 | } 29 | 30 | #info_title { 31 | padding-left : 0vw; 32 | } 33 | 34 | div.date { 35 | padding-top : 4vw; 36 | } 37 | 38 | div.number { 39 | display : none; 40 | } 41 | 42 | /************************************************ VIDEO **********************************************/ 43 | 44 | section#video { 45 | position : relative; 46 | background-color : rgb(35, 35, 35); 47 | } 48 | 49 | a.thumbnail_title { 50 | font-size : 5vw; 51 | padding-left : 2vw; 52 | } 53 | 54 | div.scrolling_container { 55 | padding-left : 1vw; 56 | padding-bottom : 2vw; 57 | } 58 | 59 | /************************************************ RELATED ************************************************/ 60 | 61 | section#related_thumbnail { 62 | position : relative; 63 | margin-top : 6vw; 64 | } 65 | 66 | div.more_content { 67 | position : relative; 68 | z-index : 10; 69 | width : 94vw; 70 | height : 1px; 71 | top : 0vw; 72 | left : 2vw; 73 | background-color : rgb(80, 80, 80); 74 | } 75 | 76 | } 77 | -------------------------------------------------------------------------------- /css/panorama/list_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (min-width : 481px) { 3 | 4 | img.big_image { 5 | position : absolute; 6 | width : 100vw; 7 | } 8 | 9 | img.small_image { 10 | display : none; 11 | } 12 | 13 | /************************************************ QUERY ************************************************/ 14 | 15 | section#query { 16 | position : relative; 17 | z-index : 2; 18 | display : block; 19 | width : 20vw; 20 | left : 50vw; 21 | margin-left : -10vw; 22 | } 23 | 24 | input { 25 | background-color : transparent; 26 | border-top : none; 27 | border-left : none; 28 | border-right : none; 29 | border-bottom-color : grey; 30 | height : 1.5vw; 31 | margin-left : auto; 32 | margin-right : auto; 33 | width : 20vw; 34 | color : grey; 35 | font-size : 1.2vw; 36 | } 37 | 38 | a#validate_button { 39 | display : block; 40 | text-align : center; 41 | margin-top : 3vw; 42 | margin-bottom : 2vw; 43 | font-size : 1.2vw; 44 | } 45 | 46 | a#message { 47 | display : block; 48 | margin-left : auto; 49 | margin-right : auto; 50 | height : 2vw; 51 | width : 20vw; 52 | color : red; 53 | text-align : center; 54 | font-size : 1.2vw; 55 | } 56 | 57 | 58 | /************************************************ RESULT ************************************************/ 59 | 60 | section#list { 61 | position : relative; 62 | background-color : rgb(35, 35, 35); 63 | } 64 | 65 | section.folder { 66 | padding-top : 2vw; 67 | margin-top : 31vw; 68 | } 69 | 70 | section#result { 71 | position : relative; 72 | z-index : 5; 73 | } 74 | 75 | } 76 | -------------------------------------------------------------------------------- /css/panorama/index_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (min-width : 481px) { 3 | 4 | /************************************************* PAGE ************************************************/ 5 | 6 | body { 7 | /*overflow-y : hidden;*/ 8 | /*min-width : 640px;*/ 9 | } 10 | 11 | div#splashscreen { 12 | /* margin-top : 50vh; 13 | transform : translateY(-50vh);*/ 14 | display : none; 15 | } 16 | 17 | 18 | /************************************ TITLE ************************************/ 19 | 20 | a#splashscreen_title { 21 | display : block; 22 | margin-top : 10vh; 23 | margin-left : auto; 24 | margin-right : auto; 25 | margin-bottom : 3.5vw; 26 | text-align : center; 27 | font-size : 1.6vw; 28 | color : rgb(200,200,200); 29 | } 30 | 31 | 32 | /************************************ INTPUT ************************************/ 33 | 34 | a.splashscreen_text { 35 | display : block; 36 | text-align : center; 37 | } 38 | 39 | a { 40 | -webkit-user-select: none; 41 | -moz-user-select: none; 42 | -o-user-select: none; 43 | user-select: none; 44 | } 45 | 46 | 47 | /************************************ IMAGE ************************************/ 48 | 49 | img#splashscreen_image { 50 | display : block; 51 | width : 50vw; 52 | margin-left : auto; 53 | margin-right : auto; 54 | } 55 | 56 | a#imago_version { 57 | display : block; 58 | margin-top : 15vh; 59 | margin-left : auto; 60 | margin-right : auto; 61 | text-align : center; 62 | font-size : 1.2vw; 63 | } 64 | 65 | /************************************************* FIN ************************************************/ 66 | 67 | } -------------------------------------------------------------------------------- /css/portrait/index_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (max-width : 480px) { 3 | 4 | /************************************************* PAGE ************************************************/ 5 | 6 | body { 7 | /*overflow-y : hidden;*/ 8 | /*min-width : 640px;*/ 9 | } 10 | 11 | div#splashscreen { 12 | /* margin-top : 50vh; 13 | transform : translateY(-50vh);*/ 14 | display : none; 15 | } 16 | 17 | 18 | /************************************ TITLE ************************************/ 19 | 20 | a#splashscreen_title { 21 | display : block; 22 | margin-top : 5vh; 23 | margin-left : 10vw; 24 | margin-right : 10vw; 25 | margin-bottom : 15vw; 26 | text-align : center; 27 | font-size : 6vw; 28 | color : rgb(200,200,200); 29 | } 30 | 31 | 32 | /************************************ INTPUT ************************************/ 33 | 34 | a.splashscreen_text { 35 | display : block; 36 | font-size : 4vw; 37 | text-align : center; 38 | } 39 | 40 | a { 41 | -webkit-user-select: none; 42 | -moz-user-select: none; 43 | -o-user-select: none; 44 | user-select: none; 45 | } 46 | 47 | 48 | /************************************ IMAGE ************************************/ 49 | 50 | img#splashscreen_image { 51 | display : block; 52 | width : 80vw; 53 | margin-top : 15vw; 54 | margin-left : auto; 55 | margin-right : auto; 56 | } 57 | 58 | a#imago_version { 59 | display : block; 60 | margin-top : 20vh; 61 | margin-left : auto; 62 | margin-right : auto; 63 | text-align : center; 64 | font-size : 3.6vw; 65 | } 66 | 67 | /************************************************* FIN ************************************************/ 68 | 69 | } 70 | -------------------------------------------------------------------------------- /ws/remove_comment.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | "not_connected"]; 14 | } 15 | 16 | else { 17 | 18 | $add_date = get_time(); 19 | 20 | $content_id = $_POST["content_id"]; 21 | $section_id = $_POST["section_id"]; 22 | $episod_id = $_POST["episod_id"]; 23 | 24 | $request = $data_base->prepare(" 25 | SELECT * 26 | FROM imago_related_comment 27 | WHERE content_id = ? 28 | AND section_id = ? 29 | AND episod_id = ? 30 | AND user_id = ? 31 | "); 32 | 33 | $request->execute(array($content_id, $section_id, $episod_id, $user_id)); 34 | 35 | if (sizeof($request->fetchAll()) != 0) { 36 | 37 | $request = $data_base->prepare(" 38 | DELETE FROM imago_related_comment 39 | WHERE content_id = ? 40 | AND section_id = ? 41 | AND episod_id = ? 42 | AND user_id = ? 43 | "); 44 | 45 | $request->execute(array($content_id, $section_id, $episod_id, $user_id)); 46 | 47 | $status = ["status" => "removed"]; 48 | } 49 | 50 | else { 51 | $status = ["status" => "ko"]; 52 | } 53 | } 54 | 55 | $status_json = json_encode($status); 56 | var_dump($status_json); 57 | 58 | ?> 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /ws/read_comment_list.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | prepare(" 18 | SELECT c.id, c.comment, login, color, add_date 19 | FROM imago_related_comment c 20 | INNER JOIN imago_list_member m 21 | ON c.user_id = m.id 22 | WHERE c.content_id = ? 23 | AND c.section_id = ? 24 | AND c.episod_id = ? 25 | ORDER BY c.add_date DESC 26 | "); 27 | 28 | $request->execute(array($content_id, $section_id, $episod_id)); 29 | $status = $request->fetchAll(PDO::FETCH_ASSOC); 30 | } 31 | 32 | else { 33 | 34 | $request = $data_base->prepare(" 35 | SELECT c.id, c.comment, login, color, add_date 36 | FROM imago_related_comment c 37 | INNER JOIN imago_list_member m 38 | ON c.user_id = m.id 39 | WHERE c.user_id != ? 40 | AND c.content_id = ? 41 | AND c.section_id = ? 42 | AND c.episod_id = ? 43 | ORDER BY c.add_date DESC 44 | "); 45 | 46 | $request->execute(array($user_id, $content_id, $section_id, $episod_id)); 47 | $status = $request->fetchAll(PDO::FETCH_ASSOC); 48 | } 49 | 50 | $status_json = json_encode($status); 51 | var_dump($status_json); 52 | 53 | ?> -------------------------------------------------------------------------------- /css/panorama/series_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (min-width : 481px) { 3 | 4 | 5 | /********************************************* BACKGROUND *********************************************/ 6 | 7 | img.background_image { 8 | position : fixed; 9 | z-index : 1; 10 | top : 4vw; 11 | right : 0px; 12 | width : 70vw; 13 | } 14 | 15 | div.background_shadow { 16 | position : fixed; 17 | z-index : 1; 18 | background : linear-gradient(90deg, rgba(35, 35, 35,1), rgba(35, 35, 35,0)); 19 | top : 4px; 20 | right : 20vw; 21 | width : 50vw; 22 | height : 34vw; 23 | } 24 | 25 | div.date { 26 | display : none; 27 | } 28 | 29 | /*********************************************** SAISONS **********************************************/ 30 | 31 | div#season_list { 32 | position : relative; 33 | z-index : 10; 34 | width : 85vw; 35 | top : 2vw; 36 | list-style-type : none; 37 | padding-left : 1.5vw; 38 | } 39 | 40 | a.season { 41 | display : inline; 42 | margin-right : 2vw; 43 | margin-left : 0vw; 44 | color : grey; 45 | font-size : 2.2vw; 46 | text-decoration : none; 47 | } 48 | 49 | img#list { 50 | position : absolute; 51 | z-index : 10; 52 | margin-top : 1vw; 53 | right : 9vw; 54 | width : 2.5vw; 55 | } 56 | 57 | img#grid { 58 | position : absolute; 59 | z-index : 10; 60 | margin-top : 1vw; 61 | right : 5.5vw; 62 | width : 2.5vw; 63 | } 64 | 65 | /************************************************ RELATED ************************************************/ 66 | 67 | div.more_content { 68 | position : relative; 69 | z-index : 2; 70 | width : 94vw; 71 | height : 2px; 72 | top : 1vw; 73 | left : 2vw; 74 | background-color : rgb(80, 80, 80); 75 | } 76 | 77 | section#related_thumbnail { 78 | position : relative; 79 | margin-top : 4vw; 80 | } 81 | 82 | } -------------------------------------------------------------------------------- /css/portrait/page_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (max-width : 480px) { 3 | 4 | #screen { 5 | display : none; 6 | margin-top : 20vw; 7 | } 8 | 9 | div.screen_title { 10 | margin-bottom : 2vw; 11 | } 12 | 13 | div.item_list { 14 | position : relative; 15 | height : 15vw; 16 | font-size : 4.5vw; 17 | text-align : center; 18 | line-height : 10vw; 19 | } 20 | 21 | ol.item_list { 22 | list-style-type : none; 23 | top : 20vw; 24 | padding-left : 0px; 25 | margin-left : 5vw; 26 | padding-right : 0px; 27 | margin-right : 5vw; 28 | } 29 | 30 | ol.item_list li { 31 | display : inline; 32 | padding-left : 1vw; 33 | padding-right : 1vw; 34 | } 35 | 36 | .item { 37 | color : grey; 38 | text-decoration : none; 39 | } 40 | 41 | /************************************ IMAGE ************************************/ 42 | 43 | section#text { 44 | position : relative; 45 | z-index : 2; 46 | width : 95%; 47 | margin-top : 10vw; 48 | margin-left : auto; 49 | margin-right : auto; 50 | text-align : justify; 51 | } 52 | 53 | a.parapher_title { 54 | font-size : 4.5vw; 55 | color : white; 56 | } 57 | 58 | div.text { 59 | margin-bottom : 8vw; 60 | font-size : 3.5vw; 61 | } 62 | 63 | 64 | img.logo { 65 | float : left; 66 | margin-right : 1vw; 67 | width : 40vw; 68 | padding-top : 4vw; 69 | padding-left : 28vw; 70 | padding-right : 30vw; 71 | padding-bottom : 4vw; 72 | } 73 | 74 | img.media { 75 | float : left; 76 | margin-right : 1vw; 77 | width : 20%; 78 | padding-top : 1vw; 79 | padding-left : 2vw; 80 | padding-right : 2vw; 81 | padding-bottom : 35vw; 82 | } 83 | 84 | img.image { 85 | width : 25%; 86 | padding-left : 35vw; 87 | } 88 | 89 | p.more_info { 90 | margin-bottom : 10vw 91 | } 92 | 93 | img.creativecommons { 94 | width : 10%; 95 | } 96 | 97 | } 98 | -------------------------------------------------------------------------------- /js/page_v111.js: -------------------------------------------------------------------------------- 1 | 2 | /********************************************** INIT ***********************************************/ 3 | 4 | if (page_id == "equipe") var item = "1"; 5 | if (page_id == "manifeste") var item = "2"; 6 | if (page_id == "revue_de_presse") var item = "3"; 7 | if (page_id == "aidez_nous") var item = "4"; 8 | if (page_id == "questions") var item = "5"; 9 | if (page_id == "code") var item = "6"; 10 | if (page_id == "apps") var item = "7"; 11 | 12 | init_screen(); 13 | 14 | function init_screen() { 15 | 16 | // Display screen 17 | 18 | screen_update(); 19 | set_cookie("url_cookie", page_url, 1); 20 | 21 | $("div#screen").show(); 22 | $("div#footer").show(); 23 | 24 | $("a#item_" + item).css("color", "white"); 25 | 26 | // listen mouse over, scroll and resize 27 | 28 | listen_item(); 29 | 30 | addEventListener("resize", screen_update, false); 31 | addEventListener("scroll", screen_update, false); 32 | } 33 | 34 | 35 | /*********************************************** LISTEN *********************************************/ 36 | 37 | function listen_item() { 38 | 39 | // Listen mouse over 40 | 41 | $("a.item").hover(function() { 42 | $(this).css("cursor","pointer"); 43 | $(this).css("color", "rgb(200, 200, 200)"); 44 | $("a#item_" + item).css("color", "white"); 45 | }, function() { 46 | $(this).css("cursor","auto"); 47 | $(this).css("color", "grey"); 48 | $("a#item_" + item).css("color", "white"); 49 | }); 50 | } 51 | 52 | 53 | /********************************************** RESIZE *********************************************/ 54 | 55 | function screen_update() { 56 | 57 | close_menu_and_user(); 58 | 59 | } 60 | 61 | -------------------------------------------------------------------------------- /php/block/button.php: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
-------------------------------------------------------------------------------- /php/block/header.php: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 34 | 35 |
    36 |
  1. Conscience
  2. 37 |
  3. Alternatives
  4. 38 |
  5. Médias
  6. 39 |
  7. Santé
  8. 40 |
  9. Écologie
  10. 41 |
  11. Économie
  12. 42 |
  13. Société
  14. 43 |
  15. Histoire
  16. 44 |
45 | -------------------------------------------------------------------------------- /css/portrait/list_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (max-width : 480px) { 3 | 4 | #screen { 5 | display : none; 6 | margin-top : 16vw; 7 | /*margin-bottom : 6vw;*/ 8 | } 9 | 10 | div#screen_title { 11 | margin-top : 20vw; 12 | margin-bottom : 6vw; 13 | text-align : center; 14 | font-size : 6vw; 15 | } 16 | 17 | div#button_header { 18 | display : none; 19 | } 20 | 21 | img.big_image { 22 | display : none; 23 | } 24 | 25 | img.small_image { 26 | position : absolute; 27 | width : 100vw; 28 | } 29 | 30 | 31 | /************************************************ QUERY ************************************************/ 32 | 33 | section#query { 34 | position : relative; 35 | z-index : 2; 36 | display : block; 37 | width : 60vw; 38 | left : 50vw; 39 | margin-left : -30vw; 40 | } 41 | 42 | input { 43 | background-color : transparent; 44 | border-top : none; 45 | border-left : none; 46 | border-right : none; 47 | border-radius: 0px; 48 | border-bottom-color : grey; 49 | height : 3.6vw; 50 | margin-left : auto; 51 | margin-right : auto; 52 | width : 60vw; 53 | color : grey; 54 | font-size : 3.6vw; 55 | } 56 | 57 | a#validate_button { 58 | display : block; 59 | text-align : center; 60 | margin-top : 8vw; 61 | margin-bottom : 8vw; 62 | font-size : 3.6vw; 63 | } 64 | 65 | a#message { 66 | display : block; 67 | margin-left : auto; 68 | margin-right : auto; 69 | height : 2vw; 70 | width : 50vw; 71 | color : red; 72 | text-align : center; 73 | font-size : 3.6vw; 74 | } 75 | 76 | 77 | /************************************************ RESULT ************************************************/ 78 | 79 | section#list { 80 | position : relative; 81 | background-color : rgb(35, 35, 35); 82 | } 83 | 84 | section.folder { 85 | padding-top : 4vw; 86 | margin-top : 58vw; 87 | } 88 | 89 | section#result { 90 | position : relative; 91 | z-index : 5; 92 | } 93 | 94 | } 95 | -------------------------------------------------------------------------------- /css/portrait/not_used/creator_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (max-width : 480px) { 3 | 4 | #screen { 5 | display : none; 6 | } 7 | 8 | img#background { 9 | position : absolute; 10 | width : 100%; 11 | } 12 | 13 | section#information { 14 | position : relative; 15 | z-index : 5; 16 | padding-top : 85vw; 17 | padding-left : 2vw; 18 | width : 94vw; 19 | } 20 | 21 | a.name { 22 | display : block; 23 | font-size : 6vw; 24 | color : white; 25 | } 26 | 27 | a.position { 28 | display : block; 29 | font-size : 4.5vw; 30 | } 31 | 32 | div#description { 33 | padding-top : 4vw; 34 | padding-left : 1vw; 35 | padding-bottom : 6vw; 36 | font-size : 3.5vw; 37 | text-align: justify; 38 | } 39 | 40 | a.title { 41 | margin-left : 2vw; 42 | font-size : 4.5vw; 43 | color : white; 44 | } 45 | 46 | div.thumbnail { 47 | margin-top : 2vw; 48 | margin-left : 2vw; 49 | margin-bottom : 6vw; 50 | 51 | /* overflow-x : scroll; 52 | overflow-y : hidden; 53 | white-space : nowrap;*/ 54 | } 55 | 56 | img.rounded { 57 | margin-top : 1vw; 58 | margin-left : 1vw; 59 | margin-right : 1vw; 60 | margin-bottom : 1vw; 61 | width : 22vw; 62 | } 63 | 64 | img.panorama, img.portrait, img.panorama { 65 | margin-top : 1vw; 66 | margin-left : 1vw; 67 | margin-right : 1vw; 68 | margin-bottom : 1vw; 69 | width : 45vw; 70 | } 71 | 72 | img.thumbnail { 73 | -webkit-transition : all 0.2s ease; 74 | -moz-transition : 0.2s ease; 75 | -o-transition : all 0.2s ease; 76 | -ms-transition : all 0.2s ease; 77 | transition : all 0.2s ease; 78 | } 79 | 80 | img.thumbnail:hover { 81 | cursor : pointer; 82 | 83 | -webkit-transform : scale(1.05); 84 | -moz-transform : scale(1.05); 85 | -ms-transform : scale(1.05); 86 | -o-transform : scale(1.05); 87 | transform : scale(1.05); 88 | } 89 | 90 | 91 | /************************************************* FIN ************************************************/ 92 | 93 | } -------------------------------------------------------------------------------- /css/portrait/series_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (max-width : 480px) { 3 | 4 | #screen { 5 | display : none; 6 | /*min-height : 80vw;*/ 7 | } 8 | 9 | 10 | /********************************************* BACKGROUND *********************************************/ 11 | 12 | img.background_image { 13 | position : absolute; 14 | right : 0px; 15 | width : 100%; 16 | } 17 | 18 | div.background_shadow { 19 | position : absolute; 20 | display : none; 21 | top : 0px; 22 | left : 0px; 23 | width : 100%; 24 | height : 100%; 25 | } 26 | 27 | 28 | /************************************************ INFO ************************************************/ 29 | 30 | div.date { 31 | display : none; 32 | } 33 | 34 | /*********************************************** SAISONS **********************************************/ 35 | 36 | section#filter { 37 | position : relative; 38 | } 39 | 40 | div#season_list { 41 | position : absolute; 42 | z-index : 3; 43 | margin-top : 1vw; 44 | list-style-type : none; 45 | padding-left : 0vw; 46 | width : 70vw; 47 | 48 | overflow-x : scroll; 49 | overflow-y : hidden; 50 | white-space : nowrap; 51 | } 52 | 53 | a.season { 54 | display : inline; 55 | margin-right : 0vw; 56 | margin-left : 2vw; 57 | 58 | color : grey; 59 | text-decoration : none; 60 | font-size : 5vw; 61 | } 62 | 63 | img#list { 64 | position : absolute; 65 | z-index : 4; 66 | right : 16vw; 67 | width : 9vw; 68 | } 69 | 70 | img#grid { 71 | position : absolute; 72 | z-index : 4; 73 | right : 5vw; 74 | width : 9vw; 75 | } 76 | 77 | /************************************************ RELATED ************************************************/ 78 | 79 | section#related_thumbnail { 80 | position : relative; 81 | z-index: 10; 82 | margin-top : 6vw; 83 | } 84 | 85 | div.more_content { 86 | position : relative; 87 | z-index : 10; 88 | width : 94vw; 89 | height : 1px; 90 | top : 0vw; 91 | left : 2vw; 92 | background-color : rgb(80, 80, 80); 93 | } 94 | 95 | } 96 | -------------------------------------------------------------------------------- /js/subscribe_v111.js: -------------------------------------------------------------------------------- 1 | 2 | /********************************************** INIT ***********************************************/ 3 | 4 | init_screen(); 5 | 6 | function init_screen() { 7 | 8 | // Display screen 9 | 10 | $("div#screen").fadeIn(2000); 11 | $("div#footer").show(); 12 | 13 | if (subscription_status == "error") 14 | $("a#subscription_message").css("visibility", "visible"); 15 | 16 | if (subscription_status == "created") { 17 | $("form#form").hide(); 18 | $("a#subscription_message").css("visibility", "visible"); 19 | $("a#subscription_message").css("color", "green"); 20 | } 21 | else $("a#enter").hide(); 22 | 23 | // listen mouse over, scroll and resize 24 | 25 | listen_subscribe_button(); 26 | // listen_enter_button(); 27 | 28 | addEventListener("resize", close_menu_and_user, false); 29 | } 30 | 31 | 32 | /*********************************************** LISTEN *********************************************/ 33 | 34 | // function listen_enter_button() { 35 | 36 | // // Listen mouse over 37 | 38 | // $("a#enter").hover(function() { 39 | // $(this).css("color","white"); 40 | // $(this).css("cursor","pointer"); 41 | // },function() { 42 | // $(this).css("color","grey"); 43 | // $(this).css("cursor","auto"); 44 | // }); 45 | 46 | // // Listen click on 47 | 48 | // $("a#enter").click(function() { 49 | // go_to("/php/homepage.php"); 50 | // }); 51 | // } 52 | 53 | function listen_subscribe_button() { 54 | 55 | // Listen mouse over 56 | 57 | $("a#subscribe").hover(function() { 58 | $(this).css("color","white"); 59 | $(this).css("cursor","pointer"); 60 | },function() { 61 | $(this).css("color","grey"); 62 | $(this).css("cursor","auto"); 63 | }); 64 | 65 | // Listen click on 66 | 67 | $("a#subscribe").click(function() { 68 | document.getElementById("form").submit(); 69 | }); 70 | } 71 | 72 | -------------------------------------------------------------------------------- /js/not_used/creator_v111.js: -------------------------------------------------------------------------------- 1 | 2 | /********************************************** INIT ***********************************************/ 3 | 4 | init_screen(); 5 | 6 | function init_screen() { 7 | 8 | // Display header 9 | 10 | $("a#title_text_1").hide(); 11 | $("a#title_text_2").hide(); 12 | $("a#title_text_3").hide(); 13 | 14 | // Display screen 15 | 16 | screen_update(); 17 | 18 | $("div#screen").fadeIn(1000); 19 | $("div#footer").show(); 20 | 21 | // listen mouse over, scroll and resize 22 | 23 | addEventListener("resize", screen_update, false); 24 | addEventListener("scroll", screen_update, false); 25 | } 26 | 27 | 28 | /********************************************** RESIZE *********************************************/ 29 | 30 | function screen_update() { 31 | 32 | close_menu_and_user(); 33 | 34 | if (window.innerWidth > trigger_width) { $("img#imago_logo").css("width", "14vw") } 35 | if (window.innerWidth < trigger_width) { $("img#imago_logo").css("width", "40vw") } 36 | 37 | if (window.innerWidth > trigger_width) { 38 | image_position = 0.4 * window.innerWidth; 39 | $("img#background").css("left", image_position); 40 | } 41 | if (window.innerWidth < trigger_width) { $("img#background").css("left", "0") } 42 | 43 | screen_scroll(); 44 | }; 45 | 46 | 47 | /********************************************** SCROLL *********************************************/ 48 | 49 | function screen_scroll() { 50 | 51 | if (window.innerWidth > trigger_width) { var header_height = 4 * window.innerWidth / 100 } 52 | if (window.innerWidth < trigger_width) { var header_height = 15 * window.innerWidth / 100 } 53 | 54 | current_scroll = window.scrollY; 55 | 56 | image_opacity = Math.max(0, (Math.min(1, 1 - (current_scroll) / 400))); 57 | image_top = header_height + 0.2 * (current_scroll); 58 | 59 | $("img#background").css("opacity", image_opacity); 60 | $("img#background").css("top", image_top); 61 | } 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /css/panorama/movie_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (min-width : 481px) { 3 | 4 | div#screen { 5 | display : none; 6 | } 7 | 8 | img.cover_image { 9 | position : fixed; 10 | top : 6vw; 11 | left : 1.5vw; 12 | width : 20vw; 13 | } 14 | 15 | img.background_image { 16 | position : fixed; 17 | top : 4vw; 18 | width : 120vw; 19 | left : 0vw; 20 | overflow : hidden; 21 | } 22 | 23 | 24 | /************************************************ INFO ************************************************/ 25 | 26 | section#information { 27 | padding-left : 24vw; 28 | width : 65vw; 29 | } 30 | 31 | img.logo_image { 32 | display : none; 33 | } 34 | 35 | #info_title { 36 | padding-left : 0vw; 37 | } 38 | 39 | div.date { 40 | padding-top : 1.5vw; 41 | } 42 | 43 | div.number { 44 | display : none; 45 | } 46 | 47 | div.description { 48 | width : 70vw; 49 | } 50 | 51 | 52 | /*********************************************** THUMBNAIL ***********************************************/ 53 | 54 | section#video { 55 | position : relative; 56 | z-index: 10; 57 | top : 3vw; 58 | margin-bottom : 2vw; 59 | margin-left : 24vw; 60 | } 61 | 62 | a.thumbnail_title { 63 | z-index : 10; 64 | padding-left : 0vw; 65 | font-size : 2.2vw; 66 | } 67 | 68 | div.scrolling_container { 69 | padding-left : 3vw; 70 | /*width : 70vw;*/ 71 | } 72 | 73 | a.series_line_1 { 74 | display : none; 75 | } 76 | 77 | a.series_line_2 { 78 | display : none; 79 | } 80 | 81 | /************************************************ RELATED ************************************************/ 82 | 83 | div.more_content { 84 | position : relative; 85 | z-index : 2; 86 | width : 70vw; 87 | height : 2px; 88 | top : 2vw; 89 | left : 24vw; 90 | background-color : rgb(80, 80, 80); 91 | } 92 | 93 | section#related_thumbnail { 94 | position : relative; 95 | margin-top : 4vw; 96 | margin-left : 19.5vw; 97 | } 98 | 99 | a.title { 100 | padding-left : 3vw; 101 | } 102 | 103 | } 104 | -------------------------------------------------------------------------------- /ws/add_resume.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | "not_connected"]; 14 | } 15 | 16 | else { 17 | 18 | $add_date = get_time(); 19 | 20 | $content_id = $_POST["content_id"]; 21 | $episod_id = $_POST["episod_id"]; 22 | $resume_time = (int)$_POST["resume_time"]; 23 | 24 | $previous_resume = read_resume_time($user_id, $content_id, $episod_id); 25 | 26 | if (sizeof($previous_resume) == 0) { 27 | 28 | $request = $data_base->prepare(" 29 | INSERT INTO imago_my_resume 30 | (`user_id`, `content_id`, `episod_id`, `resume_time`, `add_date`) 31 | VALUES 32 | (:user_id, :content_id, :episod_id, :resume_time, :add_date)"); 33 | 34 | $request->execute(array( 35 | 'user_id' => $user_id, 36 | 'content_id' => $content_id, 37 | 'episod_id' => $episod_id, 38 | 'resume_time' => $resume_time, 39 | 'add_date' => $add_date, 40 | )); 41 | } 42 | 43 | else { 44 | 45 | $id = $previous_resume["0"]["id"]; 46 | 47 | $request = $data_base->prepare(" 48 | UPDATE 49 | imago_my_resume 50 | SET 51 | resume_time = :resume_time, 52 | add_date = :add_date 53 | WHERE 54 | id = :id 55 | "); 56 | 57 | $request->execute(array( 58 | 'resume_time' => $resume_time, 59 | 'add_date' => $add_date, 60 | 'id' => $id 61 | )); 62 | } 63 | 64 | $status = ["status" => $resume_time]; 65 | } 66 | 67 | $status_json = json_encode($status); 68 | var_dump($status_json); 69 | 70 | ?> -------------------------------------------------------------------------------- /css/portrait/homepage_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (max-width : 480px) { 3 | 4 | #screen { 5 | display : none; 6 | margin-top : 16vw; 7 | margin-bottom : 16vw; 8 | } 9 | 10 | div#screen_title { 11 | margin-top : 20vw; 12 | margin-bottom : 6vw; 13 | text-align : center; 14 | font-size : 6vw; 15 | } 16 | 17 | div#button_header { 18 | display : none; 19 | } 20 | 21 | /********************************************** THUMBNAIL **********************************************/ 22 | 23 | div.list_container { 24 | /*flex-wrap : wrap;*/ 25 | 26 | /* overflow-x : scroll; 27 | overflow-y : hidden; 28 | white-space : nowrap;*/ 29 | } 30 | 31 | div.panorama, div.portrait, div.squared { 32 | margin-right : 1.8vw; 33 | } 34 | 35 | 36 | /************************************************ LINK *************************************************/ 37 | 38 | a.corner{ 39 | text-decoration : none; 40 | cursor : auto; 41 | } 42 | 43 | a.link { 44 | text-decoration : none; 45 | } 46 | 47 | a.folder:hover { 48 | color : white; 49 | } 50 | 51 | div.link { 52 | margin-top : 2vw; 53 | margin-left : 2vw; 54 | margin-bottom : 6vw; 55 | } 56 | 57 | img.one_tile, img.two_tiles, img.three_tiles { 58 | margin-top : 1vw; 59 | margin-left : 1vw; 60 | margin-right : 1vw; 61 | margin-bottom : 1vw; 62 | width : 93vw; 63 | 64 | box-shadow : 1vw 1vw 1vw #000; 65 | } 66 | 67 | img.four_tiles { 68 | margin-top : 1vw; 69 | margin-left : 1vw; 70 | margin-right : 1vw; 71 | margin-bottom : 1vw; 72 | width : 45vw; 73 | 74 | box-shadow : 1vw 1vw 1vw #000; 75 | } 76 | 77 | 78 | /************************************************* PLAY ************************************************/ 79 | 80 | section#live { 81 | height : 67vw; 82 | } 83 | 84 | div.live_player { 85 | background-color : orange; 86 | position : absolute; 87 | width : 100vw; 88 | } 89 | 90 | iframe.live_player { 91 | position : absolute; 92 | margin-top : 1vw; 93 | margin-left : 2.5vw; 94 | border : none; 95 | width : 95vw; 96 | height : 53.4vw; 97 | } 98 | 99 | } 100 | -------------------------------------------------------------------------------- /css/panorama/not_used/creator_v110.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (min-width : 481px) { 3 | 4 | #screen { 5 | display : none; 6 | margin-top : 6vw; 7 | min-height : 40vw; 8 | } 9 | 10 | img#background { 11 | position : absolute; 12 | width : 60%; 13 | } 14 | 15 | section#information { 16 | position : relative; 17 | z-index : 5; 18 | padding-top : 6vw; 19 | padding-left : 1.5vw; 20 | width : 40vw; 21 | } 22 | 23 | a.name { 24 | display : block; 25 | font-size : 2.4vw; 26 | color : white; 27 | } 28 | 29 | a.position { 30 | display : block; 31 | font-size : 1.8vw; 32 | } 33 | 34 | div#description { 35 | padding-top : 1vw; 36 | padding-left : 2vw; 37 | padding-bottom : 2vw; 38 | font-size : 1.2vw; 39 | text-align: justify; 40 | } 41 | 42 | 43 | a.title { 44 | margin-left : 3.5vw; 45 | font-size : 1.8vw; 46 | color : white; 47 | } 48 | 49 | div.thumbnail { 50 | margin-left : 4.5vw; 51 | margin-bottom : 2vw; 52 | 53 | /* overflow-x : scroll; 54 | overflow-y : hidden; 55 | white-space : nowrap;*/ 56 | } 57 | 58 | img.rounded { 59 | margin-top : 0.8vw; 60 | margin-left : 0.8vw; 61 | margin-right : 0.8vw; 62 | margin-bottom : 0.8vw; 63 | width : 8vw; 64 | } 65 | 66 | img.panorama { 67 | margin-top : 0.8vw; 68 | margin-left : 0.8vw; 69 | margin-right : 0.8vw; 70 | margin-bottom : 0.8vw; 71 | width : 21vw; 72 | } 73 | 74 | img.portrait { 75 | margin-top : 1vw; 76 | margin-left : 1vw; 77 | margin-right : 1vw; 78 | margin-bottom : 1vw; 79 | width : 16vw; 80 | } 81 | 82 | img.squared { 83 | margin-top : 1vw; 84 | margin-left : 1vw; 85 | margin-right : 1vw; 86 | margin-bottom : 1vw; 87 | width : 13vw; 88 | } 89 | 90 | img.thumbnail { 91 | -webkit-transition : all 0.2s ease; 92 | -moz-transition : 0.2s ease; 93 | -o-transition : all 0.2s ease; 94 | -ms-transition : all 0.2s ease; 95 | transition : all 0.2s ease; 96 | } 97 | 98 | img.thumbnail:hover { 99 | cursor : pointer; 100 | 101 | -webkit-transform : scale(1.05); 102 | -moz-transform : scale(1.05); 103 | -ms-transform : scale(1.05); 104 | -o-transform : scale(1.05); 105 | transform : scale(1.05); 106 | } 107 | } -------------------------------------------------------------------------------- /css/panorama/embed_v111.css: -------------------------------------------------------------------------------- 1 | 2 | body { 3 | background-color : transparent; 4 | } 5 | 6 | #screen { 7 | display : none; 8 | } 9 | 10 | iframe#video { 11 | position : absolute; 12 | z-index : 1; 13 | top : 0; 14 | left : 0; 15 | width : 100vw; 16 | height : 56vw; 17 | } 18 | 19 | img#thumbnail_image { 20 | position : absolute; 21 | z-index : 2; 22 | top : 0; 23 | left : 0; 24 | width : 100%; 25 | } 26 | 27 | div#layer { 28 | position : absolute; 29 | z-index : 3; 30 | top : 0; 31 | left : 0; 32 | width : 100vw; 33 | height : 20vw; 34 | } 35 | 36 | div#content_layer { 37 | position : absolute; 38 | background : linear-gradient(180deg, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0)); 39 | z-index : 4; 40 | top : 0; 41 | left : 0; 42 | width : 100vw; 43 | height : 20vw; 44 | } 45 | 46 | /* img#content_image { 47 | position : absolute; 48 | z-index : 5; 49 | top : 2vw; 50 | left : 2vw; 51 | width : 10vw; 52 | height : 10vw; 53 | }*/ 54 | 55 | /* div#episod_layer { 56 | position : absolute; 57 | display : none; 58 | background : linear-gradient(0deg, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0)); 59 | z-index : 4; 60 | top : 36vw; 61 | left : 0; 62 | width : 100vw; 63 | height : 20vw; 64 | } 65 | 66 | img#mini_thumbnail_image { 67 | position : absolute; 68 | z-index : 5; 69 | top : 0vw; 70 | left : 2vw; 71 | width : 32vw; 72 | height : 18vw; 73 | }*/ 74 | 75 | img#logo_imago { 76 | position : absolute; 77 | z-index : 5; 78 | opacity : 0.8; 79 | top : 1vw; 80 | left : 40vw; 81 | width : 20vw; 82 | } 83 | 84 | img#logo_imago:hover { 85 | opacity : 1; 86 | } 87 | 88 | img#logo_play { 89 | position : absolute; 90 | z-index : 5; 91 | top : 15vw; 92 | left : 35vw; 93 | width : 30%; 94 | 95 | -webkit-transition : all 0.2s ease; 96 | -moz-transition : 0.2s ease; 97 | -o-transition : all 0.2s ease; 98 | -ms-transition : all 0.2s ease; 99 | transition : all 0.2s ease; 100 | } 101 | 102 | img#logo_play:hover { 103 | -webkit-transform : scale(1.05); 104 | -moz-transform : scale(1.05); 105 | -ms-transform : scale(1.05); 106 | -o-transform : scale(1.05); 107 | transform : scale(1.05); 108 | } 109 | 110 | -------------------------------------------------------------------------------- /js/category_v111.js: -------------------------------------------------------------------------------- 1 | 2 | /************************************************ INIT **********************************************/ 3 | 4 | var pager_index = [1, 1, 1, 1, 1, 1, 1, 1]; 5 | 6 | init_screen(); 7 | 8 | function init_screen() { 9 | 10 | // Display screen 11 | 12 | set_cookie("url_cookie", page_url, 1); 13 | 14 | $("div#screen").fadeIn(1000); 15 | $("div#footer").show(); 16 | 17 | title = $("h1.screen_title").text(); 18 | $("h1.screen_title").text(title + "(" + total_item_number + ")"); 19 | 20 | for (index = 1; index <= 8; index++) { 21 | $("div#pager_" + index + "_1").css("background", "rgb(120, 120, 120)"); 22 | $("img#left_arrow_container_" + index).hide(); 23 | 24 | if (page_number[index] <= 1) 25 | $("img#right_arrow_container_" + index).hide(); 26 | } 27 | 28 | if (window.innerWidth > trigger_width) 29 | $("div.info_panorama, div.info_portrait, div.info_squared").hide(); 30 | 31 | // Switch Mosaic / Horizontal scroll 32 | 33 | if (type_id != "" && category_id != "") { 34 | $("a.title").hide(); 35 | set_mosaic_mode(); 36 | } 37 | 38 | // iPad management 39 | 40 | if (navigator.userAgent.match(/iPad/i) != null) 41 | $("div.list_container").addClass("ipad"); 42 | 43 | 44 | // listen mouse over, scroll and resize 45 | 46 | listen_buttons(); 47 | 48 | // listen_title(); 49 | 50 | listen_pager(); 51 | listen_left_arrow(); 52 | listen_right_arrow(); 53 | listen_container(); 54 | listen_content_thumbnail(); 55 | 56 | listen_left_page_arrow(); 57 | listen_right_page_arrow(); 58 | 59 | addEventListener("resize", screen_update, false); 60 | addEventListener("scroll", screen_update, false); 61 | } 62 | 63 | 64 | /*********************************************** LISTEN *********************************************/ 65 | 66 | function listen_title() { 67 | 68 | // Listen mouse over 69 | 70 | $("a.title").hover(function() { 71 | $(this).css("color", "white"); 72 | },function() { 73 | $(this).css("color", "grey"); 74 | }); 75 | } 76 | 77 | /********************************************** RESIZE *********************************************/ 78 | 79 | function screen_update() { 80 | 81 | close_menu_and_user(); 82 | } 83 | 84 | -------------------------------------------------------------------------------- /js/login_v111.js: -------------------------------------------------------------------------------- 1 | 2 | /********************************************** INIT ***********************************************/ 3 | 4 | init_tvshow_screen(); 5 | 6 | function init_tvshow_screen() { 7 | 8 | // Display screen 9 | 10 | $("div#screen").fadeIn(2000); 11 | $("div#footer").show(); 12 | 13 | $("a#message").css("visibility", "hidden"); 14 | 15 | // listen mouse over, scroll and resize 16 | 17 | listen_validate_login(); 18 | listen_focus_input(); 19 | 20 | addEventListener("resize", close_menu_and_user, false); 21 | } 22 | 23 | 24 | /*********************************************** LISTEN *********************************************/ 25 | 26 | function listen_validate_login() { 27 | 28 | // Listen mouse over 29 | 30 | $("a.action").hover(function() { 31 | $(this).css("color","white"); 32 | $(this).css("cursor","pointer"); 33 | },function() { 34 | $(this).css("color","grey"); 35 | $(this).css("cursor","auto"); 36 | }); 37 | 38 | // Listen click on 39 | 40 | $("a#validate").click(function() { 41 | // document.getElementById("form").submit(); 42 | 43 | login = $("input#login").val(); 44 | password = $("input#password").val(); 45 | 46 | url = get_cookie("url_cookie"); 47 | 48 | $.post("/ws/create_session.php", 49 | { 50 | login : login, 51 | password : password, 52 | }, 53 | function(data, status){ 54 | // alert("Data: " + data + "\n Status: " + status); 55 | callback = callback_status(data); 56 | 57 | if (callback == "ok") { 58 | if (url == "") 59 | window.location.href = "/accueil"; 60 | else 61 | window.location.href = url; 62 | } 63 | else { 64 | $("a#message").css("visibility", "visible"); 65 | } 66 | } 67 | ) 68 | 69 | }); 70 | 71 | $("a#subscribe").click(function() { 72 | go_to("/inscription"); 73 | }); 74 | } 75 | 76 | 77 | function listen_focus_input() { 78 | 79 | $("input#login").focusin(function(){ 80 | $("a#message").css("visibility", "hidden"); 81 | }); 82 | 83 | } 84 | 85 | 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /php/block/user.php: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | 5 | 6 | Mes favoris 7 | 8 | 9 | 10 | 11 | A voir plus tard 12 | 13 | 14 | 15 | 16 | Mes recommandations 17 | 18 | 19 | 20 | 21 | Mes amis recommandent 22 | 23 | 24 | 25 | 26 | Mon profil 27 | 28 | 29 | 30 | 31 | Mes amis 32 | 33 | 34 | 35 | 36 | Mes dons 37 | 38 | 39 | 40 | 41 | Se déconnecter 42 | 43 | 44 | 45 | 46 | Se connecter 47 | 48 | 49 |
-------------------------------------------------------------------------------- /css/panorama/login_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (min-width : 481px) { 3 | 4 | /************************************ IMAGE ************************************/ 5 | 6 | /*img#member_background_image { 7 | position : fixed; 8 | z-index : 1; 9 | margin-top : 40vh; 10 | transform : translateY(-50%); 11 | width : 60vw; 12 | left : 50%; 13 | margin-left : -30%; 14 | opacity : 0.1; 15 | }*/ 16 | 17 | /************************************ TITLE ************************************/ 18 | 19 | a#login_title { 20 | display : block; 21 | margin-top : 20vh; 22 | margin-left : auto; 23 | margin-right : auto; 24 | margin-bottom : 4vw; 25 | text-align : center; 26 | color : rgb(200,200,200); 27 | font-size : 2vw; 28 | } 29 | 30 | 31 | /************************************ INTPUT ************************************/ 32 | 33 | section#login_connection { 34 | position : absolute; 35 | z-index : 2; 36 | display : block; 37 | width : 30vw; 38 | left : 50%; 39 | margin-left : -15%; 40 | } 41 | 42 | div.login_item { 43 | margin-bottom : 0.5vw; 44 | width : 40vw; 45 | margin-left : auto; 46 | margin-right : auto; 47 | } 48 | 49 | a.login_item_title { 50 | display : block; 51 | float : left; 52 | width : 10vw; 53 | font-size : 1.2vw; 54 | color : rgb(200,200,200); 55 | } 56 | 57 | input.login_item { 58 | background-color : transparent; 59 | border-top : none; 60 | border-left : none; 61 | border-right : none; 62 | border-bottom-color : grey; 63 | height : 1.5vw; 64 | width : 15vw; 65 | color : grey; 66 | font-size : 1.2vw; 67 | } 68 | 69 | a#message { 70 | display : block; 71 | margin-top : 1.5vw; 72 | text-align : center; 73 | color : red; 74 | } 75 | 76 | 77 | a.action { 78 | display : block; 79 | margin-top : 2vw; 80 | margin-left : auto; 81 | margin-right : auto; 82 | width : 20vw; 83 | color : grey; 84 | text-align : center; 85 | text-decoration : none; 86 | font-size : 1.2vw; 87 | } 88 | 89 | a#validate { 90 | width : 10vw; 91 | border-radius : 0.8vw; 92 | padding : 0.5vw; 93 | background-color : rgb(20, 20, 20); 94 | } 95 | 96 | a#subscribe { 97 | display : block; 98 | margin-top : 0.5vw; 99 | } 100 | 101 | a { 102 | -webkit-user-select: none; 103 | -moz-user-select: none; 104 | -o-user-select: none; 105 | user-select: none; 106 | } 107 | 108 | /*#footer { 109 | margin-top : 40vw; 110 | }*/ 111 | 112 | } 113 | -------------------------------------------------------------------------------- /css/portrait/login_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (max-width : 480px) { 3 | 4 | 5 | /************************************ IMAGE ************************************/ 6 | 7 | img#login_background_image { 8 | position : fixed; 9 | z-index : 1; 10 | margin-top : 40vh; 11 | transform : translateY(-50%); 12 | width : 90vw; 13 | left : 50%; 14 | margin-left : -45%; 15 | opacity : 0.1; 16 | } 17 | 18 | 19 | /************************************ TITLE ************************************/ 20 | 21 | a#login_title { 22 | display : block; 23 | margin-top : 30vw; 24 | margin-left : auto; 25 | margin-right : auto; 26 | margin-bottom : 8vw; 27 | width : 60vw; 28 | text-align : center; 29 | color : rgb(200,200,200); 30 | font-size : 5vw; 31 | } 32 | 33 | 34 | /************************************ INTPUT ************************************/ 35 | 36 | section#login_connection { 37 | position : absolute; 38 | z-index : 2; 39 | display : block; 40 | width : 90vw; 41 | left : 50%; 42 | margin-left : -45%; 43 | } 44 | 45 | div.login_item { 46 | margin-bottom : 2vw; 47 | width : 80vw; 48 | margin-left : auto; 49 | margin-right : auto; 50 | text-align : center; 51 | } 52 | 53 | a.login_item_title { 54 | display : block; 55 | float : left; 56 | width : 25vw; 57 | font-size : 3.6vw; 58 | color : rgb(200,200,200); 59 | } 60 | 61 | input.login_item { 62 | background-color : transparent; 63 | border-top : none; 64 | border-left : none; 65 | border-right : none; 66 | border-radius: 0px; 67 | border-bottom-color : grey; 68 | height : 3.6vw; 69 | width : 45vw; 70 | font-size : 3.6vw; 71 | color : grey; 72 | } 73 | 74 | a#message { 75 | display : block; 76 | margin-top : 10vw; 77 | text-align : center; 78 | color : red; 79 | } 80 | 81 | 82 | a.action { 83 | display : block; 84 | margin-top : 6vw; 85 | margin-left : auto; 86 | margin-right : auto; 87 | width : 50vw; 88 | color : grey; 89 | text-align : center; 90 | text-decoration : none; 91 | font-size : 3.6vw; 92 | } 93 | 94 | a#validate { 95 | width : 15vw; 96 | border-radius : 3vw; 97 | padding : 2vw; 98 | background-color : rgb(20, 20, 20); 99 | } 100 | 101 | a#subscribe { 102 | display : block; 103 | } 104 | 105 | a { 106 | -webkit-user-select: none; 107 | -moz-user-select: none; 108 | -o-user-select: none; 109 | user-select: none; 110 | } 111 | 112 | 113 | #footer { 114 | margin-top : 80vw; 115 | } 116 | 117 | 118 | } 119 | -------------------------------------------------------------------------------- /ws/get_episod_info.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | $hosting, 56 | "audio_hosting" => $audio_hosting, 57 | "content_id" => $content_id, 58 | "episod_id" => $episod_id, 59 | "video_id" => $video_id, 60 | "audio_id" => $audio_id, 61 | "name" => $name, 62 | "title" => $title, 63 | "fact_checking" => $fact_checking, 64 | "timecode" => $timecode, 65 | "is_episod_favorite" => $is_episod_favorite, 66 | "is_episod_later" => $is_episod_later, 67 | "is_episod_reco" => $is_episod_reco 68 | ]; 69 | 70 | $status_json = json_encode($status); 71 | var_dump($status_json); 72 | 73 | ?> -------------------------------------------------------------------------------- /ws/add_comment.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | "not_connected"]; 14 | } 15 | 16 | else { 17 | 18 | $add_date = get_time(); 19 | 20 | $content_id = $_POST["content_id"]; 21 | $section_id = $_POST["section_id"]; 22 | $episod_id = $_POST["episod_id"]; 23 | 24 | $comment = $_POST["comment"]; 25 | 26 | $request = $data_base->prepare(" 27 | SELECT * 28 | FROM imago_related_comment 29 | WHERE content_id = ? 30 | AND section_id = ? 31 | AND episod_id = ? 32 | AND user_id = ? 33 | "); 34 | 35 | $request->execute(array($content_id, $section_id, $episod_id, $user_id)); 36 | 37 | if (sizeof($request->fetchAll()) == 0) { 38 | 39 | $request = $data_base->prepare(" 40 | INSERT INTO imago_related_comment 41 | (`user_id`, `content_id`, `section_id`, `episod_id`, `comment`, `add_date`) 42 | VALUES 43 | (:user_id, :content_id, :section_id, :episod_id, :comment, :add_date)"); 44 | 45 | $request->execute(array( 46 | 'user_id' => $user_id, 47 | 'content_id' => $content_id, 48 | 'section_id' => $section_id, 49 | 'episod_id' => $episod_id, 50 | 'comment' => $comment, 51 | 'add_date' => $add_date, 52 | )); 53 | 54 | $status = ["status" => "created"]; 55 | } 56 | 57 | else { 58 | 59 | $request = $data_base->prepare(" 60 | UPDATE 61 | imago_related_comment 62 | SET 63 | comment = :comment, 64 | add_date = :add_date 65 | WHERE 66 | content_id = :content_id 67 | AND 68 | section_id = :section_id 69 | AND 70 | episod_id = :episod_id 71 | AND 72 | user_id = :user_id 73 | "); 74 | 75 | $request->execute(array( 76 | 'comment' => $comment, 77 | 'add_date' => $add_date, 78 | 'content_id' => $content_id, 79 | 'section_id' => $section_id, 80 | 'episod_id' => $episod_id, 81 | 'user_id' => $user_id 82 | )); 83 | 84 | $status = ["status" => "modified"]; 85 | } 86 | } 87 | 88 | $status_json = json_encode($status); 89 | var_dump($status_json); 90 | 91 | ?> -------------------------------------------------------------------------------- /js/list_v111.js: -------------------------------------------------------------------------------- 1 | 2 | /************************************************ INIT **********************************************/ 3 | 4 | var pager_index = [1, 1, 1, 1, 1, 1, 1, 1]; 5 | 6 | init_screen(); 7 | 8 | 9 | function init_screen() { 10 | 11 | // Display screen 12 | 13 | screen_update(); 14 | set_cookie("url_cookie", page_url, 1); 15 | 16 | $("div#screen").fadeIn(1000); 17 | $("div#footer").show(); 18 | 19 | // if (screen != "search" && screen != "friend") 20 | if (screen != "search") 21 | $("section#query").hide(); 22 | 23 | if (screen == "search" || screen == "folder") 24 | $("a#warning").hide(); 25 | 26 | if (screen == "search") 27 | $("input#query").focus(); 28 | 29 | $('input#query').keypress(function(event){ 30 | keycode = (event.keyCode ? event.keyCode : event.which); 31 | if (keycode == '13') 32 | document.getElementById("form").submit(); 33 | }); 34 | 35 | for (index = 1; index <= 8; index++) { 36 | $("div#pager_" + index + "_1").css("background", "rgb(120, 120, 120)"); 37 | $("img#left_arrow_container_" + index).hide(); 38 | 39 | if (page_number[index] <= 1) 40 | $("img#right_arrow_container_" + index).hide(); 41 | } 42 | 43 | if (window.innerWidth > trigger_width) { 44 | $("div.info_panorama, div.info_portrait, div.info_squared").hide(); 45 | $("div.series_info_panorama, div.series_info_squared").hide(); 46 | } 47 | 48 | set_mosaic_mode(); 49 | 50 | 51 | // listen mouse over, scroll and resize 52 | 53 | listen_buttons(); 54 | 55 | listen_validation_button(); 56 | 57 | listen_pager(); 58 | listen_left_arrow(); 59 | listen_right_arrow(); 60 | listen_container(); 61 | listen_content_thumbnail(); 62 | 63 | addEventListener("resize", screen_update, false); 64 | addEventListener("scroll", screen_update, false); 65 | } 66 | 67 | 68 | /********************************************* QUERY **********************************************/ 69 | 70 | function listen_validation_button() { 71 | 72 | // Listen mouse over 73 | 74 | $("a#validate_button").hover(function() { 75 | $(this).css("cursor","pointer"); 76 | },function() { 77 | $(this).css("cursor","auto"); 78 | }); 79 | 80 | // Listen click on 81 | 82 | $("a#validate_button").click(function() { 83 | document.getElementById("form").submit(); 84 | }); 85 | } 86 | 87 | 88 | /********************************************** RESIZE *********************************************/ 89 | 90 | function screen_update() { 91 | 92 | close_menu_and_user(); 93 | 94 | if (window.innerWidth > trigger_width) { 95 | move_element("img#banner", 0.04, 0.5); 96 | } 97 | else { 98 | move_element("img#banner", 0.15, 0.5); 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /php/404.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | Imago TV - La plateforme vidéo gratuite de la transition 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 |
61 | 62 | Cette page n'existe pas ! 63 | Découvrez Imago en cliquant ci-dessous ! 64 | 65 | 66 | 67 |
68 | 69 | 70 | 71 | 72 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /css/panorama/member_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (min-width : 481px) { 3 | 4 | /************************************ IMAGE ************************************/ 5 | 6 | /*img#member_background_image { 7 | position : fixed; 8 | z-index : 1; 9 | margin-top : 40vh; 10 | transform : translateY(-50%); 11 | width : 60vw; 12 | left : 50%; 13 | margin-left : -30%; 14 | opacity : 0.1; 15 | }*/ 16 | 17 | /************************************ TITLE ************************************/ 18 | 19 | a#member_title { 20 | display : block; 21 | margin-top : 6vw; 22 | margin-left : auto; 23 | margin-right : auto; 24 | margin-bottom : 4vw; 25 | text-align : center; 26 | color : rgb(200,200,200); 27 | font-size : 2vw; 28 | } 29 | 30 | 31 | /************************************ INTPUT ************************************/ 32 | 33 | section#member_information { 34 | position : absolute; 35 | z-index : 2; 36 | display : block; 37 | width : 30vw; 38 | left : 50%; 39 | margin-left : -15%; 40 | } 41 | 42 | .readonly { 43 | border : none; 44 | cursor : default; 45 | -webkit-user-select: none; 46 | -moz-user-select: none; 47 | -o-user-select: none; 48 | user-select: none; 49 | } 50 | 51 | div.member_item { 52 | /*background-color : orange;*/ 53 | margin-bottom : 0.8vw; 54 | width : 40vw; 55 | margin-left : auto; 56 | margin-right : auto; 57 | /*text-align : center;*/ 58 | } 59 | 60 | a.member_item_title { 61 | display : block; 62 | float : left; 63 | width : 15vw; 64 | font-size : 1.2vw; 65 | color : rgb(200,200,200); 66 | } 67 | 68 | div#member_mod_date_input, div#member_login_input { 69 | margin-bottom : 4vw; 70 | } 71 | 72 | div#member_id_input{ 73 | margin-top : 4vw; 74 | } 75 | 76 | div#member_first_name_input { 77 | margin-top : 2vw; 78 | } 79 | 80 | div#member_new_pwd_input_1 { 81 | margin-top : 7vw; 82 | } 83 | 84 | div#member_new_pwd_input_2 { 85 | margin-bottom : 4vw; 86 | } 87 | 88 | div#member_pwd_input { 89 | margin-top : 1.5vw; 90 | } 91 | 92 | input { 93 | background-color : transparent; 94 | border-top : none; 95 | border-left : none; 96 | border-right : none; 97 | border-bottom-color : grey; 98 | height : 1.2vw; 99 | margin-left : 2vw; 100 | color : grey; 101 | font-size : 1.2vw; 102 | } 103 | 104 | a.member_item_value { 105 | height : 1.2vw; 106 | margin-left : 2vw; 107 | color : grey; 108 | font-size : 1.2vw; 109 | } 110 | 111 | a#member_new_pwd_title { 112 | display : block; 113 | float : left; 114 | width : 36vw; 115 | font-size : 1.2vw; 116 | } 117 | 118 | a#member_update_button { 119 | display : block; 120 | text-align : center; 121 | margin-left : auto; 122 | margin-right : auto; 123 | margin-top : 4vw; 124 | margin-bottom : 4vw; 125 | width : 10vw; 126 | border-radius : 0.8vw; 127 | padding : 0.5vw; 128 | background-color : rgb(20, 20, 20); 129 | font-size : 1.2vw; 130 | } 131 | 132 | a#member_update_message { 133 | display : block; 134 | margin-left : auto; 135 | margin-right : auto; 136 | height : 2vw; 137 | width : 18vw; 138 | color : red; 139 | text-align : center; 140 | font-size : 1.2vw; 141 | } 142 | 143 | a { 144 | -webkit-user-select: none; 145 | -moz-user-select: none; 146 | -o-user-select: none; 147 | user-select: none; 148 | } 149 | 150 | #footer { 151 | margin-top : 90vw; 152 | } 153 | 154 | /************************************************* FIN ************************************************/ 155 | 156 | } 157 | -------------------------------------------------------------------------------- /css/portrait/member_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (max-width : 480px) { 3 | 4 | 5 | /************************************ IMAGE ************************************/ 6 | 7 | img#member_background_image { 8 | position : fixed; 9 | z-index : 1; 10 | margin-top : 40vh; 11 | transform : translateY(-50%); 12 | width : 90vw; 13 | left : 50%; 14 | margin-left : -45%; 15 | opacity : 0.1; 16 | } 17 | 18 | 19 | /************************************ TITLE ************************************/ 20 | 21 | a#member_title { 22 | display : block; 23 | margin-top : 24vw; 24 | margin-left : auto; 25 | margin-right : auto; 26 | margin-bottom : 8vw; 27 | text-align : center; 28 | color : rgb(200,200,200); 29 | font-size : 5vw; 30 | } 31 | 32 | 33 | /************************************ INTPUT ************************************/ 34 | 35 | section#member_information { 36 | position : absolute; 37 | z-index : 2; 38 | display : block; 39 | width : 90vw; 40 | left : 50%; 41 | margin-left : -45%; 42 | } 43 | 44 | .readonly { 45 | border : none; 46 | cursor : default; 47 | -webkit-user-select: none; 48 | -moz-user-select: none; 49 | -o-user-select: none; 50 | user-select: none; 51 | } 52 | 53 | div.member_item { 54 | margin-bottom : 0.8vw; 55 | width : 90vw; 56 | margin-left : auto; 57 | margin-right : auto; 58 | } 59 | 60 | a.member_item_title { 61 | display : block; 62 | float : left; 63 | width : 42vw; 64 | font-size : 3.6vw; 65 | color : rgb(200,200,200); 66 | } 67 | 68 | div#member_mod_date_input, div#member_login_input { 69 | margin-bottom : 8vw; 70 | } 71 | 72 | div#member_id_input{ 73 | margin-top : 8vw; 74 | } 75 | 76 | div#member_first_name_input { 77 | margin-top : 4vw; 78 | } 79 | 80 | div#member_new_pwd_input_1 { 81 | margin-top : 16vw; 82 | } 83 | 84 | div#member_new_pwd_input_2 { 85 | margin-top : 2vw; 86 | margin-bottom : 16vw; 87 | } 88 | 89 | div#member_pwd_input { 90 | margin-top : 4vw; 91 | } 92 | 93 | input { 94 | background-color : transparent; 95 | border-top : none; 96 | border-left : none; 97 | border-right : none; 98 | border-radius: 0px; 99 | border-bottom-color : grey; 100 | width : 40vw; 101 | height : 3.6vw; 102 | margin-left : 4vw; 103 | color : grey; 104 | font-size : 3.6vw; 105 | } 106 | 107 | a.member_item_value { 108 | height : 3.6vw; 109 | margin-left : 4vw; 110 | color : grey; 111 | font-size : 3.6vw; 112 | } 113 | 114 | a#member_new_pwd_title { 115 | display : block; 116 | float : left; 117 | width : 90vw; 118 | font-size : 3.2vw; 119 | } 120 | 121 | a#member_update_button { 122 | display : block; 123 | text-align : center; 124 | margin-left : auto; 125 | margin-right : auto; 126 | margin-top : 8vw; 127 | margin-bottom : 8vw; 128 | width : 15vw; 129 | border-radius : 3vw; 130 | padding : 2vw; 131 | background-color : rgb(20, 20, 20); 132 | font-size : 3.6vw; 133 | } 134 | 135 | a#member_update_message { 136 | display : block; 137 | margin-left : auto; 138 | margin-right : auto; 139 | height : 2vw; 140 | width : 60vw; 141 | color : red; 142 | text-align : center; 143 | font-size : 3.6vw; 144 | } 145 | 146 | a { 147 | -webkit-user-select: none; 148 | -moz-user-select: none; 149 | -o-user-select: none; 150 | user-select: none; 151 | } 152 | 153 | #footer { 154 | margin-top : 150vw; 155 | } 156 | 157 | /************************************************* FIN ************************************************/ 158 | 159 | } 160 | -------------------------------------------------------------------------------- /css/panorama/subscribe_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (min-width : 481px) { 3 | 4 | 5 | /************************************ IMAGE ************************************/ 6 | 7 | /*img#subscribe_background_image { 8 | position : fixed; 9 | z-index : 1; 10 | margin-top : 40vh; 11 | transform : translateY(-50%); 12 | width : 60vw; 13 | left : 50%; 14 | margin-left : -30%; 15 | opacity : 0.1; 16 | }*/ 17 | 18 | 19 | /************************************ TITLE ************************************/ 20 | 21 | a#subscribe_title { 22 | display : block; 23 | margin-top : 8vw; 24 | margin-left : auto; 25 | margin-right : auto; 26 | margin-bottom : 4vw; 27 | text-align : center; 28 | color : rgb(200,200,200); 29 | font-size : 2vw; 30 | } 31 | 32 | 33 | /************************************ INTPUT ************************************/ 34 | 35 | section#subscribe_information { 36 | position : absolute; 37 | z-index : 2; 38 | display : block; 39 | width : 30vw; 40 | left : 50%; 41 | margin-left : -15%; 42 | } 43 | 44 | div.subscribe_item { 45 | margin-bottom : 0.8vw; 46 | width : 40vw; 47 | margin-left : auto; 48 | margin-right : auto; 49 | } 50 | 51 | a.subscribe_item_title { 52 | display : block; 53 | float : left; 54 | width : 15vw; 55 | font-size : 1.2vw; 56 | color : rgb(200, 200, 200); 57 | } 58 | 59 | div#subscribe_mod_date_input, div#subscribe_login_input { 60 | margin-bottom : 4vw; 61 | } 62 | 63 | div#subscribe_id_input{ 64 | margin-top : 4vw; 65 | } 66 | 67 | /*div#subscribe_first_name_input { 68 | margin-top : 2vw; 69 | }*/ 70 | 71 | div#subscribe_pwd_input { 72 | margin-top : 7vw; 73 | } 74 | 75 | input { 76 | background-color : transparent; 77 | border-top : none; 78 | border-left : none; 79 | border-right : none; 80 | border-bottom-color : grey; 81 | height : 1.2vw; 82 | margin-left : 2vw; 83 | color : grey; 84 | font-size : 1.2vw; 85 | } 86 | 87 | a.subscribe_item_value { 88 | height : 1.2vw; 89 | margin-left : 2vw; 90 | color : grey; 91 | font-size : 1.2vw; 92 | } 93 | 94 | a#subscribe_update_title { 95 | display : block; 96 | float : left; 97 | width : 36vw; 98 | font-size : 1.2vw; 99 | } 100 | 101 | a#subscribe { 102 | display : block; 103 | text-align : center; 104 | margin-left : auto; 105 | margin-right : auto; 106 | margin-top : 4vw; 107 | margin-bottom : 4vw; 108 | width : 10vw; 109 | border-radius : 0.8vw; 110 | padding : 0.5vw; 111 | background-color : rgb(20, 20, 20); 112 | font-size : 1.2vw; 113 | } 114 | 115 | a#subscription_message { 116 | display : block; 117 | visibility : hidden; 118 | margin-left : auto; 119 | margin-right : auto; 120 | margin-bottom : 6vw; 121 | height : 2vw; 122 | width : 30vw; 123 | color : red; 124 | text-align : center; 125 | font-size : 1.2vw; 126 | } 127 | 128 | a#enter { 129 | display : block; 130 | margin-top : 6vw; 131 | margin-left : auto; 132 | margin-right : auto; 133 | height : 2vw; 134 | width : 18vw; 135 | color : grey; 136 | text-align : center; 137 | text-decoration : none; 138 | font-size : 1.2vw; 139 | } 140 | 141 | a { 142 | -webkit-user-select: none; 143 | -moz-user-select: none; 144 | -o-user-select: none; 145 | user-select: none; 146 | } 147 | 148 | a#enter:hover { 149 | color : white; 150 | } 151 | 152 | #footer { 153 | margin-top : 2vw; 154 | } 155 | 156 | /************************************************* FIN ************************************************/ 157 | 158 | } 159 | -------------------------------------------------------------------------------- /css/portrait/subscribe_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (max-width : 480px) { 3 | 4 | 5 | /************************************ IMAGE ************************************/ 6 | 7 | /*img#subscribe_background_image { 8 | position : fixed; 9 | z-index : 1; 10 | margin-top : 40vh; 11 | transform : translateY(-50%); 12 | width : 90vw; 13 | left : 50%; 14 | margin-left : -45%; 15 | opacity : 0.1; 16 | }*/ 17 | 18 | 19 | /************************************ TITLE ************************************/ 20 | 21 | a#subscribe_title { 22 | display : block; 23 | margin-top : 30vw; 24 | margin-left : auto; 25 | margin-right : auto; 26 | margin-bottom : 8vw; 27 | text-align : center; 28 | color : rgb(200,200,200); 29 | font-size : 5vw; 30 | } 31 | 32 | 33 | /************************************ INTPUT ************************************/ 34 | 35 | section#subscribe_information { 36 | position : absolute; 37 | z-index : 2; 38 | display : block; 39 | width : 95vw; 40 | /* left : 50%; 41 | margin-left : -48%;*/ 42 | } 43 | 44 | div.subscribe_item { 45 | margin-bottom : 0.8vw; 46 | width : 90vw; 47 | margin-left : auto; 48 | margin-right : auto; 49 | } 50 | 51 | a.subscribe_item_title { 52 | display : block; 53 | float : left; 54 | width : 40vw; 55 | font-size : 3.6vw; 56 | color : rgb(200, 200, 200); 57 | } 58 | 59 | div#subscribe_mod_date_input, div#subscribe_login_input { 60 | margin-bottom : 8vw; 61 | } 62 | 63 | div#subscribe_id_input{ 64 | margin-top : 8vw; 65 | } 66 | 67 | div#subscribe_first_name_input { 68 | margin-top : 4vw; 69 | } 70 | 71 | div#subscribe_pwd_input { 72 | margin-top : 16vw; 73 | } 74 | 75 | input { 76 | background-color : transparent; 77 | border-top : none; 78 | border-left : none; 79 | border-right : none; 80 | border-bottom-color : grey; 81 | height : 3.6vw; 82 | margin-left : 2vw; 83 | color : grey; 84 | font-size : 3.6vw; 85 | } 86 | 87 | a.subscribe_item_value { 88 | height : 3.6vw; 89 | margin-left : 2vw; 90 | color : grey; 91 | font-size : 3.6vw; 92 | } 93 | 94 | a#subscribe_update_title { 95 | display : block; 96 | float : left; 97 | width : 90vw; 98 | font-size : 3.6vw; 99 | } 100 | 101 | a#subscribe { 102 | display : block; 103 | text-align : center; 104 | margin-left : auto; 105 | margin-right : auto; 106 | margin-top : 8vw; 107 | margin-bottom : 8vw; 108 | width : 15vw; 109 | border-radius : 3vw; 110 | padding : 2vw; 111 | background-color : rgb(20, 20, 20); 112 | font-size : 3.6vw; 113 | } 114 | 115 | a#subscription_message { 116 | display : block; 117 | visibility : hidden; 118 | margin-left : auto; 119 | margin-right : auto; 120 | margin-bottom : 6vw; 121 | height : 2vw; 122 | width : 40vw; 123 | color : red; 124 | text-align : center; 125 | font-size : 3.6vw; 126 | } 127 | 128 | a#enter { 129 | display : block; 130 | margin-top : 24vw; 131 | margin-left : auto; 132 | margin-right : auto; 133 | height : 2vw; 134 | width : 40vw; 135 | color : grey; 136 | text-align : center; 137 | text-decoration : none; 138 | font-size : 3.6vw; 139 | } 140 | 141 | a { 142 | -webkit-user-select: none; 143 | -moz-user-select: none; 144 | -o-user-select: none; 145 | user-select: none; 146 | } 147 | 148 | a#enter:hover { 149 | color : white; 150 | } 151 | 152 | #footer { 153 | margin-top : 120vw; 154 | } 155 | 156 | /************************************************* FIN ************************************************/ 157 | 158 | } 159 | -------------------------------------------------------------------------------- /js/block/menu_v111.js: -------------------------------------------------------------------------------- 1 | 2 | /*********************************************** INIT *********************************************/ 3 | 4 | var expand = new Array; 5 | 6 | init_menu() 7 | 8 | function init_menu() { 9 | 10 | listen_menu_level1(); 11 | // listen_menu_level2(); 12 | listen_menu_down() 13 | } 14 | 15 | 16 | /********************************************** LEVEL 1 ********************************************/ 17 | 18 | function listen_menu_level1() { 19 | 20 | // Listen mouse over 21 | 22 | $("span.item_menu").hover(function() { 23 | var hightlight_id = $(this).attr("id"); 24 | hightlight_id = hightlight_id.replace("item_menu_", ""); 25 | 26 | $(this).css("cursor","pointer"); 27 | $("a#text_item_menu_" + hightlight_id).css("color", "white"); 28 | $("img#icon_item_menu_" + hightlight_id).attr("src", "/img/icons/menu/level_1/menu_icon_white_" + hightlight_id + ".png"); 29 | 30 | }, function() { 31 | var hightlight_id = $(this).attr("id"); 32 | hightlight_id = hightlight_id.replace("item_menu_", ""); 33 | 34 | $(this).css("cursor","auto"); 35 | $("a#text_item_menu_" + hightlight_id).css("color", "grey"); 36 | $("img#icon_item_menu_" + hightlight_id).attr("src", "/img/icons/menu/level_1/menu_icon_grey_" + hightlight_id + ".png"); 37 | 38 | }); 39 | } 40 | 41 | 42 | function listen_menu_down() { 43 | 44 | // FOR TEST ONLY 45 | 46 | $("img.icon_item_down").hover(function() { 47 | 48 | $(this).css("cursor","pointer"); 49 | 50 | var expand_id = $(this).attr("id"); 51 | expand_id = expand_id.replace("icon_item_down_", ""); 52 | 53 | if (expand[expand_id]) { $("img#icon_item_down_" + expand_id).attr("src", "/img/icons/menu/up_white.png");} 54 | else {$("img#icon_item_down_" + expand_id).attr("src", "/img/icons/menu/down_white.png");} 55 | 56 | }, function() { 57 | 58 | $(this).css("cursor","auto"); 59 | 60 | var expand_id = $(this).attr("id"); 61 | expand_id = expand_id.replace("icon_item_down_", ""); 62 | 63 | if (expand[expand_id]) {$("img#icon_item_down_" + expand_id).attr("src", "/img/icons/menu/up_grey.png");} 64 | else {$("img#icon_item_down_" + expand_id).attr("src", "/img/icons/menu/down_grey.png");} 65 | 66 | }); 67 | 68 | // Listen click on 69 | 70 | $("img.icon_item_down").click(function(){ 71 | 72 | var expand_id = $(this).attr("id"); 73 | expand_id = expand_id.replace("icon_item_down_", ""); 74 | 75 | if (expand[expand_id]) { 76 | expand[expand_id] = false; 77 | $("#sub_list_" + expand_id).slideUp(); 78 | $("img#icon_item_down_" + expand_id).attr("src", "/img/icons/menu/down_white.png"); 79 | } 80 | else { 81 | expand[expand_id] = true; 82 | $("#sub_list_" + expand_id).slideDown(); 83 | $("img#icon_item_down_" + expand_id).attr("src", "/img/icons/menu/up_white.png"); 84 | } 85 | }); 86 | } 87 | 88 | 89 | /********************************************** LEVEL 2 ********************************************/ 90 | 91 | // function listen_menu_level2() { 92 | 93 | // // Listen mouse over 94 | 95 | // $("a.sub_list_item").hover(function() { 96 | // $(this).css("color","white"); 97 | 98 | // }, function() { 99 | // $(this).css("color","grey"); 100 | // }); 101 | // } 102 | 103 | 104 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /js/donation_v111.js: -------------------------------------------------------------------------------- 1 | 2 | /********************************************** INIT ***********************************************/ 3 | 4 | var check_item = []; 5 | 6 | check_item[1] = []; 7 | check_item[2] = []; 8 | check_item[3] = []; 9 | check_item[4] = []; 10 | 11 | 12 | init_screen(); 13 | 14 | function init_screen() { 15 | 16 | // Display screen 17 | 18 | $("div#screen").fadeIn(2000); 19 | $("div#footer").show(); 20 | 21 | 22 | for (index = 1; index <= 4; index++) { 23 | $("img#left_arrow_container_" + index).hide(); 24 | $("img#right_arrow_container_" + index).hide(); 25 | } 26 | 27 | for (type_index = 1; type_index <= 4; type_index++) 28 | for (content_index = 1; content_index <= item_number[1]; content_index++) 29 | check_item[type_index][content_index] = 0; 30 | 31 | format = "list"; 32 | 33 | if (format == "list") { 34 | $("div.list_container").addClass("list"); 35 | $("div.panorama, img.panorama, img.play_logo_panorama, div.info_panorama").addClass("list"); 36 | $("div.portrait, img.portrait, img.play_logo_portrait, div.info_portrait").addClass("list"); 37 | $("div.squared, img.squared, img.play_logo_squared, div.info_squared").addClass("list"); 38 | } 39 | 40 | // listen mouse over, scroll and resize 41 | 42 | listen_content_thumbnail(); 43 | 44 | listen_check(); 45 | listen_check_all(); 46 | 47 | addEventListener("resize", close_menu_and_user, false); 48 | } 49 | 50 | 51 | /********************************************* ACTION **********************************************/ 52 | 53 | function listen_check() { 54 | 55 | // Listen mouse over 56 | 57 | $("img.check").hover(function() { 58 | $(this).css("cursor","pointer"); 59 | },function() { 60 | $(this).css("cursor","auto"); 61 | }); 62 | 63 | // Listen click on 64 | 65 | $("img.check").click(function() { 66 | 67 | list_id = this.id.split("-")[0]; 68 | index = this.id.split("-")[1]; 69 | 70 | if (check_item[list_id][index] == 0) { 71 | $(this).attr("src", "../img/icons/check_on.png"); 72 | check_item[list_id][index] = 1; 73 | } 74 | else { 75 | $(this).attr("src", "../img/icons/check_off.png"); 76 | check_item[list_id][index] = 0; 77 | } 78 | }); 79 | } 80 | 81 | function listen_check_all() { 82 | 83 | // Listen mouse over 84 | 85 | $("a#donation_select").hover(function() { 86 | $(this).css("color","white"); 87 | $(this).css("cursor","pointer"); 88 | },function() { 89 | $(this).css("color","grey"); 90 | $(this).css("cursor","auto"); 91 | }); 92 | 93 | // Listen click on 94 | 95 | $("a#donation_select").click(function() { 96 | 97 | for (type_index = 1; type_index <= 4; type_index++) 98 | for (content_index = 1; content_index <= item_number[1]; content_index++) { 99 | check_item[type_index][content_index] = 1; 100 | $("img.check").attr("src", "../img/icons/check_on.png"); 101 | } 102 | }); 103 | } 104 | 105 | function listen_donate() { 106 | 107 | // Listen mouse over 108 | 109 | $("a#donation_pay").hover(function() { 110 | $(this).css("cursor","pointer"); 111 | },function() { 112 | $(this).css("cursor","auto"); 113 | }); 114 | 115 | // Listen click on 116 | 117 | $("a#donation_pay").click(function() { 118 | 119 | alert("") 120 | }); 121 | } 122 | 123 | -------------------------------------------------------------------------------- /css/panorama/donation_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (min-width : 481px) { 3 | 4 | a#donation_title { 5 | display : block; 6 | margin-top : 6vw; 7 | margin-left : auto; 8 | margin-right : auto; 9 | margin-bottom : 0.5vw; 10 | text-align : center; 11 | color : rgb(200,200,200); 12 | font-size : 2vw; 13 | } 14 | 15 | a#donation_done { 16 | display : block; 17 | margin-top : 0.5vw; 18 | margin-left : auto; 19 | margin-right : auto; 20 | margin-bottom : 2vw; 21 | text-align : center; 22 | font-size : 1.4vw; 23 | color : grey; 24 | } 25 | 26 | a#donation_select { 27 | display : block; 28 | margin-left : 84vw; 29 | color : grey; 30 | } 31 | 32 | a#donation_pay { 33 | display : block; 34 | border-radius : 2vw; 35 | margin-left : 79vw; 36 | margin-bottom : 1vw; 37 | padding : 1vw; 38 | width : 13.5vw; 39 | background-color : rgb(20, 20, 20); 40 | color : grey; 41 | } 42 | 43 | a#donation_remove { 44 | display : block; 45 | margin-left : 73vw; 46 | margin-bottom : 2vw; 47 | color : grey; 48 | } 49 | 50 | /************************************************* LIST ************************************************/ 51 | 52 | div.list_container.list { 53 | display : flex; 54 | flex-wrap : wrap; 55 | flex-direction : column; 56 | width : 90vw; 57 | } 58 | 59 | div.panorama.list { 60 | margin-bottom : 0.5vw; 61 | flex : 6vw; 62 | } 63 | 64 | div.portrait.list { 65 | margin-bottom : 0.5vw; 66 | flex : 6vw; 67 | } 68 | 69 | div.squared.list { 70 | margin-bottom : 0.5vw; 71 | flex : 6vw; 72 | } 73 | 74 | img.panorama.list { 75 | flex : 6vw; 76 | width : 10vw; 77 | } 78 | 79 | img.portrait.list { 80 | flex : 6vw; 81 | width : 5vw; 82 | } 83 | 84 | img.squared.list { 85 | flex : 6vw; 86 | width : 7vw; 87 | } 88 | 89 | div.thumbnail_info.list { 90 | display : flex; 91 | box-shadow : 5px 5px 5px #000; 92 | } 93 | 94 | div.thumbnail_info.list:hover { 95 | box-shadow : 10px 10px 5px #000; 96 | 97 | -webkit-transform : scale(1); 98 | -moz-transform : scale(1); 99 | -ms-transform : scale(1); 100 | -o-transform : scale(1); 101 | transform : scale(1); 102 | } 103 | 104 | div.info_panorama.list { 105 | position : absolute; 106 | margin-top : 12.5vw; 107 | margin-left : -2.1vw; 108 | width : 120%; 109 | font-size : 1.1vw; 110 | /*text-align : center; */ 111 | } 112 | 113 | div.info_portrait.list { 114 | position : absolute; 115 | margin-top : 12.5vw; 116 | margin-left : -2.1vw; 117 | width : 120%; 118 | font-size : 1.1vw; 119 | /*text-align : center; */ 120 | } 121 | 122 | div.info_squared.list { 123 | position : absolute; 124 | margin-top : 13.5vw; 125 | margin-left : -1.9vw; 126 | width : 130%; 127 | font-size : 1.1vw; 128 | /*text-align : center; */ 129 | } 130 | 131 | a.donation_line_1 { 132 | position : absolute; 133 | margin-top : 2vw; 134 | margin-left : 5vw; 135 | font-size : 1.8vw; 136 | } 137 | 138 | a.donation_line_2 { 139 | position : absolute; 140 | margin-top : 2vw; 141 | margin-left : 30vw; 142 | font-size : 1.8vw; 143 | } 144 | 145 | a.donation_line_3 { 146 | position : absolute; 147 | margin-top : 2vw; 148 | margin-left : 55vw; 149 | font-size : 1.8vw; 150 | } 151 | 152 | img.check { 153 | position : absolute; 154 | margin-top : 2vw; 155 | margin-left : 73vw; 156 | width : 1.5vw; 157 | } 158 | 159 | } 160 | 161 | 162 | /************************************************* FIN ************************************************/ 163 | 164 | } 165 | -------------------------------------------------------------------------------- /lib/notorm/NotORM.php: -------------------------------------------------------------------------------- 1 | connection = $connection; 59 | $this->driver = $connection->getAttribute(PDO::ATTR_DRIVER_NAME); 60 | if (!isset($structure)) { 61 | $structure = new NotORM_Structure_Convention; 62 | } 63 | $this->structure = $structure; 64 | $this->cache = $cache; 65 | } 66 | 67 | /** Get table data to use as $db->table[1] 68 | * @param string 69 | * @return NotORM_Result 70 | */ 71 | function __get($table) { 72 | return new NotORM_Result($this->structure->getReferencingTable($table, ''), $this, true); 73 | } 74 | 75 | /** Set write-only properties 76 | * @return null 77 | */ 78 | function __set($name, $value) { 79 | if ($name == "debug" || $name == "debugTimer" || $name == "freeze" || $name == "rowClass" || $name == "jsonAsArray") { 80 | $this->$name = $value; 81 | } 82 | if ($name == "transaction") { 83 | switch (strtoupper($value)) { 84 | case "BEGIN": return $this->connection->beginTransaction(); 85 | case "COMMIT": return $this->connection->commit(); 86 | case "ROLLBACK": return $this->connection->rollback(); 87 | } 88 | } 89 | } 90 | 91 | /** Get table data 92 | * @param string 93 | * @param array (["condition"[, array("value")]]) passed to NotORM_Result::where() 94 | * @return NotORM_Result 95 | */ 96 | function __call($table, array $where) { 97 | $return = new NotORM_Result($this->structure->getReferencingTable($table, ''), $this); 98 | if ($where) { 99 | call_user_func_array(array($return, 'where'), $where); 100 | } 101 | return $return; 102 | } 103 | 104 | } 105 | -------------------------------------------------------------------------------- /js/block/user_v111.js: -------------------------------------------------------------------------------- 1 | 2 | /*********************************************** INIT *********************************************/ 3 | 4 | var width = window.innerWidth; 5 | 6 | init_user() 7 | 8 | function init_user() { 9 | 10 | if (user_status == "logout") 11 | $("span#item_user_8").hide(); 12 | else 13 | $("span#item_user_9").hide(); 14 | 15 | // user_panel_update() 16 | listen_user_level1() 17 | 18 | // addEventListener("resize", user_panel_update, false) 19 | } 20 | 21 | 22 | /********************************************** LEVEL 1 ********************************************/ 23 | 24 | function listen_user_level1() { 25 | 26 | // Listen mouse over 27 | 28 | $("span.item_user").hover(function() { 29 | var hightlight_id = $(this).attr("id"); 30 | hightlight_id = hightlight_id.replace("item_user_", ""); 31 | 32 | $(this).css("cursor","pointer"); 33 | 34 | if (hightlight_id == 8) { 35 | $("a#text_item_user_8").css("color", "red"); 36 | $("img#icon_item_user_8").attr("src", "/img/icons/user/level_1/menu_icon_white_8_red.png"); 37 | } 38 | 39 | else if (hightlight_id == 9) { 40 | $("a#text_item_user_9").css("color", "rgb(0, 255, 90)"); 41 | $("img#icon_item_user_9").attr("src", "/img/icons/user/level_1/menu_icon_white_9_green.png"); 42 | } 43 | 44 | else { 45 | $("a#text_item_user_" + hightlight_id).css("color", "white"); 46 | $("img#icon_item_user_" + hightlight_id).attr("src", "/img/icons/user/level_1/menu_icon_white_" + hightlight_id + ".png"); 47 | } 48 | 49 | }, function() { 50 | var hightlight_id = $(this).attr("id"); 51 | hightlight_id = hightlight_id.replace("item_user_", ""); 52 | 53 | $(this).css("cursor","auto"); 54 | $("a#text_item_user_" + hightlight_id).css("color", "grey"); 55 | $("img#icon_item_user_" + hightlight_id).attr("src", "/img/icons/user/level_1/menu_icon_grey_" + hightlight_id + ".png"); 56 | 57 | }); 58 | 59 | // Listen click on 60 | 61 | $("span#item_user_1").click(function() { 62 | set_cookie("url_cookie", "/favoris", 1); 63 | go_to("/favoris"); 64 | }); 65 | 66 | $("span#item_user_2").click(function() { 67 | set_cookie("url_cookie", "/memos", 1); 68 | go_to("/memos"); 69 | }); 70 | 71 | $("span#item_user_3").click(function() { 72 | set_cookie("url_cookie", "/recommandations", 1); 73 | go_to("/recommandations"); 74 | }); 75 | 76 | $("span#item_user_4").click(function() { 77 | set_cookie("url_cookie", "/amis", 1); 78 | go_to("/amis"); 79 | }); 80 | 81 | $("span#item_user_5").click(function() { 82 | set_cookie("url_cookie", "/profil", 1); 83 | go_to("/profil"); 84 | }); 85 | 86 | $("span#item_user_6").click(function() { 87 | set_cookie("url_cookie", "/amis", 1); 88 | go_to("/amis"); 89 | }); 90 | 91 | $("span#item_user_7").click(function() { 92 | set_cookie("url_cookie", "/dons", 1); 93 | go_to("/dons"); 94 | }); 95 | 96 | $("span#item_user_8").click(function() { 97 | 98 | $.post("/ws/destroy_session.php", 99 | { 100 | // no POST argument 101 | }, 102 | function(data, status){ 103 | // alert("Data: " + data + "\n Status: " + status); 104 | go_to(""); // reload on call back 105 | }); 106 | }); 107 | 108 | $("span#item_user_9").click(function() { 109 | set_cookie("url_cookie", page_url, 1); 110 | go_to("/connexion"); 111 | }); 112 | } 113 | 114 | 115 | /********************************************** RESIZE ********************************************/ 116 | 117 | // function user_panel_update() { 118 | 119 | // $("#user").css("margin-left", window.innerWidth); 120 | // $("#user").show(); 121 | 122 | // } 123 | 124 | 125 | 126 | -------------------------------------------------------------------------------- /php/login.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | Imago TV - Connexion 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 |
77 | 78 | Connectez-vous pour profiter des fonctions coopératives ! 79 | 80 |
81 | 82 | 86 | 87 | 91 | 92 | Login ou mot de passe erroné 93 | 94 | valider 95 | (je ne suis pas encore inscrit) 96 | Mot de passe oublié 97 | 98 |
99 | 100 |
101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | -------------------------------------------------------------------------------- /php/page.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | Imago TV - Info 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
66 | 67 |
68 |

A propos

69 |
70 | 71 | 72 | 73 |
74 |
    75 |
  1. " > L'équipe
  2. 76 |
  3. " > Manifeste
  4. 77 |
  5. " > Revue de presse
  6. 78 |
  7. " > Aidez-nous
  8. 79 |
  9. " > Questions
  10. 80 |
  11. " > Code
  12. 81 | 82 |
83 |
84 | 85 |
86 | 87 |
88 | 89 |
90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | -------------------------------------------------------------------------------- /js/block/footer_v111.js: -------------------------------------------------------------------------------- 1 | 2 | /*********************************************** INIT *********************************************/ 3 | 4 | init_footer() 5 | 6 | function init_footer() { 7 | 8 | // size = window.innerWidth; 9 | 10 | $("img#page_up").hide(); 11 | $("a#info_footer").text("ImagoTV - Plateforme vidéo de la transition - v" + version + " " + env); 12 | 13 | listen_footer_page_right(); 14 | listen_footer_page_left(); 15 | 16 | listen_cookie_close(); 17 | init_history_back(); 18 | 19 | listen_footer_page_up(); 20 | listen_footer_links(); 21 | 22 | addEventListener("scroll", footer_scroll, false); 23 | addEventListener("scroll", display_buttons, false); 24 | } 25 | 26 | 27 | /********************************************** ARROWS ********************************************/ 28 | 29 | function listen_footer_page_right() { 30 | 31 | // Listen mouse over 32 | 33 | $("img#arrow_right_page").hover(function() { 34 | $(this).attr("src", "/img/icons/arrow/page_right_white.png"); 35 | },function() { 36 | $(this).attr("src", "/img/icons/arrow/page_right_grey.png"); 37 | }); 38 | } 39 | 40 | function listen_footer_page_left() { 41 | 42 | // Listen mouse over 43 | 44 | $("img#arrow_left_page").hover(function() { 45 | $(this).attr("src", "/img/icons/arrow/page_left_white.png"); 46 | },function() { 47 | $(this).attr("src", "/img/icons/arrow/page_left_grey.png"); 48 | }); 49 | } 50 | 51 | 52 | /********************************************* COOKIES *******************************************/ 53 | 54 | function listen_cookie_close() { 55 | 56 | // Listen mouse over 57 | 58 | $("img#close_cookies").hover(function() { 59 | $(this).css("cursor","pointer"); 60 | $(this).css("opacity","1"); 61 | },function() { 62 | $(this).css("cursor","auto"); 63 | $(this).css("opacity","0.7"); 64 | }); 65 | 66 | // Listen click on 67 | 68 | $("img#close_cookies").click(function() { 69 | $("div#cookie_popup").fadeOut(500); 70 | set_cookie("rgpd_cookie", "ok", 30); 71 | }); 72 | } 73 | 74 | 75 | /********************************************* HISTORY *******************************************/ 76 | 77 | function init_history_back() { 78 | 79 | $("img#page_back").hover(function() { 80 | $(this).css("cursor","pointer"); 81 | $(this).css("opacity","1"); 82 | },function() { 83 | $(this).css("cursor","auto"); 84 | $(this).css("opacity","0.7"); 85 | }); 86 | 87 | $("img#page_back").click(function() { 88 | window.history.back(); 89 | }); 90 | } 91 | 92 | 93 | /********************************************* SCROLL UP *******************************************/ 94 | 95 | function footer_scroll() { 96 | 97 | if (window.scrollY > 0) 98 | $("img#page_up").fadeIn(); 99 | else 100 | $("img#page_up").fadeOut(200) 101 | } 102 | 103 | function display_buttons() { 104 | 105 | if (window.innerWidth < trigger_width) { 106 | if (window.scrollY < 10) 107 | $("section#button_list").fadeIn(); 108 | if (window.scrollY > 100) 109 | $("section#button_list").fadeOut() 110 | } 111 | } 112 | 113 | function listen_footer_page_up() { 114 | 115 | // Listen mouse over 116 | 117 | $("#page_up").hover(function() { 118 | $(this).css("cursor","pointer"); 119 | $("img#page_up").attr("src", "/img/icons/footer/page_up_white.png"); 120 | },function() { 121 | $(this).css("cursor","auto"); 122 | $("img#page_up").attr("src", "/img/icons/footer/page_up_grey.png"); 123 | }); 124 | 125 | // Listen click on 126 | 127 | $("#page_up").click(function(){ 128 | $('html,body').animate({scrollTop: 0}, 'slow') 129 | }); 130 | } 131 | 132 | 133 | /********************************************** FOOTER *********************************************/ 134 | 135 | function listen_footer_links() { 136 | 137 | // Listen mouse over 138 | 139 | $("a.item_footer").hover(function() { 140 | $(this).css("color", "white"); 141 | }, function() { 142 | $(this).css("color", "grey"); 143 | }); 144 | } 145 | 146 | -------------------------------------------------------------------------------- /php/donation.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | Imago TV - Dons 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 |
77 | 78 | 79 | Mes promesses de dons 80 | Mes dons effectués 81 | 82 | Cette fonctionnalité ouvre en fin d'année !! 83 | 84 | 85 | 86 |
87 | 88 | 89 | 90 | 91 | 92 | 93 |
94 | 95 | 97 | 98 |
99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | -------------------------------------------------------------------------------- /php/block/information.php: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | 5 | 6 |
7 | 8 |
9 | 10 |
11 | 12 | 13 | > 14 | 15 | 16 | 17 |

> 18 | 19 | 20 | 21 |

22 | 23 |
24 | 25 | 26 | 27 |
28 | 29 |
30 | 31 |
32 | 33 | 34 |
35 | 36 |
37 | Année : 38 | 39 |
40 | 41 |
42 | Épisodes : 43 | 44 |
45 | 46 |
47 | Durée : 48 | 49 |
50 | 51 |
52 | Thématique : 53 | 54 |
55 | 56 |
57 | 58 | > 59 |
60 | 61 | 62 |
63 | 67 |
68 | > 69 | > 70 | > 71 | > 72 | > 73 |
74 |
75 | 76 |
77 | 81 |
82 | > 83 | > 84 | > 85 | > 86 | > 87 |
88 |
89 | 90 |
91 | 95 |
96 | > 97 | > 98 | > 99 | > 100 | > 101 |
102 | 103 | 104 | 105 |
106 | 107 |
108 | 109 |
110 | -------------------------------------------------------------------------------- /html/questions.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | Qui se cache derrière Imago ? 4 |
5 |

Il semblerait que le design d'Imago ait donné l'impression à certains qu'il se cachait derrière Imago une start up ou une société spécialisée dans les médias. Il n'en est rien. Imago est un projet associatif et bénévole ! Si toute une équipe est intervenue dans la conception d'Imago (voir l'onglet "L'équipe" ) le projet est principalement porté par Felipe et Nicolas.

6 |
7 |
8 | 9 | 10 |
11 | Comment suggérer de nouvelles vidéos ? 12 |
13 |

Pour cela, rien de plus simple, il vous suffit de nous envoyer un mail à l'adresse unique de contact ci-dessous avec comme intitulé de mail "proposition de contenu". A terme, un outil en ligne permettra directement de proposer de nouveaux contenus. Cela rentrera dans le cadre des fonctionnalités coopératives qui seront petit à petit ouvertes dans les mois à venir.

14 |
15 |
16 | 17 | 18 |
19 | Existe-t-il une appli smartphone ? 20 |
21 |

Malheureusement non, pas pour l'instant. Développer une application smartphone est relativement coûteux en temps, car il s'agit d'un développement spécifique, qui doit être fait lui-même deux fois, pour les téléphones Apple et pour les téléphones Android. Mais si vous avez des compétences techniques, n'hésitez pas à venir nous aider !

22 | 23 |

Mais bien sûr, vous pouvez utilisez Imago sur votre smartphone depuis votre navigateur. Qu'il s'agisse de Firefox (évidemment !), de Safari, de Chrome, ou encore d'Edge, Imago fonctionne partout ! Et si vous souhaitez avoir une icône pour lancer Imago directement depuis le bureau de votre smartphone, certains appareils permettent de créer une icône pour lancer directement un site internet sur votre navigateur. Renseignez-vous pour votre smartphone !

24 |
25 |
26 | 27 |
28 | Quel est le modèle économique d'Imago ? 29 |
30 |

Voilà la grande question !

31 | 32 |

Tout d'abord un petit flashback. Imago a été lancé le 18 décembre dernier après un peu plus d'une année de travail. Ce travail a été réalisé par une petite équipe bénévole dans un cadre associatif. Ces 6 derniers mois ont été consacrés tout particulièrement au développement de la plateforme (le site internet, et le serveur). Là encore, il est l'œuvre d'un développeur bénévole qui a réalisé le service sur ses temps libres. Le site n'a donc rien coûté à développer autre que du temps (beaucoup de temps !!!).

33 | 34 |

Imago n'héberge pas les vidéos de la plateforme. Nous faisons un référencement et une validation de contenus déjà présents sur internet et dont nous constations qu'ils n'avaient (à quelques rares exceptions prêt) qu'une visibilité bien en déça de ce que leur grande qualité méritait. Nous ne payons donc pas ces contenus qui ont tous été produits dans des cadres associatifs bénévoles, en auto-production ou par financement participatif.

35 | 36 |

Imago n'a donc pour l'instant aucune rentrée ni sortie d'argent et fonctionne sans budget (mis à part un abonnement de serveur de 5,99 euros par mois, payés par ses 2 fondateurs). A terme, nous envisageons d'ajouter la possibilité pour les utilisateurs du service de faire des dons directement aux créateurs de contenus (documentaristes, vidéastes, podcasteurs, etc.) qui pourront choisir de reverser une partie à Imago. Avec cet argent, Imago souhaiterait un jour pouvoir faire de l'aide à la production de nouveaux contenus.

37 | 38 |
39 |
40 | 41 | 42 |
43 | Mais vous vivez comment ? 44 |
45 |

Nous ne sommes pour l'instant que 2 sur le projet. Felipe et Nicolas. Felipe travaille toujours et Nicolas met à profit une période de reconversion personnelle pour développer Imago. Nous ne vivons donc pas d'Imago ! Et pour cause, la plateforme étant gratuite et sans publicité, Imago ne génère aucune rentrée d'argent. Heureusement, le projet ne nous coûte rien non plus. Les contenus sont produits (et donc financés) par les créateurs eux-mêmes. Les seuls frais engagés sont ceux de l'hébergement du site, à hauteur de quelques euros par mois !

46 |
47 |
48 | 49 | 50 | -------------------------------------------------------------------------------- /js/not_used/sheet_v111.js: -------------------------------------------------------------------------------- 1 | 2 | /******************************************* INIT SCREEN ********************************************/ 3 | 4 | var pager_index = [1, 1, 1, 1, 1, 1]; 5 | 6 | var note_value = new Array(); 7 | note_value[1] = note_1; 8 | note_value[2] = note_2; 9 | note_value[3] = note_3; 10 | 11 | init_screen(); 12 | 13 | function init_screen() { 14 | 15 | // Display screen 16 | 17 | screen_update(); 18 | set_cookie("url_cookie", page_url, 1); 19 | 20 | $("div#screen").fadeIn(1000); 21 | $("div#footer").show(); 22 | 23 | // Specific cases 24 | 25 | if (fact_check_url != "") $("img#fact_check").show(); 26 | if (crowdfunding_url != "") $("img#crowdfunding").show(); 27 | 28 | $("img.my_content").show(); 29 | 30 | if (is_favorite == "1") { 31 | $("img#favorite").css("opacity", "0.2"); 32 | $("img#heart").show(); 33 | } 34 | 35 | if (watch_later == "1") { 36 | $("img#watch_later").css("opacity", "0.2"); 37 | $("img#time").show(); 38 | } 39 | 40 | if (has_comment == "1") { 41 | $("img#comment").css("opacity", "0.2"); 42 | $("img#lines").show(); 43 | } 44 | 45 | if (content_id == "en_quete_de_sens" && video_id != "") $("div#eqds_button").show(); 46 | 47 | if (type_id == "shortfilm") { 48 | $("section#link").hide() 49 | if (window.innerWidth < trigger_width) 50 | $("section#information").css("margin-top", "70vw") 51 | } 52 | 53 | for (index = 1; index <= 6; index++) { 54 | $("div#pager_" + index + "_1").css("background", "rgb(120, 120, 120)"); 55 | $("img#left_arrow_container_" + index).hide(); 56 | 57 | if (page_number[index] <= 1) 58 | $("img#right_arrow_container_" + index).hide(); 59 | } 60 | 61 | $("img.arrow_page").hide(); 62 | 63 | $("img.donate").jrumble({x:0, y:0, rotation:10}); 64 | 65 | // listen mouse over, scroll and resize 66 | 67 | // if (env != "prod" && user_status == "admin") listen_name(); 68 | 69 | listen_author(); 70 | listen_category(); 71 | listen_producer(); 72 | listen_my_contents(); 73 | listen_buttons(content_id, episod_id, user_id); 74 | // listen_note(); 75 | // listen_note_setting(); 76 | 77 | 78 | listen_content_thumbnail(); 79 | 80 | listen_pager(); 81 | listen_left_arrow(); 82 | listen_right_arrow(); 83 | listen_container(); 84 | listen_content_thumbnail(comment_list); 85 | 86 | addEventListener("resize", screen_update, false); 87 | addEventListener("scroll", screen_update, false); 88 | 89 | if (video_id != "") launch_video_player(hosting, video_id); 90 | } 91 | 92 | 93 | /********************************************** RESIZE *********************************************/ 94 | 95 | function screen_update() { 96 | 97 | close_menu_and_user(); 98 | 99 | if (window.innerWidth > trigger_width) { 100 | move_element("img.background_image", 0.04, 0.5); 101 | screen_scroll(); 102 | } 103 | else { 104 | move_element("img.cover_image", 0.15, 0.5); 105 | $("img#close_player").css("left", ""); 106 | } 107 | }; 108 | 109 | 110 | /********************************************** SCROLL *********************************************/ 111 | 112 | function screen_scroll() { 113 | 114 | // Opacity management 115 | 116 | trigger_1 = 0; speed_1 = 0.03 * window.innerWidth; 117 | trigger_2 = 0.06 * window.innerWidth; speed_2 = 0.04 * window.innerWidth; 118 | trigger_3 = 0.12 * window.innerWidth; speed_3 = 0.06 * window.innerWidth; 119 | trigger_4 = 0.20 * window.innerWidth; speed_4 = 0.06 * window.innerWidth; 120 | 121 | image_opacity_1 = Math.max(0, (Math.min(1, 1 - (window.scrollY - trigger_1) / speed_1))); 122 | image_opacity_2 = Math.max(0, (Math.min(1, 1 - (window.scrollY - trigger_2) / speed_2))); 123 | image_opacity_3 = Math.max(0, (Math.min(1, 1 - (window.scrollY - trigger_3) / speed_3))); 124 | image_opacity_4 = Math.max(0, (Math.min(1, 1 - (window.scrollY - trigger_4) / speed_4))); 125 | 126 | $("div#note_1, div#note_2, div#note_3").css("opacity", image_opacity_1); 127 | $("div.date, div.duration, div.category, div.info").css("opacity", image_opacity_2); 128 | $("div.description").css("opacity", image_opacity_3); 129 | $("a.author, a.name, img.author_image").css("opacity", image_opacity_4); 130 | } 131 | 132 | -------------------------------------------------------------------------------- /html/aidez_nous.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | Partager Imago autour de vous ! 4 |
5 | 6 |

C'est probablement l'action la plus simple et la plus efficace pour nous aider ! Nous avons fait un gros travail technique et éditorial pour créer Imago. A vous maintenant de faire connaître la plateforme ! Par les réseaux sociaux bien sûr, mais surtout aux repas de famille le dimanche, à la machine à café au bureau ou au club de sport, partout autour de vous des amis à vous recherchent sûrement à s'informer sur la transition.

7 | 8 |
9 |
10 | 11 |
12 | Nous aider par des dons en Ğ1 13 |
14 | 15 | 16 | 17 |

Imago promeut les monnaies libres ! La Ğ1 (prononcez "June") est une monnaie libre que toute personne peut utiliser dès lors qu'elle a accès à internet. En monnaie libre il n'existe pas d'autorité centrale ni d'intermédiaire (banque, régulateur...), et la création (monétaire) est basée sur le principe du dividende universel, plutôt que sur de l'endettement. La Ğ1 utilise l'architecture de la "blockchain", au même titre que le bitcoin, mais elle ne consomme pratiquement pas d'électricité, contrairement à ce dernier.

18 | 19 | 20 |

En "trois clics" et sans avoir à fournir de données personnelles, n'importe qui peut ouvrir et gérer un ou plusieurs portefeuilles en Ğ1. Née à Toulouse il y a 2 ans (le 8 mars 2017), suite à la rencontre entre des informaticiens libristes (militants de l'internet libre) et une nouvelle théorie monétaire (la théorie relative de la monnaie), la Ğ1 compte aujourd'hui près de 2000 utilisateurs certifiés, principalement en France, et représente une alternative prometteuse pour le financement des projets de la transition.

21 | 22 |

Si vous le souhaitez, il vous est possible de nous faire un don en Ğ1. Pour cela, rien de plus simple, il suffit de flasher le QR code ci-dessous, ou tout simplement de vous rendre sur cette adresse.

23 | 24 | 25 | 26 |
27 |
28 | 29 |
30 | Participer aux fonctionnalités collaboratives 31 |
32 | 33 |

L'usage premier d'Imago est naturellement la consultation des vidéos. Mais afin d'enrichir l'usage de ces contenus, nous avons développé (et nous continuons à développer) de nombreuses fonctionnalités collaboratives ouvertes à tous les utilisateurs inscrits.

34 | 35 |
36 |
37 | 38 | 46 | 47 |
48 | Rejoindre l'équipe 49 |
50 | 51 |

Si vous avez des compétences dans l'audiovisuel ou dans la technique. Ou si tout simplement vous souhaitez mettre à profit un peu de temps pour un projet qui vous tienne à cœur, n'hésitez pas à nous contacter pour rejoindre l'équipe d'Imago. Pour l'instant nos besoins sont principalement édito, notamment pour valider les très nombreux contenus dont les créateurs nous font part pour pouvoir les ajouter à Imago.

52 | 53 |
54 |
55 | 56 | 73 | -------------------------------------------------------------------------------- /php/embed.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 |
102 | 103 | 104 | 105 |
106 |
107 | 108 |
109 |
110 | 111 | > 112 | 113 | 114 |
115 | 116 | 117 | 118 | 119 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /lib/notorm/NotORM/MultiResult.php: -------------------------------------------------------------------------------- 1 | notORM); 11 | $this->result = $result; 12 | $this->column = $column; 13 | $this->active = $active; 14 | } 15 | 16 | /** Specify referencing column 17 | * @param string 18 | * @return NotORM_MultiResult fluent interface 19 | */ 20 | function via($column) { 21 | $this->column = $column; 22 | $this->conditions[0] = "$this->table.$column AND"; 23 | $this->where[0] = "(" . $this->whereIn("$this->table.$column", array_keys((array) $this->result->rows)) . ")"; 24 | return $this; 25 | } 26 | 27 | function insert_multi(array $rows) { 28 | $args = array(); 29 | foreach ($rows as $data) { 30 | if ($data instanceof Traversable && !$data instanceof NotORM_Result) { 31 | $data = iterator_to_array($data); 32 | } 33 | if (is_array($data)) { 34 | $data[$this->column] = $this->active; 35 | } 36 | $args[] = $data; 37 | } 38 | return parent::insert_multi($args); 39 | } 40 | 41 | function insert_update(array $unique, array $insert, array $update = array()) { 42 | $unique[$this->column] = $this->active; 43 | return parent::insert_update($unique, $insert, $update); 44 | } 45 | 46 | protected function single() { 47 | $this->where[0] = "($this->column = " . $this->quote($this->active) . ")"; 48 | } 49 | 50 | function update(array $data) { 51 | $where = $this->where; 52 | $this->single(); 53 | $return = parent::update($data); 54 | $this->where = $where; 55 | return $return; 56 | } 57 | 58 | function delete() { 59 | $where = $this->where; 60 | $this->single(); 61 | $return = parent::delete(); 62 | $this->where = $where; 63 | return $return; 64 | } 65 | 66 | function select($columns) { 67 | $args = func_get_args(); 68 | if (!$this->select) { 69 | array_unshift($args, "$this->table.$this->column"); 70 | } 71 | return call_user_func_array(array($this, 'parent::select'), $args); 72 | } 73 | 74 | function order($columns) { 75 | if (!$this->order) { // improve index utilization 76 | $this->order[] = "$this->table.$this->column" . (preg_match('~\\bDESC$~i', $columns) ? " DESC" : ""); 77 | } 78 | $args = func_get_args(); 79 | return call_user_func_array(array($this, 'parent::order'), $args); 80 | } 81 | 82 | function aggregation($function) { 83 | $join = $this->createJoins(implode(",", $this->conditions) . ",$function"); 84 | $column = ($join ? "$this->table." : "") . $this->column; 85 | $query = "SELECT $function, $column FROM $this->table" . implode($join); 86 | if ($this->where) { 87 | $query .= " WHERE " . implode($this->where); 88 | } 89 | $query .= " GROUP BY $column"; 90 | $aggregation = &$this->result->aggregation[$query]; 91 | if (!isset($aggregation)) { 92 | $aggregation = array(); 93 | foreach ($this->query($query, $this->parameters) as $row) { 94 | $aggregation[$row[$this->column]] = $row; 95 | } 96 | } 97 | if (isset($aggregation[$this->active])) { 98 | foreach ($aggregation[$this->active] as $return) { 99 | return $return; 100 | } 101 | } 102 | } 103 | 104 | function count($column = "") { 105 | $return = parent::count($column); 106 | return (isset($return) ? $return : 0); 107 | } 108 | 109 | protected function execute() { 110 | if (!isset($this->rows)) { 111 | $referencing = &$this->result->referencing[$this->__toString()]; 112 | if (!isset($referencing)) { 113 | if (!$this->limit || count($this->result->rows) <= 1 || $this->union) { 114 | parent::execute(); 115 | } else { //! doesn't work with union 116 | $result = clone $this; 117 | $first = true; 118 | foreach ((array) $this->result->rows as $val) { 119 | if ($first) { 120 | $result->where[0] = "$this->column = " . $this->quote($val); 121 | $first = false; 122 | } else { 123 | $clone = clone $this; 124 | $clone->where[0] = "$this->column = " . $this->quote($val); 125 | $result->union($clone); 126 | } 127 | } 128 | $result->execute(); 129 | $this->rows = $result->rows; 130 | } 131 | $referencing = array(); 132 | foreach ($this->rows as $key => $row) { 133 | $referencing[$row[$this->column]][$key] = $row; 134 | } 135 | } 136 | $this->data = &$referencing[$this->active]; 137 | if (!isset($this->data)) { 138 | $this->data = array(); 139 | } 140 | } 141 | } 142 | 143 | } 144 | -------------------------------------------------------------------------------- /lib/notorm/NotORM/Cache.php: -------------------------------------------------------------------------------- 1 | filename = $filename; 50 | $this->data = unserialize(@file_get_contents($filename)); // @ - file may not exist 51 | } 52 | 53 | function load($key) { 54 | if (!isset($this->data[$key])) { 55 | return null; 56 | } 57 | return $this->data[$key]; 58 | } 59 | 60 | function save($key, $data) { 61 | if (!isset($this->data[$key]) || $this->data[$key] !== $data) { 62 | $this->data[$key] = $data; 63 | file_put_contents($this->filename, serialize($this->data), LOCK_EX); 64 | } 65 | } 66 | 67 | } 68 | 69 | 70 | 71 | /** Cache using PHP include 72 | */ 73 | class NotORM_Cache_Include implements NotORM_Cache { 74 | private $filename, $data = array(); 75 | 76 | function __construct($filename) { 77 | $this->filename = $filename; 78 | $this->data = @include realpath($filename); // @ - file may not exist, realpath() to not include from include_path //! silently falls with syntax error and fails with unreadable file 79 | if (!is_array($this->data)) { // empty file returns 1 80 | $this->data = array(); 81 | } 82 | } 83 | 84 | function load($key) { 85 | if (!isset($this->data[$key])) { 86 | return null; 87 | } 88 | return $this->data[$key]; 89 | } 90 | 91 | function save($key, $data) { 92 | if (!isset($this->data[$key]) || $this->data[$key] !== $data) { 93 | $this->data[$key] = $data; 94 | file_put_contents($this->filename, 'data, true) . ';', LOCK_EX); 95 | } 96 | } 97 | 98 | } 99 | 100 | 101 | 102 | /** Cache storing data to the "notorm" table in database 103 | */ 104 | class NotORM_Cache_Database implements NotORM_Cache { 105 | private $connection; 106 | 107 | function __construct(PDO $connection) { 108 | $this->connection = $connection; 109 | } 110 | 111 | function load($key) { 112 | $result = $this->connection->prepare("SELECT data FROM notorm WHERE id = ?"); 113 | $result->execute(array($key)); 114 | $return = $result->fetchColumn(); 115 | if (!$return) { 116 | return null; 117 | } 118 | return unserialize($return); 119 | } 120 | 121 | function save($key, $data) { 122 | // REPLACE is not supported by PostgreSQL and MS SQL 123 | $parameters = array(serialize($data), $key); 124 | $result = $this->connection->prepare("UPDATE notorm SET data = ? WHERE id = ?"); 125 | $result->execute($parameters); 126 | if (!$result->rowCount()) { 127 | $result = $this->connection->prepare("INSERT INTO notorm (data, id) VALUES (?, ?)"); 128 | try { 129 | @$result->execute($parameters); // @ - ignore duplicate key error 130 | } catch (PDOException $e) { 131 | if ($e->getCode() != "23000") { // "23000" - duplicate key 132 | throw $e; 133 | } 134 | } 135 | } 136 | } 137 | 138 | } 139 | 140 | 141 | 142 | // eAccelerator - user cache is obsoleted 143 | 144 | 145 | 146 | /** Cache using "NotORM." prefix in Memcache 147 | */ 148 | class NotORM_Cache_Memcache implements NotORM_Cache { 149 | private $memcache; 150 | 151 | function __construct(Memcache $memcache) { 152 | $this->memcache = $memcache; 153 | } 154 | 155 | function load($key) { 156 | $return = $this->memcache->get("NotORM.$key"); 157 | if ($return === false) { 158 | return null; 159 | } 160 | return $return; 161 | } 162 | 163 | function save($key, $data) { 164 | $this->memcache->set("NotORM.$key", $data); 165 | } 166 | 167 | } 168 | 169 | 170 | 171 | /** Cache using "NotORM." prefix in APC 172 | */ 173 | class NotORM_Cache_APC implements NotORM_Cache { 174 | 175 | function load($key) { 176 | $return = apc_fetch("NotORM.$key", $success); 177 | if (!$success) { 178 | return null; 179 | } 180 | return $return; 181 | } 182 | 183 | function save($key, $data) { 184 | apc_store("NotORM.$key", $data); 185 | } 186 | 187 | } 188 | -------------------------------------------------------------------------------- /js/movie_v111.js: -------------------------------------------------------------------------------- 1 | 2 | // var format = get_cookie("display_mode"); 3 | // if (format != "grid" && format != "list") format = "list"; 4 | 5 | var note_value = new Array(); 6 | note_value[1] = note_1; 7 | note_value[2] = note_2; 8 | note_value[3] = note_3; 9 | 10 | init_screen(); 11 | 12 | function init_screen() { 13 | 14 | // Display screen 15 | 16 | screen_update(); 17 | set_cookie("url_cookie", page_url, 1); 18 | 19 | $("div#screen").fadeIn(1000); 20 | $("div#footer").show(); 21 | 22 | $("a#link").removeAttr("href"); 23 | 24 | // Seasons 25 | 26 | // $("a#season_" + current_season).css("color", "white"); 27 | // $("div.video_thumbnail_season").hide(); 28 | // $("div#video_thumbnail_season_" + current_season).show(); 29 | 30 | // if (window.innerWidth < trigger_width) 31 | // $("a#season_" + current_season).css("color", "white"); 32 | 33 | // Buttons 34 | 35 | $("img.donation").jrumble({x:0, y:0, rotation:10}); 36 | 37 | if (crowdfunding_url != "") { 38 | $("img#crowdfunding").show(); 39 | $("a#crowdfunding").attr("href", crowdfunding_url); 40 | } 41 | 42 | if (content_id == "irrintzina_le_cri_de_la_generation_climat") 43 | $("img#crowdfunding").attr("src", "/img/icons/button/helloasso.png"); 44 | 45 | if (content_id == "je_suis_contradictoire") 46 | $("img#crowdfunding").attr("src", "/img/icons/button/ulule.png"); 47 | 48 | 49 | $("img#content_favorite, img#content_reco, img#content_later").show(); 50 | 51 | if (is_content_favorite == "1") { 52 | $("img#content_favorite").css("opacity", "0.2"); 53 | if (window.innerWidth < trigger_width) $("img#heart_mobile").show(); 54 | if (window.innerWidth > trigger_width) $("img#heart_pc").show(); 55 | } 56 | 57 | if (is_content_later == "1") { 58 | $("img#content_later").css("opacity", "0.2"); 59 | if (window.innerWidth < trigger_width) $("img#time_mobile").show(); 60 | if (window.innerWidth > trigger_width) $("img#time_pc").show(); 61 | } 62 | 63 | if (is_content_reco == "1") { 64 | $("img#content_reco").css("opacity", "0.2"); 65 | if (window.innerWidth < trigger_width) $("img#medal_mobile").show(); 66 | if (window.innerWidth > trigger_width) $("img#medal_pc").show(); 67 | } 68 | 69 | // Thumbnails 70 | 71 | if (window.innerWidth > trigger_width) 72 | $("div.info_panorama, div.info_portrait, div.info_squared").hide(); 73 | 74 | if (type_id == "shortfilm") 75 | if (window.innerWidth < trigger_width) 76 | $("section#information").css("margin-top", "70vw") 77 | 78 | 79 | set_mosaic_mode(); 80 | 81 | // listen mouse over, scroll and resize 82 | 83 | listen_author(); 84 | listen_category(); 85 | listen_producer(); 86 | listen_my_contents(); 87 | listen_buttons(); 88 | 89 | // listen_seasons_buttons(); 90 | // listen_display_mode(format); 91 | 92 | listen_container(); 93 | listen_content_thumbnail(comment_list); 94 | 95 | addEventListener("resize", screen_update, false); 96 | addEventListener("scroll", screen_update, false); 97 | 98 | if (episod_id != "") 99 | launch_player("first", type_id, content_id, section_id, episod_id); 100 | } 101 | 102 | 103 | /********************************************** RESIZE *********************************************/ 104 | 105 | function screen_update() { 106 | 107 | close_menu_and_user(); 108 | 109 | if (window.innerWidth > trigger_width) 110 | screen_scroll(); 111 | else 112 | move_element("img.cover_image", 0.15, 0.5); 113 | }; 114 | 115 | 116 | /********************************************** SCROLL *********************************************/ 117 | 118 | function screen_scroll() { 119 | 120 | trigger_1 = 0; speed_1 = 0.03 * window.innerWidth; 121 | trigger_2 = 0.06 * window.innerWidth; speed_2 = 0.04 * window.innerWidth; 122 | trigger_3 = 0.12 * window.innerWidth; speed_3 = 0.06 * window.innerWidth; 123 | trigger_4 = 0.20 * window.innerWidth; speed_4 = 0.06 * window.innerWidth; 124 | 125 | image_opacity_1 = Math.max(0, (Math.min(1, 1 - (window.scrollY - trigger_1) / speed_1))); 126 | image_opacity_2 = Math.max(0, (Math.min(1, 1 - (window.scrollY - trigger_2) / speed_2))); 127 | image_opacity_3 = Math.max(0, (Math.min(1, 1 - (window.scrollY - trigger_3) / speed_3))); 128 | image_opacity_4 = Math.max(0, (Math.min(1, 1 - (window.scrollY - trigger_4) / speed_4))); 129 | 130 | $("div#note_1, div#note_2, div#note_3").css("opacity", image_opacity_1); 131 | $("div.date, div.duration, div.category, div.info").css("opacity", image_opacity_2); 132 | $("div.description").css("opacity", image_opacity_3); 133 | $("a.author, h1.name, section#button_list").css("opacity", image_opacity_4); 134 | } 135 | 136 | -------------------------------------------------------------------------------- /lib/jquery.jrumble.1.3.js: -------------------------------------------------------------------------------- 1 | /* 2 | jRumble v1.3 - http://jackrugile.com/jrumble 3 | by Jack Rugile - http://jackrugile.com 4 | 5 | MIT License 6 | ----------------------------------------------------------------------------- 7 | Copyright (c) 2012 Jack Rugile, http://jackrugile.com 8 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 9 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 10 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 11 | */ 12 | 13 | (function($){ 14 | $.fn.jrumble = function(options){ 15 | 16 | /*========================================================*/ 17 | /* Options 18 | /*========================================================*/ 19 | var defaults = { 20 | x: 2, 21 | y: 2, 22 | rotation: 1, 23 | speed: 15, 24 | opacity: false, 25 | opacityMin: .5 26 | }, 27 | opt = $.extend(defaults, options); 28 | 29 | return this.each(function(){ 30 | 31 | /*========================================================*/ 32 | /* Variables 33 | /*========================================================*/ 34 | var $this = $(this), 35 | x = opt.x*2, 36 | y = opt.y*2, 37 | rot = opt.rotation*2, 38 | speed = (opt.speed === 0) ? 1 : opt.speed, 39 | opac = opt.opacity, 40 | opacm = opt.opacityMin, 41 | inline, 42 | interval; 43 | 44 | /*========================================================*/ 45 | /* Rumble Function 46 | /*========================================================*/ 47 | var rumbler = function(){ 48 | var rx = Math.floor(Math.random() * (x+1)) -x/2, 49 | ry = Math.floor(Math.random() * (y+1)) -y/2, 50 | rrot = Math.floor(Math.random() * (rot+1)) -rot/2, 51 | ropac = opac ? Math.random() + opacm : 1; 52 | 53 | /*========================================================*/ 54 | /* Ensure Movement From Original Position 55 | /*========================================================*/ 56 | rx = (rx === 0 && x !== 0) ? ((Math.random() < .5) ? 1 : -1) : rx; 57 | ry = (ry === 0 && y !== 0) ? ((Math.random() < .5) ? 1 : -1) : ry; 58 | 59 | /*========================================================*/ 60 | /* Check Inline 61 | /*========================================================*/ 62 | if($this.css('display') === 'inline'){ 63 | inline = true; 64 | $this.css('display', 'inline-block'); 65 | } 66 | 67 | /*========================================================*/ 68 | /* Rumble Element 69 | /*========================================================*/ 70 | $this.css({ 71 | 'position':'relative', 72 | 'left':rx+'px', 73 | 'top':ry+'px', 74 | '-ms-filter':'progid:DXImageTransform.Microsoft.Alpha(Opacity='+ropac*100+')', 75 | 'filter':'alpha(opacity='+ropac*100+')', 76 | '-moz-opacity':ropac, 77 | '-khtml-opacity':ropac, 78 | 'opacity':ropac, 79 | '-webkit-transform':'rotate('+rrot+'deg)', 80 | '-moz-transform':'rotate('+rrot+'deg)', 81 | '-ms-transform':'rotate('+rrot+'deg)', 82 | '-o-transform':'rotate('+rrot+'deg)', 83 | 'transform':'rotate('+rrot+'deg)' 84 | }); 85 | }; 86 | 87 | /*========================================================*/ 88 | /* Rumble CSS Reset 89 | /*========================================================*/ 90 | var reset = { 91 | 'left':0, 92 | 'top':0, 93 | '-ms-filter':'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)', 94 | 'filter':'alpha(opacity=100)', 95 | '-moz-opacity':1, 96 | '-khtml-opacity':1, 97 | 'opacity':1, 98 | '-webkit-transform':'rotate(0deg)', 99 | '-moz-transform':'rotate(0deg)', 100 | '-ms-transform':'rotate(0deg)', 101 | '-o-transform':'rotate(0deg)', 102 | 'transform':'rotate(0deg)' 103 | }; 104 | 105 | /*========================================================*/ 106 | /* Rumble Start/Stop Trigger 107 | /*========================================================*/ 108 | $this.bind({ 109 | 'startRumble': function(e){ 110 | e.stopPropagation(); 111 | clearInterval(interval); 112 | interval = setInterval(rumbler, speed) 113 | }, 114 | 'stopRumble': function(e){ 115 | e.stopPropagation(); 116 | clearInterval(interval); 117 | if(inline){ 118 | $this.css('display', 'inline'); 119 | } 120 | $this.css(reset); 121 | } 122 | }); 123 | 124 | });// End return this.each 125 | };// End $.fn.jrumble 126 | })(jQuery); -------------------------------------------------------------------------------- /js/lib/jquery.jrumble.1.3.js: -------------------------------------------------------------------------------- 1 | /* 2 | jRumble v1.3 - http://jackrugile.com/jrumble 3 | by Jack Rugile - http://jackrugile.com 4 | 5 | MIT License 6 | ----------------------------------------------------------------------------- 7 | Copyright (c) 2012 Jack Rugile, http://jackrugile.com 8 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 9 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 10 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 11 | */ 12 | 13 | (function($){ 14 | $.fn.jrumble = function(options){ 15 | 16 | /*========================================================*/ 17 | /* Options 18 | /*========================================================*/ 19 | var defaults = { 20 | x: 2, 21 | y: 2, 22 | rotation: 1, 23 | speed: 15, 24 | opacity: false, 25 | opacityMin: .5 26 | }, 27 | opt = $.extend(defaults, options); 28 | 29 | return this.each(function(){ 30 | 31 | /*========================================================*/ 32 | /* Variables 33 | /*========================================================*/ 34 | var $this = $(this), 35 | x = opt.x*2, 36 | y = opt.y*2, 37 | rot = opt.rotation*2, 38 | speed = (opt.speed === 0) ? 1 : opt.speed, 39 | opac = opt.opacity, 40 | opacm = opt.opacityMin, 41 | inline, 42 | interval; 43 | 44 | /*========================================================*/ 45 | /* Rumble Function 46 | /*========================================================*/ 47 | var rumbler = function(){ 48 | var rx = Math.floor(Math.random() * (x+1)) -x/2, 49 | ry = Math.floor(Math.random() * (y+1)) -y/2, 50 | rrot = Math.floor(Math.random() * (rot+1)) -rot/2, 51 | ropac = opac ? Math.random() + opacm : 1; 52 | 53 | /*========================================================*/ 54 | /* Ensure Movement From Original Position 55 | /*========================================================*/ 56 | rx = (rx === 0 && x !== 0) ? ((Math.random() < .5) ? 1 : -1) : rx; 57 | ry = (ry === 0 && y !== 0) ? ((Math.random() < .5) ? 1 : -1) : ry; 58 | 59 | /*========================================================*/ 60 | /* Check Inline 61 | /*========================================================*/ 62 | if($this.css('display') === 'inline'){ 63 | inline = true; 64 | $this.css('display', 'inline-block'); 65 | } 66 | 67 | /*========================================================*/ 68 | /* Rumble Element 69 | /*========================================================*/ 70 | $this.css({ 71 | 'position':'relative', 72 | 'left':rx+'px', 73 | 'top':ry+'px', 74 | '-ms-filter':'progid:DXImageTransform.Microsoft.Alpha(Opacity='+ropac*100+')', 75 | 'filter':'alpha(opacity='+ropac*100+')', 76 | '-moz-opacity':ropac, 77 | '-khtml-opacity':ropac, 78 | 'opacity':ropac, 79 | '-webkit-transform':'rotate('+rrot+'deg)', 80 | '-moz-transform':'rotate('+rrot+'deg)', 81 | '-ms-transform':'rotate('+rrot+'deg)', 82 | '-o-transform':'rotate('+rrot+'deg)', 83 | 'transform':'rotate('+rrot+'deg)' 84 | }); 85 | }; 86 | 87 | /*========================================================*/ 88 | /* Rumble CSS Reset 89 | /*========================================================*/ 90 | var reset = { 91 | 'left':0, 92 | 'top':0, 93 | '-ms-filter':'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)', 94 | 'filter':'alpha(opacity=100)', 95 | '-moz-opacity':1, 96 | '-khtml-opacity':1, 97 | 'opacity':1, 98 | '-webkit-transform':'rotate(0deg)', 99 | '-moz-transform':'rotate(0deg)', 100 | '-ms-transform':'rotate(0deg)', 101 | '-o-transform':'rotate(0deg)', 102 | 'transform':'rotate(0deg)' 103 | }; 104 | 105 | /*========================================================*/ 106 | /* Rumble Start/Stop Trigger 107 | /*========================================================*/ 108 | $this.bind({ 109 | 'startRumble': function(e){ 110 | e.stopPropagation(); 111 | clearInterval(interval); 112 | interval = setInterval(rumbler, speed) 113 | }, 114 | 'stopRumble': function(e){ 115 | e.stopPropagation(); 116 | clearInterval(interval); 117 | if(inline){ 118 | $this.css('display', 'inline'); 119 | } 120 | $this.css(reset); 121 | } 122 | }); 123 | 124 | });// End return this.each 125 | };// End $.fn.jrumble 126 | })(jQuery); -------------------------------------------------------------------------------- /php/block/player.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 |
8 | 9 | 10 | # 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 33 | 34 | 35 | 36 |
37 | 38 | 39 | 40 |
41 | 42 | 43 | 44 | 45 | 46 | 47 | 50 | 51 | 52 | 80 | 81 |
82 | 83 | 84 |
85 | < /> intégrer 86 | 87 | copier 88 |
89 | 90 | 91 |
92 | 93 | 94 | 95 | 96 | 97 | 98 | se connecter 99 | publier 100 | modifier 101 | supprimer 102 | 103 | 104 |
105 | 106 |
107 | 108 | 109 | 110 |
111 | Ce film vous est offert par fokus21, un don est possible sur 112 | 113 | 114 | 115 | 116 |
117 | 118 |
119 | 120 | 121 | 122 | 123 | 139 | -------------------------------------------------------------------------------- /php/block/menu.php: -------------------------------------------------------------------------------- 1 | 2 | 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /html/manifeste.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 |

Imago a été très largement inspiré par Wikipédia et les écrits de ses créateurs relatifs au libre accès à l'information. Parmi ces créateurs, Aaron Swartz fut certainement l'une des figures les plus remarquables. Enfant précoce, Aaron Swartz savait écrire à 3 ans et coder à 8 ans. A 12 ans il créait seul "The Info Network", l'ancêtre de Wikipédia. A 14 ans, il co-créait le flux RSS, à 15 ans, il co-créait les Creative Commons (les Licences Libres) avec Larry Lessig, et à 19 ans, il co-créait Reddit et... Wikipédia.

6 | 7 |

Militant acharné de l'internet libre et du libre accès à l'information, Aaron Swartz fut l'auteur en juillet 2008 d'un manifeste qui est encore aujourd'hui considéré par les militants libristes comme un texte fondateur.

8 | 9 |

Nous vous en proposons ici la lecture.

10 | 11 |

Découvrez aussi l'histoire d'Aaron Swartz dans le magnifique documentaire réalisé sur lui.

12 | 13 |
14 |
15 | 16 |
17 | Manifeste de la guérilla pour le libre accès 18 |
19 | 20 |

L’information, c’est le pouvoir. Mais comme pour tout pouvoir, il y a ceux qui veulent le garder pour eux. Le patrimoine culturel et scientifique mondial, publié depuis plusieurs siècles dans les livres et les revues, est de plus en plus souvent numérisé puis verrouillé par une poignée d’entreprises privées. Vous voulez lire les articles présentant les plus célèbres résultats scientifiques ? Il vous faudra payer de grosses sommes à des éditeurs comme Reed Elsevier.

21 | 22 |

Et il y a ceux qui luttent pour que cela change. Le mouvement pour le libre accès s’est vaillamment battu pour s’assurer que les scientifiques ne mettent pas toutes leurs publications sous copyright et s’assurer plutôt que leurs travaux seront publiés sur Internet sous des conditions qui en permettent l’accès à tous. Mais, même dans le scénario le plus optimiste, la politique de libre accès ne concerne que les publications futures. Tout ce qui a été fait jusqu’à présent est perdu.

23 | 24 |

C’est trop cher payé. Contraindre les universitaires à débourser de l’argent pour lire le travail de leurs collègues ? Numériser des bibliothèques entières mais ne permettre qu’aux gens de chez Google de les lire ? Fournir des articles scientifiques aux chercheurs des plus grandes universités des pays riches, mais pas aux enfants des pays du Sud ? C’est scandaleux et inacceptable.

25 | 26 |

Nombreux sont ceux qui disent : « Je suis d’accord mais que peut-on y faire ? Les entreprises possèdent les droits de reproduction de ces documents, elles gagnent énormément d’argent en faisant payer l’accès, et c’est parfaitement légal, il n’y a rien que l’on puisse faire pour les en empêcher. » Mais si, on peut faire quelque chose, ce qu’on est déjà en train de faire : riposter.

27 | 28 |

Vous qui avez accès à ces ressources, étudiants, bibliothécaires, scientifiques, on vous a donné un privilège. Vous pouvez vous nourrir au banquet de la connaissance pendant que le reste du monde en est exclu. Mais vous n’êtes pas obligés (moralement, vous n’en avez même pas le droit) de conserver ce privilège pour vous seuls. Il est de votre devoir de le partager avec le monde. Et c’est ce que vous avez fait : en échangeant vos mots de passe avec vos collègues, en remplissant des formulaires de téléchargement pour vos amis.

29 | 30 |

Pendant ce temps, ceux qui ont été écartés de ce festin n’attendent pas sans rien faire. Vous vous êtes faufilés dans les brèches et avez escaladé les barrières, libérant l’information verrouillée par les éditeurs pour la partager avec vos amis.

31 | 32 |

Mais toutes ces actions se déroulent dans l’ombre, de façon souterraine. On les qualifie de « vol » ou bien de « piratage », comme si partager une abondance de connaissances était moralement équivalent à l’abordage d’un vaisseau et au meurtre de son équipage. Mais le partage n’est pas immoral, c’est un impératif moral. Seuls ceux qu’aveugle la cupidité refusent une copie à leurs amis.

33 | 34 |

Les grandes multinationales, bien sûr, sont aveuglées par la cupidité. Les lois qui les gouvernent l’exigent, leurs actionnaires se révolteraient à la moindre occasion. Et les politiciens qu’elles ont achetés les soutiennent en votant des lois qui leur donnent le pouvoir exclusif de décider qui est en droit de faire des copies.

35 | 36 |

La justice ne consiste pas à se soumettre à des lois injustes. Il est temps de sortir de l’ombre et, dans la grande tradition de la désobéissance civile, d’affirmer notre opposition à la confiscation criminelle de la culture publique.

37 | 38 |

Nous avons besoin de récolter l’information où qu’elle soit stockée, d’en faire des copies et de la partager avec le monde. Nous devons nous emparer du domaine public et l’ajouter aux archives. Nous devons acheter des bases de données secrètes et les mettre sur le Web. Nous devons télécharger des revues scientifiques et les poster sur des réseaux de partage de fichiers. Nous devons mener le combat de la guérilla pour le libre accès.

39 | 40 |

Lorsque nous serons assez nombreux de par le monde, nous n’enverrons pas seulement un puissant message d’opposition à la privatisation de la connaissance : nous ferons en sorte que cette privatisation appartienne au passé. Serez-vous des nôtres ?

41 | 42 |

Aaron Swartz, juillet 2008 ( source)

43 | 44 |
45 |
46 | -------------------------------------------------------------------------------- /js/block/information_v111.js: -------------------------------------------------------------------------------- 1 | 2 | /*********************************************** CONTENT ***********************************************/ 3 | 4 | function listen_name() { 5 | 6 | // Listen mouse over 7 | 8 | $("a.name").hover(function() { 9 | $(this).css("cursor","pointer"); 10 | },function() { 11 | $(this).css("cursor","auto"); 12 | }); 13 | 14 | // Listen click on 15 | 16 | $("a.name").click(function() { 17 | open("/admin/content_form.php?content_id=" + content_id); 18 | }); 19 | } 20 | 21 | function listen_author() { 22 | 23 | // Listen mouse over 24 | 25 | $("img.author_image").hover(function() { 26 | $(this).css("cursor","pointer"); 27 | },function() { 28 | $(this).css("cursor","auto"); 29 | }); 30 | 31 | // Listen click on 32 | 33 | $("img.author_image").click(function() { 34 | var author_id = $(this).attr("src") 35 | author_id = author_id.split("img/author/thumbnail/")[1]; 36 | author_id = author_id.split(".")[0] 37 | 38 | go_to("/php/creator.php?type_id=author&creator_id=" + author_id); 39 | }); 40 | } 41 | 42 | function listen_category() { 43 | 44 | // Listen mouse over 45 | 46 | $("a.category").hover(function() { 47 | $(this).css("cursor","pointer"); 48 | $(this).css("color","white"); 49 | },function() { 50 | $(this).css("cursor","auto"); 51 | $(this).css("color","grey"); 52 | }); 53 | 54 | // Listen click on 55 | 56 | $("a.category").click(function() { 57 | var text = $(this).text(); 58 | text = text.replace(" ", ""); 59 | text = text.replace(" ", ""); 60 | category_tmp = category_id_of(text); 61 | 62 | go_to("/php/category.php?category_id=" + category_tmp); 63 | }); 64 | } 65 | 66 | function listen_producer() { 67 | 68 | // Listen mouse over 69 | 70 | $("a.data").hover(function() { 71 | 72 | if ($(this).text() != " non renseigné " && type_id == "documentary") { 73 | $(this).css("cursor","pointer"); 74 | $(this).css("color","white"); 75 | } 76 | },function() { 77 | $(this).css("cursor","auto"); 78 | $(this).css("color","grey"); 79 | }); 80 | } 81 | 82 | function listen_my_contents() { 83 | 84 | // Listen mouse over 85 | 86 | $("img.display").hover(function() { 87 | $(this).css("cursor","pointer"); 88 | },function() { 89 | $(this).css("cursor","auto"); 90 | }); 91 | 92 | // Listen click on 93 | 94 | $("img#episod_heart, img#heart_mobile, img#heart_pc").click(function() { 95 | go_to("/favoris") 96 | }); 97 | 98 | $("img#episod_time, img#time_mobile, img#time_pc").click(function() { 99 | go_to("/memos") 100 | }); 101 | 102 | $("img#episod_medal, img#medal_mobile, img#medal_pc").click(function() { 103 | go_to("/recommandations") 104 | }); 105 | } 106 | 107 | function listen_note() { 108 | 109 | // Listen mouse over 110 | 111 | $("div.note").hover(function() { 112 | $(this).css("cursor","pointer"); 113 | },function() { 114 | $(this).css("cursor","auto"); 115 | }); 116 | 117 | // Listen click on 118 | 119 | $("img.note_image").click(function() { 120 | var note_id = $(this).attr("id"); 121 | note_category = note_id.split("_")[1]; 122 | note_value[note_category] = note_id.split("_")[2]; 123 | 124 | // console.log("Je vote " + note_value[note_category] + " dans la catégorie " + note_category) 125 | 126 | if (note_category == 1) {note_trigger = note_1} 127 | if (note_category == 2) {note_trigger = note_2} 128 | if (note_category == 3) {note_trigger = note_3} 129 | 130 | for (index = 1; index <= 5; index++) { 131 | if (index <= note_value[note_category]) { 132 | $("img#note_" + note_category + "_" + index).attr("src", "../img/icons/notation/star_white.png") 133 | } 134 | else { 135 | if (index <= note_trigger) { 136 | $("img#note_" + note_category + "_" + index).attr("src", "../img/icons/notation/star_light_grey.png") 137 | } 138 | else { 139 | $("img#note_" + note_category + "_" + index).attr("src", "../img/icons/notation/star_grey.png") 140 | } 141 | } 142 | } 143 | 144 | $("a.set_note").show(); 145 | }); 146 | } 147 | 148 | function listen_note_setting() { 149 | 150 | $("a.set_note").hover(function() { 151 | $(this).css("cursor","pointer"); 152 | $(this).css("color","white"); 153 | },function() { 154 | $(this).css("cursor","auto"); 155 | $(this).css("color","grey"); 156 | }); 157 | 158 | $("a.set_note").click(function() { 159 | 160 | $.post("../php/functions/set_note.php", 161 | { 162 | type_id : type_id, 163 | content_id : content_id, 164 | note_1 : note_value[1], 165 | note_2 : note_value[2], 166 | note_3 : note_value[3] 167 | }, 168 | function(data, status){ 169 | // alert("Data: " + data + "\n Status: " + status); 170 | }); 171 | 172 | $("a.set_note").hide(); 173 | 174 | for (note_category_index = 1; note_category_index <= 3; note_category_index++) { 175 | for (index = 1; index <= 5; index++) { 176 | if (index <= note_value[note_category_index]) { 177 | $("img#note_" + note_category_index + "_" + index).attr("src", "../img/icons/notation/star_light_grey.png") 178 | } 179 | else { 180 | $("img#note_" + note_category_index + "_" + index).attr("src", "../img/icons/notation/star_grey.png") 181 | } 182 | } 183 | } 184 | }); 185 | } 186 | 187 | -------------------------------------------------------------------------------- /css/panorama/homepage_v111.css: -------------------------------------------------------------------------------- 1 | 2 | @media all and (min-width : 481px) { 3 | 4 | a.corner{ 5 | text-decoration : none; 6 | cursor : auto; 7 | } 8 | 9 | a.link { 10 | text-decoration : none; 11 | } 12 | 13 | a.folder:hover { 14 | color : white; 15 | } 16 | 17 | div.link { 18 | margin-top : 0.5vw; 19 | margin-left : 4.5vw; 20 | margin-bottom : 2vw; 21 | } 22 | 23 | img.one_tile { 24 | margin-top : 0.8vw; 25 | margin-left : 0.8vw; 26 | margin-right : 0.8vw; 27 | margin-bottom : 0.8vw; 28 | width : 90vw; 29 | 30 | box-shadow: 8px 8px 8px #000; 31 | 32 | -webkit-transition : all 0.2s ease; 33 | -moz-transition : 0.2s ease; 34 | -o-transition : all 0.2s ease; 35 | -ms-transition : all 0.2s ease; 36 | transition : all 0.2s ease; 37 | } 38 | 39 | img.one_tile:hover { 40 | box-shadow: 16px 16px 16px #000; 41 | 42 | -webkit-transform : scale(1.01); 43 | -moz-transform : scale(1.01); 44 | -ms-transform : scale(1.01); 45 | -o-transform : scale(1.01); 46 | transform : scale(1.01); 47 | } 48 | 49 | img.two_tiles { 50 | margin-top : 0.8vw; 51 | margin-left : 0.8vw; 52 | margin-right : 0.8vw; 53 | margin-bottom : 0.8vw; 54 | width : 44vw; 55 | 56 | box-shadow: 8px 8px 8px #000; 57 | 58 | -webkit-transition : all 0.2s ease; 59 | -moz-transition : 0.2s ease; 60 | -o-transition : all 0.2s ease; 61 | -ms-transition : all 0.2s ease; 62 | transition : all 0.2s ease; 63 | } 64 | 65 | img.two_tiles:hover { 66 | box-shadow: 16px 16px 16px #000; 67 | 68 | -webkit-transform : scale(1.02); 69 | -moz-transform : scale(1.02); 70 | -ms-transform : scale(1.02); 71 | -o-transform : scale(1.02); 72 | transform : scale(1.02); 73 | } 74 | 75 | img.three_tiles { 76 | margin-top : 0.8vw; 77 | margin-left : 0.6vw; 78 | margin-right : 0.6vw; 79 | margin-bottom : 0.8vw; 80 | width : 29vw; 81 | 82 | box-shadow: 8px 8px 8px #000; 83 | 84 | -webkit-transition : all 0.2s ease; 85 | -moz-transition : 0.2s ease; 86 | -o-transition : all 0.2s ease; 87 | -ms-transition : all 0.2s ease; 88 | transition : all 0.2s ease; 89 | } 90 | 91 | img.three_tiles:hover { 92 | box-shadow: 16px 16px 16px #000; 93 | 94 | -webkit-transform : scale(1.02); 95 | -moz-transform : scale(1.02); 96 | -ms-transform : scale(1.02); 97 | -o-transform : scale(1.02); 98 | transform : scale(1.02); 99 | } 100 | 101 | img.four_tiles { 102 | margin-top : 0.8vw; 103 | margin-left : 0.8vw; 104 | margin-right : 0.8vw; 105 | margin-bottom : 0.8vw; 106 | width : 21vw; 107 | 108 | box-shadow: 8px 8px 8px #000; 109 | 110 | -webkit-transition : all 0.2s ease; 111 | -moz-transition : 0.2s ease; 112 | -o-transition : all 0.2s ease; 113 | -ms-transition : all 0.2s ease; 114 | transition : all 0.2s ease; 115 | } 116 | 117 | img.four_tiles:hover { 118 | box-shadow: 16px 16px 16px #000; 119 | 120 | -webkit-transform : scale(1.05); 121 | -moz-transform : scale(1.05); 122 | -ms-transform : scale(1.05); 123 | -o-transform : scale(1.05); 124 | transform : scale(1.05); 125 | } 126 | 127 | img.no_display, a.no_display { 128 | display : none; 129 | } 130 | 131 | 132 | /************************************************ PLAYER ***********************************************/ 133 | 134 | section#live { 135 | height : 30vw; 136 | } 137 | 138 | div.live_player { 139 | background-color : orange; 140 | position : absolute; 141 | width : 100vw; 142 | } 143 | 144 | iframe.live_player { 145 | position : absolute; 146 | margin-top : 1vw; 147 | margin-left : 28vw; 148 | border : none; 149 | width : 43.2vw; 150 | height : 24.3vw; 151 | } 152 | 153 | 154 | /*********************************************** SLIDESHOW **********************************************/ 155 | 156 | /*div#slideshow_container { 157 | position : relative; 158 | display : flex; 159 | justify-content : center; 160 | padding-top : 1vw; 161 | margin-left : 31vw; 162 | padding-bottom : 0.5vw; 163 | width : 100%; 164 | } 165 | 166 | div.slideshow { 167 | display : flex; 168 | margin-top : 0.8vw; 169 | margin-left : 1.2vw; 170 | margin-right : 1.2vw; 171 | margin-bottom : 0.8vw; 172 | flex : 0 0 60vw; 173 | } 174 | 175 | div.slideshow_thumbnail_info { 176 | box-shadow : 5px 5px 5px #000; 177 | 178 | -webkit-transition : all 0.2s ease; 179 | -moz-transition : 0.2s ease; 180 | -o-transition : all 0.2s ease; 181 | -ms-transition : all 0.2s ease; 182 | transition : all 0.2s ease; 183 | } 184 | 185 | div.slideshow_thumbnail_info:hover { 186 | box-shadow : 10px 10px 5px #000; 187 | 188 | -webkit-transform : scale(1.02); 189 | -moz-transform : scale(1.02); 190 | -ms-transform : scale(1.02); 191 | -o-transform : scale(1.02); 192 | transform : scale(1.02); 193 | } 194 | 195 | img.slideshow { 196 | width : 100%; 197 | height : 100%; 198 | } 199 | 200 | div.slideshow_info { 201 | position : absolute; 202 | flex-direction : column; 203 | top : -4.2vw; 204 | left : -2.1vw; 205 | width : 100%; 206 | color : white; 207 | text-align : justify; 208 | } 209 | 210 | div.slideshow_info_line_1 { 211 | position : relative; 212 | padding-top : 0.8vw; 213 | padding-left : 1vw; 214 | padding-right : 1vw; 215 | padding-bottom : 0.5vw; 216 | margin-bottom : 7vw; 217 | } 218 | 219 | a.slideshow_line_1 { 220 | font-size : 2.2vw; 221 | } 222 | 223 | div.slideshow_info_line_2 { 224 | position : relative; 225 | margin-top : 18vw; 226 | padding-top : 1vw; 227 | padding-left : 1vw; 228 | padding-right : 1vw; 229 | padding-bottom : 1vw; 230 | } 231 | 232 | a.slideshow_line_2 { 233 | font-size : 1.2vw; 234 | } 235 | 236 | div.slideshow_pager_container { 237 | position : relative; 238 | display : flex; 239 | justify-content: center; 240 | margin-bottom : 1vw; 241 | } 242 | 243 | div.slideshow_pager{ 244 | background : rgb(60, 60, 60); 245 | border-radius : 50%; 246 | width : 0.8vw; 247 | height : 0.8vw; 248 | margin-left : 0.25vw; 249 | margin-right : 0.25vw; 250 | }*/ 251 | 252 | } 253 | --------------------------------------------------------------------------------