-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdb.sql
More file actions
2 lines (2 loc) · 130 KB
/
Copy pathdb.sql
File metadata and controls
2 lines (2 loc) · 130 KB
1
2
[WARNING: database "postgres" has no actual collation version, but a version was recorded
{"model": "admin.logentry", "pk": 1, "fields": {"action_time": "2023-09-08T16:32:29.679Z", "user": 1, "content_type": 8, "object_id": "5", "object_repr": "chatbot", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 2, "fields": {"action_time": "2023-09-08T16:32:29.682Z", "user": 1, "content_type": 8, "object_id": "4", "object_repr": "mind", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 3, "fields": {"action_time": "2023-09-08T16:32:29.684Z", "user": 1, "content_type": 8, "object_id": "2", "object_repr": "mobile", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 4, "fields": {"action_time": "2023-09-08T16:32:29.685Z", "user": 1, "content_type": 8, "object_id": "1", "object_repr": "coding", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 5, "fields": {"action_time": "2023-09-08T16:33:44.160Z", "user": 1, "content_type": 9, "object_id": "4", "object_repr": "Consommez des API Rest avec retrofit en Kotlin", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 6, "fields": {"action_time": "2023-09-08T16:33:44.162Z", "user": 1, "content_type": 9, "object_id": "3", "object_repr": "La passion", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 7, "fields": {"action_time": "2023-09-08T16:33:44.171Z", "user": 1, "content_type": 9, "object_id": "2", "object_repr": "Créer son bot telegram en python", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 8, "fields": {"action_time": "2023-09-08T16:33:44.174Z", "user": 1, "content_type": 9, "object_id": "1", "object_repr": "Comment choisir le bon langage de programmation pour débuter.", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 9, "fields": {"action_time": "2023-09-08T16:34:16.615Z", "user": 1, "content_type": 10, "object_id": "193", "object_repr": "Anzo", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 10, "fields": {"action_time": "2023-09-08T16:34:16.617Z", "user": 1, "content_type": 10, "object_id": "192", "object_repr": "Queen", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 11, "fields": {"action_time": "2023-09-08T16:34:16.618Z", "user": 1, "content_type": 10, "object_id": "191", "object_repr": "test", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 12, "fields": {"action_time": "2023-09-08T16:34:16.620Z", "user": 1, "content_type": 10, "object_id": "190", "object_repr": "Consuela", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 13, "fields": {"action_time": "2023-09-08T16:34:16.621Z", "user": 1, "content_type": 10, "object_id": "184", "object_repr": "Raphaël", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 14, "fields": {"action_time": "2023-09-08T16:34:16.622Z", "user": 1, "content_type": 10, "object_id": "181", "object_repr": "Romulus", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 15, "fields": {"action_time": "2023-09-08T16:34:16.624Z", "user": 1, "content_type": 10, "object_id": "180", "object_repr": "Ludwika", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 16, "fields": {"action_time": "2023-09-08T16:34:16.625Z", "user": 1, "content_type": 10, "object_id": "179", "object_repr": "Choukrane", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 17, "fields": {"action_time": "2023-09-08T16:34:16.626Z", "user": 1, "content_type": 10, "object_id": "178", "object_repr": "Samirath", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 18, "fields": {"action_time": "2023-09-08T16:34:16.627Z", "user": 1, "content_type": 10, "object_id": "176", "object_repr": "YAYA", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 19, "fields": {"action_time": "2023-09-08T16:34:16.628Z", "user": 1, "content_type": 10, "object_id": "175", "object_repr": "Rayane", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 20, "fields": {"action_time": "2023-09-08T16:34:16.629Z", "user": 1, "content_type": 10, "object_id": "174", "object_repr": "Aziz", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 21, "fields": {"action_time": "2023-09-08T16:34:16.630Z", "user": 1, "content_type": 10, "object_id": "173", "object_repr": "Fouzamer", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 22, "fields": {"action_time": "2023-09-08T16:34:16.632Z", "user": 1, "content_type": 10, "object_id": "172", "object_repr": "Rouma", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 23, "fields": {"action_time": "2023-09-08T16:34:16.634Z", "user": 1, "content_type": 10, "object_id": "171", "object_repr": "Vasthi", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 24, "fields": {"action_time": "2023-09-08T16:34:16.636Z", "user": 1, "content_type": 10, "object_id": "170", "object_repr": "Guy TGL", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 25, "fields": {"action_time": "2023-09-08T16:34:16.637Z", "user": 1, "content_type": 10, "object_id": "169", "object_repr": "Codou", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 26, "fields": {"action_time": "2023-09-08T16:34:16.638Z", "user": 1, "content_type": 10, "object_id": "168", "object_repr": "Marina", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 27, "fields": {"action_time": "2023-09-08T16:34:16.639Z", "user": 1, "content_type": 10, "object_id": "167", "object_repr": "Miss", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 28, "fields": {"action_time": "2023-09-08T16:34:16.640Z", "user": 1, "content_type": 10, "object_id": "166", "object_repr": "Sadi Henri Paraiso", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 29, "fields": {"action_time": "2023-09-08T16:34:16.642Z", "user": 1, "content_type": 10, "object_id": "165", "object_repr": "Sobour", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 30, "fields": {"action_time": "2023-09-08T16:34:16.643Z", "user": 1, "content_type": 10, "object_id": "163", "object_repr": "PoisoNels", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 31, "fields": {"action_time": "2023-09-08T16:34:16.644Z", "user": 1, "content_type": 10, "object_id": "162", "object_repr": "Gris", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 32, "fields": {"action_time": "2023-09-08T16:34:16.646Z", "user": 1, "content_type": 10, "object_id": "153", "object_repr": "Chakir", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 33, "fields": {"action_time": "2023-09-08T16:34:16.647Z", "user": 1, "content_type": 10, "object_id": "92", "object_repr": "Elrich", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 34, "fields": {"action_time": "2023-09-08T16:34:16.648Z", "user": 1, "content_type": 10, "object_id": "12", "object_repr": "PoisoNels", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 35, "fields": {"action_time": "2023-09-08T16:34:16.649Z", "user": 1, "content_type": 10, "object_id": "11", "object_repr": "Vincent DENAKPO", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 36, "fields": {"action_time": "2023-09-08T16:34:16.651Z", "user": 1, "content_type": 10, "object_id": "10", "object_repr": "Lesage", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 37, "fields": {"action_time": "2023-09-08T16:34:16.652Z", "user": 1, "content_type": 10, "object_id": "9", "object_repr": "Drissa", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 38, "fields": {"action_time": "2023-09-08T16:34:16.653Z", "user": 1, "content_type": 10, "object_id": "8", "object_repr": "Sessou ulrich", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 39, "fields": {"action_time": "2023-09-08T16:34:16.654Z", "user": 1, "content_type": 10, "object_id": "7", "object_repr": "PoisoNels", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 40, "fields": {"action_time": "2023-09-08T16:34:16.656Z", "user": 1, "content_type": 10, "object_id": "6", "object_repr": "Bouraïma Mouksite", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 41, "fields": {"action_time": "2023-09-08T16:34:16.657Z", "user": 1, "content_type": 10, "object_id": "5", "object_repr": "Offrin", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 42, "fields": {"action_time": "2023-09-08T16:34:16.658Z", "user": 1, "content_type": 10, "object_id": "4", "object_repr": "Sanni", "action_flag": 1, "change_message": "new through import_export"}}, {"model": "admin.logentry", "pk": 43, "fields": {"action_time": "2024-01-30T09:13:24.611Z", "user": 1, "content_type": 7, "object_id": "1", "object_repr": "Investing.tbot", "action_flag": 1, "change_message": "[{\"added\": {}}]"}}, {"model": "admin.logentry", "pk": 44, "fields": {"action_time": "2024-01-30T09:13:53.144Z", "user": 1, "content_type": 7, "object_id": "1", "object_repr": "Investing.tbot", "action_flag": 2, "change_message": "[{\"changed\": {\"fields\": [\"Slug\"]}}]"}}, {"model": "admin.logentry", "pk": 45, "fields": {"action_time": "2024-01-30T09:27:39.371Z", "user": 1, "content_type": 7, "object_id": "2", "object_repr": "Aircodes", "action_flag": 1, "change_message": "[{\"added\": {}}]"}}, {"model": "admin.logentry", "pk": 46, "fields": {"action_time": "2024-01-30T09:29:24.243Z", "user": 1, "content_type": 7, "object_id": "3", "object_repr": "Travel Nova", "action_flag": 1, "change_message": "[{\"added\": {}}]"}}, {"model": "admin.logentry", "pk": 47, "fields": {"action_time": "2024-01-30T09:30:57.596Z", "user": 1, "content_type": 7, "object_id": "4", "object_repr": "Quatro", "action_flag": 1, "change_message": "[{\"added\": {}}]"}}, {"model": "admin.logentry", "pk": 48, "fields": {"action_time": "2024-01-30T09:32:25.167Z", "user": 1, "content_type": 7, "object_id": "3", "object_repr": "Travel Nova", "action_flag": 2, "change_message": "[{\"changed\": {\"fields\": [\"Body\"]}}]"}}, {"model": "admin.logentry", "pk": 49, "fields": {"action_time": "2024-01-30T10:03:01.357Z", "user": 1, "content_type": 7, "object_id": "2", "object_repr": "Aircodes", "action_flag": 2, "change_message": "[{\"changed\": {\"fields\": [\"Logo\"]}}]"}}, {"model": "admin.logentry", "pk": 50, "fields": {"action_time": "2024-01-30T10:03:58.510Z", "user": 1, "content_type": 7, "object_id": "4", "object_repr": "Quatro", "action_flag": 2, "change_message": "[{\"changed\": {\"fields\": [\"Logo\"]}}]"}}, {"model": "admin.logentry", "pk": 51, "fields": {"action_time": "2024-01-30T10:17:09.541Z", "user": 1, "content_type": 7, "object_id": "1", "object_repr": "Investing.tbot", "action_flag": 2, "change_message": "[{\"changed\": {\"fields\": [\"Logo\"]}}]"}}, {"model": "admin.logentry", "pk": 52, "fields": {"action_time": "2024-01-30T10:18:21.729Z", "user": 1, "content_type": 7, "object_id": "2", "object_repr": "Aircodes", "action_flag": 2, "change_message": "[{\"changed\": {\"fields\": [\"Logo\"]}}]"}}, {"model": "admin.logentry", "pk": 53, "fields": {"action_time": "2024-01-30T10:20:24.379Z", "user": 1, "content_type": 7, "object_id": "2", "object_repr": "Aircodes", "action_flag": 2, "change_message": "[{\"changed\": {\"fields\": [\"Logo\"]}}]"}}, {"model": "admin.logentry", "pk": 54, "fields": {"action_time": "2024-01-30T10:30:09.583Z", "user": 1, "content_type": 7, "object_id": "2", "object_repr": "Aircodes", "action_flag": 2, "change_message": "[{\"changed\": {\"fields\": [\"Logo\"]}}]"}}, {"model": "admin.logentry", "pk": 55, "fields": {"action_time": "2024-01-30T10:32:11.659Z", "user": 1, "content_type": 7, "object_id": "1", "object_repr": "Investing.tbot", "action_flag": 2, "change_message": "[{\"changed\": {\"fields\": [\"Banner\"]}}]"}}, {"model": "admin.logentry", "pk": 56, "fields": {"action_time": "2024-01-30T10:32:43.828Z", "user": 1, "content_type": 7, "object_id": "2", "object_repr": "Aircodes", "action_flag": 2, "change_message": "[{\"changed\": {\"fields\": [\"Banner\"]}}]"}}, {"model": "admin.logentry", "pk": 57, "fields": {"action_time": "2024-07-24T23:54:35.250Z", "user": 1, "content_type": 9, "object_id": "5", "object_repr": "Quelle époque formidable !?", "action_flag": 1, "change_message": "[{\"added\": {}}]"}}, {"model": "admin.logentry", "pk": 58, "fields": {"action_time": "2024-07-24T23:56:36.819Z", "user": 1, "content_type": 9, "object_id": "5", "object_repr": "Quelle époque formidable !?", "action_flag": 2, "change_message": "[{\"changed\": {\"fields\": [\"Post\"]}}]"}}, {"model": "admin.logentry", "pk": 59, "fields": {"action_time": "2024-07-24T23:59:19.686Z", "user": 1, "content_type": 9, "object_id": "5", "object_repr": "Quelle époque formidable !?", "action_flag": 2, "change_message": "[{\"changed\": {\"fields\": [\"Post\"]}}]"}}, {"model": "admin.logentry", "pk": 60, "fields": {"action_time": "2024-07-25T00:36:51.168Z", "user": 1, "content_type": 9, "object_id": "5", "object_repr": "Quelle époque formidable !?", "action_flag": 2, "change_message": "[{\"changed\": {\"fields\": [\"Post\"]}}]"}}, {"model": "auth.permission", "pk": 1, "fields": {"name": "Can add log entry", "content_type": 1, "codename": "add_logentry"}}, {"model": "auth.permission", "pk": 2, "fields": {"name": "Can change log entry", "content_type": 1, "codename": "change_logentry"}}, {"model": "auth.permission", "pk": 3, "fields": {"name": "Can delete log entry", "content_type": 1, "codename": "delete_logentry"}}, {"model": "auth.permission", "pk": 4, "fields": {"name": "Can view log entry", "content_type": 1, "codename": "view_logentry"}}, {"model": "auth.permission", "pk": 5, "fields": {"name": "Can add permission", "content_type": 2, "codename": "add_permission"}}, {"model": "auth.permission", "pk": 6, "fields": {"name": "Can change permission", "content_type": 2, "codename": "change_permission"}}, {"model": "auth.permission", "pk": 7, "fields": {"name": "Can delete permission", "content_type": 2, "codename": "delete_permission"}}, {"model": "auth.permission", "pk": 8, "fields": {"name": "Can view permission", "content_type": 2, "codename": "view_permission"}}, {"model": "auth.permission", "pk": 9, "fields": {"name": "Can add group", "content_type": 3, "codename": "add_group"}}, {"model": "auth.permission", "pk": 10, "fields": {"name": "Can change group", "content_type": 3, "codename": "change_group"}}, {"model": "auth.permission", "pk": 11, "fields": {"name": "Can delete group", "content_type": 3, "codename": "delete_group"}}, {"model": "auth.permission", "pk": 12, "fields": {"name": "Can view group", "content_type": 3, "codename": "view_group"}}, {"model": "auth.permission", "pk": 13, "fields": {"name": "Can add user", "content_type": 4, "codename": "add_user"}}, {"model": "auth.permission", "pk": 14, "fields": {"name": "Can change user", "content_type": 4, "codename": "change_user"}}, {"model": "auth.permission", "pk": 15, "fields": {"name": "Can delete user", "content_type": 4, "codename": "delete_user"}}, {"model": "auth.permission", "pk": 16, "fields": {"name": "Can view user", "content_type": 4, "codename": "view_user"}}, {"model": "auth.permission", "pk": 17, "fields": {"name": "Can add content type", "content_type": 5, "codename": "add_contenttype"}}, {"model": "auth.permission", "pk": 18, "fields": {"name": "Can change content type", "content_type": 5, "codename": "change_contenttype"}}, {"model": "auth.permission", "pk": 19, "fields": {"name": "Can delete content type", "content_type": 5, "codename": "delete_contenttype"}}, {"model": "auth.permission", "pk": 20, "fields": {"name": "Can view content type", "content_type": 5, "codename": "view_contenttype"}}, {"model": "auth.permission", "pk": 21, "fields": {"name": "Can add session", "content_type": 6, "codename": "add_session"}}, {"model": "auth.permission", "pk": 22, "fields": {"name": "Can change session", "content_type": 6, "codename": "change_session"}}, {"model": "auth.permission", "pk": 23, "fields": {"name": "Can delete session", "content_type": 6, "codename": "delete_session"}}, {"model": "auth.permission", "pk": 24, "fields": {"name": "Can view session", "content_type": 6, "codename": "view_session"}}, {"model": "auth.permission", "pk": 25, "fields": {"name": "Can add work", "content_type": 7, "codename": "add_work"}}, {"model": "auth.permission", "pk": 26, "fields": {"name": "Can change work", "content_type": 7, "codename": "change_work"}}, {"model": "auth.permission", "pk": 27, "fields": {"name": "Can delete work", "content_type": 7, "codename": "delete_work"}}, {"model": "auth.permission", "pk": 28, "fields": {"name": "Can view work", "content_type": 7, "codename": "view_work"}}, {"model": "auth.permission", "pk": 29, "fields": {"name": "Can add category", "content_type": 8, "codename": "add_category"}}, {"model": "auth.permission", "pk": 30, "fields": {"name": "Can change category", "content_type": 8, "codename": "change_category"}}, {"model": "auth.permission", "pk": 31, "fields": {"name": "Can delete category", "content_type": 8, "codename": "delete_category"}}, {"model": "auth.permission", "pk": 32, "fields": {"name": "Can view category", "content_type": 8, "codename": "view_category"}}, {"model": "auth.permission", "pk": 33, "fields": {"name": "Can add post", "content_type": 9, "codename": "add_post"}}, {"model": "auth.permission", "pk": 34, "fields": {"name": "Can change post", "content_type": 9, "codename": "change_post"}}, {"model": "auth.permission", "pk": 35, "fields": {"name": "Can delete post", "content_type": 9, "codename": "delete_post"}}, {"model": "auth.permission", "pk": 36, "fields": {"name": "Can view post", "content_type": 9, "codename": "view_post"}}, {"model": "auth.permission", "pk": 37, "fields": {"name": "Can add comment", "content_type": 10, "codename": "add_comment"}}, {"model": "auth.permission", "pk": 38, "fields": {"name": "Can change comment", "content_type": 10, "codename": "change_comment"}}, {"model": "auth.permission", "pk": 39, "fields": {"name": "Can delete comment", "content_type": 10, "codename": "delete_comment"}}, {"model": "auth.permission", "pk": 40, "fields": {"name": "Can view comment", "content_type": 10, "codename": "view_comment"}}, {"model": "auth.permission", "pk": 41, "fields": {"name": "Can add message", "content_type": 11, "codename": "add_message"}}, {"model": "auth.permission", "pk": 42, "fields": {"name": "Can change message", "content_type": 11, "codename": "change_message"}}, {"model": "auth.permission", "pk": 43, "fields": {"name": "Can delete message", "content_type": 11, "codename": "delete_message"}}, {"model": "auth.permission", "pk": 44, "fields": {"name": "Can view message", "content_type": 11, "codename": "view_message"}}, {"model": "auth.permission", "pk": 45, "fields": {"name": "Can add Token", "content_type": 12, "codename": "add_token"}}, {"model": "auth.permission", "pk": 46, "fields": {"name": "Can change Token", "content_type": 12, "codename": "change_token"}}, {"model": "auth.permission", "pk": 47, "fields": {"name": "Can delete Token", "content_type": 12, "codename": "delete_token"}}, {"model": "auth.permission", "pk": 48, "fields": {"name": "Can view Token", "content_type": 12, "codename": "view_token"}}, {"model": "auth.permission", "pk": 49, "fields": {"name": "Can add token", "content_type": 13, "codename": "add_tokenproxy"}}, {"model": "auth.permission", "pk": 50, "fields": {"name": "Can change token", "content_type": 13, "codename": "change_tokenproxy"}}, {"model": "auth.permission", "pk": 51, "fields": {"name": "Can delete token", "content_type": 13, "codename": "delete_tokenproxy"}}, {"model": "auth.permission", "pk": 52, "fields": {"name": "Can view token", "content_type": 13, "codename": "view_tokenproxy"}}, {"model": "auth.user", "pk": 1, "fields": {"password": "pbkdf2_sha256$260000$AAzTEL7xitzpTU3VuMV2HK$g3oukRdcFzgUWJ/m2dPU2vdjCZ17qqtRHNJBRkLp2hc=", "last_login": "2024-09-29T23:01:47.086Z", "is_superuser": true, "username": "abiodoun", "first_name": "", "last_name": "", "email": "contact@abiodoun.dev", "is_staff": true, "is_active": true, "date_joined": "2023-09-08T15:10:51.768Z", "groups": [], "user_permissions": []}}, {"model": "contenttypes.contenttype", "pk": 1, "fields": {"app_label": "admin", "model": "logentry"}}, {"model": "contenttypes.contenttype", "pk": 2, "fields": {"app_label": "auth", "model": "permission"}}, {"model": "contenttypes.contenttype", "pk": 3, "fields": {"app_label": "auth", "model": "group"}}, {"model": "contenttypes.contenttype", "pk": 4, "fields": {"app_label": "auth", "model": "user"}}, {"model": "contenttypes.contenttype", "pk": 5, "fields": {"app_label": "contenttypes", "model": "contenttype"}}, {"model": "contenttypes.contenttype", "pk": 6, "fields": {"app_label": "sessions", "model": "session"}}, {"model": "contenttypes.contenttype", "pk": 7, "fields": {"app_label": "work", "model": "work"}}, {"model": "contenttypes.contenttype", "pk": 8, "fields": {"app_label": "blog", "model": "category"}}, {"model": "contenttypes.contenttype", "pk": 9, "fields": {"app_label": "blog", "model": "post"}}, {"model": "contenttypes.contenttype", "pk": 10, "fields": {"app_label": "blog", "model": "comment"}}, {"model": "contenttypes.contenttype", "pk": 11, "fields": {"app_label": "message", "model": "message"}}, {"model": "contenttypes.contenttype", "pk": 12, "fields": {"app_label": "authtoken", "model": "token"}}, {"model": "contenttypes.contenttype", "pk": 13, "fields": {"app_label": "authtoken", "model": "tokenproxy"}}, {"model": "sessions.session", "pk": "0v8ar06xxlp1d431mox8vhxq44laqldo", "fields": {"session_data": ".eJxVjMEOwiAQRP-FsyFQSgGP3vsNZJddpGpKUtqT8d9tkx70OPPezFtE2NYSt8ZLnEhchRaX3w4hPXk-AD1gvleZ6rwuE8pDkSdtcqzEr9vp_h0UaGVfd8oNAGzY64QhoLaUPTmHViH2mjMOwYQ9d73TbFMGgs6rhMaQgWTF5wv03DiL:1qed8O:uIwosV6cIehBP9PcydiIal6AYReHXZgTTT57AKnRVD8", "expire_date": "2023-09-22T15:11:00.788Z"}}, {"model": "sessions.session", "pk": "2h2k2rq7soi18kw1p4rz6mzy3al1cseu", "fields": {"session_data": ".eJxVjMEOwiAQRP-FsyFQSgGP3vsNZJddpGpKUtqT8d9tkx70OPPezFtE2NYSt8ZLnEhchRaX3w4hPXk-AD1gvleZ6rwuE8pDkSdtcqzEr9vp_h0UaGVfd8oNAGzY64QhoLaUPTmHViH2mjMOwYQ9d73TbFMGgs6rhMaQgWTF5wv03DiL:1seO5I:M32PFiVRZcoPAipWe3Kq5K36i0ZYzls8GbvTcCS6W6k", "expire_date": "2024-08-29T00:11:20.141Z"}}, {"model": "sessions.session", "pk": "2rjr9wxs89lxyc8t73mss9ecbgbwbmh0", "fields": {"session_data": ".eJxVjMEOwiAQRP-FsyFQSgGP3vsNZJddpGpKUtqT8d9tkx70OPPezFtE2NYSt8ZLnEhchRaX3w4hPXk-AD1gvleZ6rwuE8pDkSdtcqzEr9vp_h0UaGVfd8oNAGzY64QhoLaUPTmHViH2mjMOwYQ9d73TbFMGgs6rhMaQgWTF5wv03DiL:1sWkso:q6YNEwvhFnfd2MTdcM6XBUP_FpgwGE1OZiyhZUKFpxM", "expire_date": "2024-08-07T22:54:54.511Z"}}, {"model": "sessions.session", "pk": "5irjyj58l0yl6pzs8eshi4totl8hgu4x", "fields": {"session_data": ".eJxVjMEOwiAQRP-FsyFQSgGP3vsNZJddpGpKUtqT8d9tkx70OPPezFtE2NYSt8ZLnEhchRaX3w4hPXk-AD1gvleZ6rwuE8pDkSdtcqzEr9vp_h0UaGVfd8oNAGzY64QhoLaUPTmHViH2mjMOwYQ9d73TbFMGgs6rhMaQgWTF5wv03DiL:1rUCQl:2LM36uHPXH0Pti6jp8asRiMNmQk4RGBC6t_YpeCBvr8", "expire_date": "2024-02-11T21:11:07.425Z"}}, {"model": "sessions.session", "pk": "5wub9gehxc7r3cw6jxscli3qmxoccqay", "fields": {"session_data": ".eJxVjMEOwiAQRP-FsyFQSgGP3vsNZJddpGpKUtqT8d9tkx70OPPezFtE2NYSt8ZLnEhchRaX3w4hPXk-AD1gvleZ6rwuE8pDkSdtcqzEr9vp_h0UaGVfd8oNAGzY64QhoLaUPTmHViH2mjMOwYQ9d73TbFMGgs6rhMaQgWTF5wv03DiL:1sv2vD:0Q_3a9awyS4pB_VLQCjyEiLPqzUwEl_k3ceLPFGfADQ", "expire_date": "2024-10-13T23:01:47.090Z"}}, {"model": "sessions.session", "pk": "cdtcmsswp71haig31jmim4u0pbdvvc1s", "fields": {"session_data": ".eJxVjMEOwiAQRP-FsyFQSgGP3vsNZJddpGpKUtqT8d9tkx70OPPezFtE2NYSt8ZLnEhchRaX3w4hPXk-AD1gvleZ6rwuE8pDkSdtcqzEr9vp_h0UaGVfd8oNAGzY64QhoLaUPTmHViH2mjMOwYQ9d73TbFMGgs6rhMaQgWTF5wv03DiL:1rUC7A:NlhTDOBKz1fQKqh1jieeXmZb1c2RbKQ290Xcf42SZO0", "expire_date": "2024-02-11T20:50:52.810Z"}}, {"model": "sessions.session", "pk": "nbq7aez0nbovk57gqqcog4tmfzxtzgju", "fields": {"session_data": ".eJxVjMEOwiAQRP-FsyFQSgGP3vsNZJddpGpKUtqT8d9tkx70OPPezFtE2NYSt8ZLnEhchRaX3w4hPXk-AD1gvleZ6rwuE8pDkSdtcqzEr9vp_h0UaGVfd8oNAGzY64QhoLaUPTmHViH2mjMOwYQ9d73TbFMGgs6rhMaQgWTF5wv03DiL:1snFZ6:zn-1D3w-p16W2JCXEX3nagtgRD1bX2_2uE9V3m3sd1k", "expire_date": "2024-09-22T10:54:44.383Z"}}, {"model": "work.work", "pk": 1, "fields": {"created_at": "2024-01-30T09:13:22.469Z", "updated_at": "2024-01-30T10:32:10.911Z", "name": "Investing.tbot", "slug": "Investing-tbot", "description": "Le calendrier économique dans votre messagerie.", "en_description": "", "logo": "media-henry/work/work_logo/itbot_plltcl", "banner": "media-henry/work/work_banner/retrofit_gtfpvk", "body": "<p><strong>Investing.tbot</strong> est un bot Telegram qui fournit les informations quotidiennes du calendrier économique. Les données restituées à l'utilisateur sont collectées par grattage web depuis investing.com, puis elles sont présentées à l'utilisateur final via le bot après une épuration des données collectées.</p>", "en_body": "", "stack": "Python", "link": "https://t.me/theforexfamily_bot", "repo": "https://github.com/baba-mandef/investing_telegram_bot"}}, {"model": "work.work", "pk": 2, "fields": {"created_at": "2024-01-30T09:27:37.960Z", "updated_at": "2024-01-30T10:32:43.123Z", "name": "Aircodes", "slug": "air-codes", "description": "IATA et ICAO révélés en un clin d'œil !", "en_description": "", "logo": "media-henry/work/work_logo/air_sbaxz8", "banner": "media-henry/work/work_banner/retrofit-1_s5k3n9", "body": "<p><strong>Aircodes</strong> est un module npm simple et intuitif qui fournit la liste complète et officielle des aéroports et des compagnies aériennes. Vous pouvez y accéder en effectuant une recherche directe par le nom ou le code IATA/ICAO. Ces données ont été collectées en grattant le web, croisées, puis épurées à partir de plusieurs sources fiables.</p>", "en_body": "", "stack": "Javascript,Python", "link": "https://travel-unicore-front.onrender.com", "repo": "https://github.com/baba-mandef/air-codes"}}, {"model": "work.work", "pk": 3, "fields": {"created_at": "2024-01-30T09:29:23.205Z", "updated_at": "2024-01-30T09:32:25.166Z", "name": "Travel Nova", "slug": "travel-nova", "description": "Votre porte d'entrée vers des destinations extraordinaires !", "en_description": "", "logo": "media-henry/work/work_logo/nova_nk3pcq", "banner": "media-henry/work/work_banner/retrofit_ztt0xa", "body": "<p><strong>Travel Nova</strong> est une application web qui vous permet de faire des réservations et des achats de billets d'avion. Avec son système de comparaison de prix, il vous permet d'obtenir les meilleurs vols à des tarifs très abordables, que ce soit pour un aller simple, un aller-retour ou un vol direct.</p>", "en_body": "", "stack": "Django,React", "link": "https://travel-unicore-front.onrender.com/", "repo": "none"}}, {"model": "work.work", "pk": 4, "fields": {"created_at": "2024-01-30T09:30:56.357Z", "updated_at": "2024-01-30T10:03:58.030Z", "name": "Quatro", "slug": "quatro", "description": "Faites-vous livrer en un clic !", "en_description": "", "logo": "media-henry/work/work_logo/Logo_maichl", "banner": "media-henry/work/work_banner/passion_r0ay4z", "body": "<p><strong>Quatro</strong> est une application web et mobile qui vous permet de commander et de vous faire livrer les meilleurs repas de vos restaurants préférés à moindre coût et de façon rapide. Quatro offre par sa plateforme un choix sans limite de restaurant de qualité avec des menus personnalisables et un service de livraison rapide et fiable.</p>", "en_body": "", "stack": "Django,React,Flutter", "link": "https://www.quatroapp.com/", "repo": "none"}}, {"model": "blog.category", "pk": 1, "fields": {"created_at": "2021-07-16T10:16:00Z", "updated_at": "2023-07-24T13:47:39Z", "title": "coding"}}, {"model": "blog.category", "pk": 2, "fields": {"created_at": "2021-07-16T10:16:00Z", "updated_at": "2023-07-24T13:47:39Z", "title": "mobile"}}, {"model": "blog.category", "pk": 4, "fields": {"created_at": "2021-07-16T10:16:00Z", "updated_at": "2023-07-24T13:47:39Z", "title": "mind"}}, {"model": "blog.category", "pk": 5, "fields": {"created_at": "2021-07-16T10:16:00Z", "updated_at": "2023-07-24T13:47:39Z", "title": "chatbot"}}, {"model": "blog.post", "pk": 1, "fields": {"created_at": "2020-10-24T12:21:54Z", "updated_at": "2023-07-27T12:42:55Z", "slug": "comment-choisir-le-bon-langage-de-programmation-pour-debuter", "title": "Comment choisir le bon langage de programmation pour débuter.", "banner": "media-henry/blog/post_banner/langage_pkl6xd", "post": "<p>Ohayo la famille !</p>\r\n<p>Aujourd'hui on va parler du choix des technologies à adopter pour débuter la programmation. Il existe toute une gamme de langages de programmation qu'on passerait toute une éternité à les citer. Mais la question à un million de dollars est : <em><strong>Comment choisir le bon langage quand on veut débuter ?</strong></em> Certains vous conseillerons le C ou le C++, d'autres vous parlerons de Java ou même de Java Script. Certains vous dirons que le Visual Basic est plus facile à appréhender, les \"cheatés\" au python vous jureront par python que python est le meilleur. Qui croire ? Laissez-moi vous dire qu'ils ont tous raison. Un langage de programmation est comme un animal de compagnie, on l'adopte pour plusieurs raisons et en fonction de ses goûts. On choisit un langage de programmation sur la base d'un facteur principal : ses objectifs. Que ça soit du web, du mobile, du Desktop vous devez choisir votre technologie en fonction des tâches à accomplir. Vous pouvez commencer par du C++ ou du Python histoire de maîtriser les bases de la programmation. Mais après, tout dépendra de votre but. Voici une petite classification qui vous orientera dans le choix de vos technologies.<br /><br />• Web<br />- Python <br />- Ruby<br />- PHP<br />- JavaScript<br />- Java<br /><br />• Mobile<br />- Java<br />- Kotlin<br />- C++<br />- JavaScript<br />- C#<br /><br />• Desktop<br />- C++<br />- Java<br />- Python<br />- C#<br />- Vb<br /><br /><em>Vous pouvez aussi utiliser du C ou du Python pour faire de la programmation réseau. Les langages de programmation sont des outils puissants. Choisissez les en fonction de vos goûts et de vos objectifs.</em></p>", "en_title": "", "en_banner": "", "en_post": "", "category": 1, "published": true}}, {"model": "blog.post", "pk": 2, "fields": {"created_at": "2020-10-27T11:00:00Z", "updated_at": "2023-07-27T12:42:35Z", "slug": "Creer-son-bot-telegram-en-python", "title": "Créer son bot telegram en python", "banner": "media-henry/blog/post_banner/Python-telegram-bot_cclum4", "post": "<p>Ohayo la famille ! Daijobu ?</p>\r\n<p><span id=\"p7\">Aujourd'hui, les chatbots sont des outils puissants qui envahissent notre quotidien.</span> <span id=\"p8\"> Que vous soyez commerçant, développeur ou juste un simple internaute, vous avez sûrement déjà discuté avec un chatbot. </span> <span id=\"p16\">Ils sont partout !</span> <span id=\"p11\"> Aujourd'hui, nous allons apprendre à coder un bot Telegram en python avec la bibliothèque </span>: <em> <strong> <a href=\"https://github.com/python-telegram-bot/python-telegram-bot\" target=\"_blank\" rel=\"noopener\">python-telegram-bot</a> </strong> </em></p>\r\n<p><strong>Commençons</strong> <strong>!</strong></p>\r\n<h3><strong>Contenue <br /></strong></h3>\r\n<ol>\r\n<li style=\"list-style-type: none;\">\r\n<ol>\r\n<li>Telegram et son API</li>\r\n<li>Créez votre bot avec BotFather</li>\r\n<li>Installation de python-telegram-bot</li>\r\n<li>Paramétrez votre bot avec python-telegram-bot</li>\r\n<li>Allez plus loin !</li>\r\n</ol>\r\n</li>\r\n</ol>\r\n<p>1 - <span style=\"text-decoration: underline;\"> <strong>Telegram et son API</strong> </span></p>\r\n<p> <span id=\"p38\"> <span id=\"42\" class=\"s-rg\">Telegram</span> est une application de messagerie instantanée multi-plateformes, cloud-base et open-source. </span> <span id=\"p39\"> <span id=\"44\" class=\"s-rg\">Telegram</span> dispose d'une panoplie de fonctionnalités. </span> <span id=\"p40\"> Depuis juin 2015, Telegram est accessible aux développeurs pour la création de bot, de jeux, ou même pour la personnalisation <span id=\"p36\">(Eh oui !</span> <span id=\"p37\"> Vous avez la possibilité de créer votre propre version de Telegram)</span>. </span></p>\r\n<p>2 - <span style=\"text-decoration: underline;\"> <strong>Créez votre bot avec BotFather</strong> </span></p>\r\n<p><span id=\"p50\"> Rendez-vous sur Telegram et lancez une discussion <span id=\"55\">avec</span> BotFather en cliquant ici. </span> <br /><br /><span id=\"p51\">Démarrez une discussion avec une discussion avec <span id=\"56\" class=\"s-rg\">BotFather</span> en lançant la <span id=\"57\" class=\"s-bl\">commande /start</span>. </span> <span id=\"p52\"> Vous recevrez la réponse <span id=\"59\">suivante :</span> </span></p>\r\n<p class=\"col-md-12\"><img src=\"https://res.cloudinary.com/shadowcompiler/image/upload/v1603871539/photo_2020-10-28_08-30-25_sgyysy.jpg\" alt=\"\" width=\"317\" height=\"255\" /></p>\r\n<p><span id=\"p61\">Répondez ensuite avec la commande /newbot pour indiquer à <span id=\"64\" class=\"s-rg\">BotFather</span> que vous voulez créer un nouveau bot. </span> <span id=\"p62\"> Il vous demandera alors d'entrer le nom de votre bot.</span></p>\r\n<p class=\"col-md-12\"><img src=\"https://res.cloudinary.com/shadowcompiler/image/upload/v1603871537/photo_2020-10-28_08-30-27_htadvj.jpg\" alt=\"\" width=\"321\" height=\"85\" /></p>\r\n<p class=\"col-md-12\"><span id=\"p71\">Choisissez un nom simple et explicite pour votre bot.</span> <span id=\"p67\"> Ex :</span> <span id=\"p68\"> <span id=\"70\">Tikligth</span> </span></p>\r\n<p class=\"col-md-12\"><img src=\"https://res.cloudinary.com/shadowcompiler/image/upload/v1603871541/photo_2020-10-28_08-30-29_iswtx1.jpg\" alt=\"\" width=\"324\" height=\"100\" /></p>\r\n<p>Choisissez maintenant un nom d'utilisateur à votre bot. Par convention, le nom d'utilisateur de votre bot doit obligatoirement finir par bot. Ex : tikligth_bot</p>\r\n<p class=\"col-md-12\"><img src=\"https://res.cloudinary.com/shadowcompiler/image/upload/v1603871593/photo_2020-10-28_08-30-30_emxrjt.jpg\" alt=\"\" width=\"326\" height=\"349\" /></p>\r\n<p>Kaboom !</p>", "en_title": "", "en_banner": "", "en_post": "", "category": 5, "published": true}}, {"model": "blog.post", "pk": 3, "fields": {"created_at": "2021-07-16T10:16:00Z", "updated_at": "2023-07-27T12:42:14Z", "slug": "la-passion", "title": "La passion", "banner": "media-henry/blog/post_banner/passion_xdydlq", "post": "<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">Yo, c'est Sadi !</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">Aujourd'hui, on va parler de passion. Pas celle qui finit par \"Ils vécurent heureux et eurent beaucoup d'enfant\". Non ! Mais celle qui vous permet de vivre heureux même quand ce que vous faites n’est pas reconnu. Celle qu’on a pour son métier.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"> </p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est lorsque tu dors quatre heures par jour pour bosser sur 18.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est lorsque tu touches à tous les contours de ton métier.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est lorsque tu n’est pas fatigué d’échouer ; Eh oui elle est la cousine directe de la détermination.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est lorsque tu te prives de tout pour pouvoir te faire former.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"> </p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est quand tu travailles d’arrache-pied pendant 90 heures et que le client refuse de te payer par mauvaise foi, mais que tu ne baisses pas les bras.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est lorsque ton plus grand soutient est la qualité de ce que tu fais.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est lorsque tu prospectes pour proposer tes services, qu’on te prenne pour un mendiant sans te décourager.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est lorsqu’on te fait passer pour un idiot devant tout un public par mauvaise foi, mais que tu ne rechignes pas.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est quand on fait des comparaisons juste pour te dire que tu ne vaux pas grande chose, mais que tu gardes la tête haute.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"> </p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est lorsque le travail n’est plus une peine.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est quand ton travail devient ton premier amour.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est ce qui fait vivre ton travail.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est s’amuser en travaillant.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"> </p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est Nelson Mandela.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est Mohamed-Ali.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est M. Luther-King.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est Jimon Houssou.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est Ridiatou Amoussa.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est ce texte.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion, c’est Salaou-Deen Paraïso.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"> </p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion c’est lorsque tu aimes ce que tu fais, que tu vives tes rêves en lui et par-dessus tout que tu vives pour lui.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"> </p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion peut faire une division par zéro.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion peut déplacer des montagnes.</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"> </p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">La passion avant tout !</span></p>\r\n<p class=\"p1\" style=\"margin: 0px; font-stretch: normal; line-height: normal; -webkit-text-size-adjust: auto;\"><span class=\"s1\">Ne négligez pas la passion.</span></p>", "en_title": "", "en_banner": "", "en_post": "", "category": 4, "published": true}}, {"model": "blog.post", "pk": 4, "fields": {"created_at": "2021-07-30T21:40:12Z", "updated_at": "2023-07-27T12:41:38Z", "slug": "consommez-des-api-rest-avec-retrofit-en-kotlin", "title": "Consommez des API Rest avec retrofit en Kotlin", "banner": "media-henry/blog/post_banner/retrofit_ifk4yw", "post": "<p>Yo, c'est Sadi ! Daijobu ?</p>\r\n<p> Dans l'industrie logicielle actuelle, les API sont devenues des denrées incontournables. De la plus petite application à la grande, sans distinction de support, la majorité des applications disponibles aujourd'hui interagissent avec des API. Ce qui fait de la consommation des API une compétence requise chez tout développeur. Aujourd'hui, nous allons donc apprendre à consommer une API avec <a title=\"Retrofit \" href=\"https://square.github.io/retrofit/\" target=\"_blank\" rel=\"noopener\">Retrofit</a> en Kotlin. Pour cela, nous développerons une application mobile basée sur l'API <a href=\"https://www.boredapi.com/documentatio\">Boredapi</a> qui vous suggère des choses à faire quand vous êtes ennuyés.</p>\r\n<p>Hajime !!</p>\r\n<p><strong><span style=\"text-decoration: underline;\">Pré-requis</span></strong></p>\r\n<ul>\r\n<li><em> Bonne connaissance du langage Kotlin et de la programation Android.</em></li>\r\n<li><em>Comprendre la programmation Asynchrone et les Coroutines en Kotlin.</em></li>\r\n</ul>\r\n<p><strong>Niveau</strong> : <em>Intermédiaire</em>.</p>\r\n<h3><strong>Contenu</strong></h3>\r\n<ol>\r\n<li><a href=\"#1\">Installation des dépendances</a></li>\r\n<li><a href=\"#2\">L'Interface Utilisateur</a></li>\r\n<li><a href=\"#3\">Les permissions</a></li>\r\n<li><a href=\"#4\">Préparation des données</a></li>\r\n<li><a href=\"#5\">Création de la requête</a></li>\r\n<li><a href=\"#6\">Processus de la requête</a></li>\r\n<li><a href=\"#7\">Affichage des données</a></li>\r\n<li><a href=\"#8\">Conclusion</a></li>\r\n</ol>\r\n<p id=\"1\">1 - <span style=\"text-decoration: underline;\"><strong>Installation des dépendances</strong></span></p>\r\n<p> Commençons par installer les librairies dont nous auront besoin pour la création de notre application. Commencez par créer une application sans activité. Ensuite ouvrez le fichier build.gradle de l'application(pas celui du projet) et ajoutez les lignes suivantes dans le bloc dependencies.</p>\r\n<pre class=\"kotlin\"><code></code>dependencies {<span style=\"color: #6a8759;\"><br /></span><span style=\"color: #6a8759;\"><br /></span> <span style=\"color: #808080;\">// coroutine pour la programmation asynchrone<br /></span> implementation <span style=\"color: #6a8759;\">'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9'<br /></span> <span style=\"color: #808080;\">// Retrofit pour les requêtes<br /></span> implementation <span style=\"color: #6a8759;\">'com.squareup.retrofit2:retrofit:2.9.0'<br /></span> <span style=\"color: #808080;\">// converter-gson pour parser le json<br /></span> implementation <span style=\"color: #6a8759;\">'com.squareup.retrofit2:converter-gson:2.9.0'<br /></span> <span style=\"color: #808080;\">// Gson pour retourner des données lisible en json<br /></span> implementation <span style=\"color: #6a8759;\">'com.google.code.gson:gson:2.8.6'<br /></span>}</pre>\r\n<p>Une fois ces lignes ajoutées, synchronisez votre projet.</p>\r\n<p id=\"2\">2- L'interface Utilisateur</p>\r\n<p>Nous aurons deux interfaces pour notre application. Un première qui nous permettra d'envoyer les données et une deuxième qui servira à les afficher. Créez donc une activité appelée MainActivity et une deuxième qu'on appellera ResultActivity. Ouvrez ensuite le fichier activity_main.xml et collez-y ce code.</p>\r\n<pre style=\"background-color: #2b2b2b; color: #a9b7c6; font-family: 'DejaVu Sans Mono',monospace; font-size: 9.0pt;\"><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> <LinearLayout<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:orientation</span><span style=\"color: #6a8759;\">=\"vertical\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:layout_constraintLeft_toLeftOf</span><span style=\"color: #6a8759;\">=\"parent\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:layout_constraintRight_toRightOf</span><span style=\"color: #6a8759;\">=\"parent\"<br /></span> <span style=\"color: #9876aa;\">tools</span><span style=\"color: #bababa;\">:ignore</span><span style=\"color: #6a8759;\">=\"MissingConstraints\"</span><span style=\"color: #e8bf6a;\">><br /></span><span style=\"color: #e8bf6a;\"> <ImageView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"200dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"50dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginTop</span><span style=\"color: #6a8759;\">=\"90dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:src</span><span style=\"color: #6a8759;\">=\"@drawable/bored\"</span><span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"> </LinearLayout><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> <androidx.cardview.widget.CardView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"match_parent\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginLeft</span><span style=\"color: #6a8759;\">=\"30dp\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:cardElevation</span><span style=\"color: #6a8759;\">=\"15dp\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:cardCornerRadius</span><span style=\"color: #6a8759;\">=\"10dp\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:contentPadding</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginRight</span><span style=\"color: #6a8759;\">=\"30dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"300dp\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:cardBackgroundColor</span><span style=\"color: #6a8759;\">=\"@color/purple_500\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:layout_constraintTop_toTopOf</span><span style=\"color: #6a8759;\">=\"parent\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:layout_constraintBottom_toBottomOf</span><span style=\"color: #6a8759;\">=\"parent\"<br /></span> <span style=\"color: #e8bf6a;\">><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> <TextView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textColor</span><span style=\"color: #6a8759;\">=\"@color/white\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textSize</span><span style=\"color: #6a8759;\">=\"20sp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textAllCaps</span><span style=\"color: #6a8759;\">=\"true\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginRight</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:text</span><span style=\"color: #6a8759;\">=\"@string/text1\"</span><span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"> <LinearLayout<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_gravity</span><span style=\"color: #6a8759;\">=\"center_vertical\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"match_parent\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:orientation</span><span style=\"color: #6a8759;\">=\"vertical\"</span><span style=\"color: #e8bf6a;\">><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> <LinearLayout<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"match_parent\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #e8bf6a;\">><br /></span><span style=\"color: #e8bf6a;\"> <TextView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textColor</span><span style=\"color: #6a8759;\">=\"@color/text\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textSize</span><span style=\"color: #6a8759;\">=\"18sp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginRight</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:text</span><span style=\"color: #6a8759;\">=\"@string/text2\"</span><span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"> <Spinner<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:id</span><span style=\"color: #6a8759;\">=\"@+id/activity_type\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:spinnerMode</span><span style=\"color: #6a8759;\">=\"dropdown\" </span><span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"> </LinearLayout><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> <EditText<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:id</span><span style=\"color: #6a8759;\">=\"@+id/editTextNumber\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"match_parent\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginTop</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:hint</span><span style=\"color: #6a8759;\">=\"@string/text3\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:inputType</span><span style=\"color: #6a8759;\">=\"number\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textColorHint</span><span style=\"color: #6a8759;\">=\"@color/text\" </span><span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"> <Button<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:id</span><span style=\"color: #6a8759;\">=\"@+id/submit\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:text</span><span style=\"color: #6a8759;\">=\"@string/text4\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:backgroundTint</span><span style=\"color: #6a8759;\">=\"@color/purple_700\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginTop</span><span style=\"color: #6a8759;\">=\"10dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"</span><span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> </LinearLayout><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> </androidx.cardview.widget.CardView></span><span style=\"color: #e8bf6a;\"><br /><br /></span></pre>\r\n<p>Téléchargez <a href=\"https://github.com/shadowcompiler/boredapp/raw/main/app/src/main/res/drawable/bored.png\" target=\"_blank\" rel=\"noopener\">ici</a> puis copiez ensuite cette image dans votre dossier drawable;</p>\r\n<p>NB : assurez vous que le nom du ficher image soit bored.</p>\r\n<p>Une fois l'image importée, ajoutez les lignes suivantes à l'intérieur des balises resources de votre fichier strings.xml</p>\r\n<pre style=\"background-color: #2b2b2b; color: #a9b7c6; font-family: 'DejaVu Sans Mono',monospace; font-size: 9.0pt;\"><span style=\"color: #e8bf6a;\"><br /><resources><br /></span><span style=\"color: #e8bf6a;\"> <string </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"app_name\"</span><span style=\"color: #e8bf6a;\">></span>Bored<span style=\"color: #e8bf6a;\"></string><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> <string-array </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"type\"</span><span style=\"color: #e8bf6a;\">><br /></span><span style=\"color: #e8bf6a;\"> <item></span>education<span style=\"color: #e8bf6a;\"></item><br /></span><span style=\"color: #e8bf6a;\"> <item></span>recreational<span style=\"color: #e8bf6a;\"></item><br /></span><span style=\"color: #e8bf6a;\"> <item></span>social<span style=\"color: #e8bf6a;\"></item><br /></span><span style=\"color: #e8bf6a;\"> <item></span>diy<span style=\"color: #e8bf6a;\"></item><br /></span><span style=\"color: #e8bf6a;\"> <item></span>charity<span style=\"color: #e8bf6a;\"></item><br /></span><span style=\"color: #e8bf6a;\"> <item></span>Cooking<span style=\"color: #e8bf6a;\"></item><br /></span><span style=\"color: #e8bf6a;\"> <item></span>relaxation<span style=\"color: #e8bf6a;\"></item><br /></span><span style=\"color: #e8bf6a;\"> <item></span>music<span style=\"color: #e8bf6a;\"></item><br /></span><span style=\"color: #e8bf6a;\"> <item></span>busywork<span style=\"color: #e8bf6a;\"></item><br /></span><span style=\"color: #e8bf6a;\"> </string-array><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> <string </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"text1\"</span><span style=\"color: #e8bf6a;\">></span>Search an activity<span style=\"color: #e8bf6a;\"></string><br /></span><span style=\"color: #e8bf6a;\"> <string </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"text2\"</span><span style=\"color: #e8bf6a;\">></span>Choose an activity type<span style=\"color: #e8bf6a;\"></string><br /></span><span style=\"color: #e8bf6a;\"> <string </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"text3\"</span><span style=\"color: #e8bf6a;\">></span>Number of participants<span style=\"color: #e8bf6a;\"></string><br /></span><span style=\"color: #e8bf6a;\"> <string </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"text4\"</span><span style=\"color: #e8bf6a;\">></span>Search<span style=\"color: #e8bf6a;\"></string><br /></span><span style=\"color: #e8bf6a;\"> <string </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"text5\"</span><span style=\"color: #e8bf6a;\">></span>Search Results<span style=\"color: #e8bf6a;\"></string><br /></span><span style=\"color: #e8bf6a;\"> <string </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"text6\"</span><span style=\"color: #e8bf6a;\">></span>Activity : <span style=\"color: #e8bf6a;\"></string><br /></span><span style=\"color: #e8bf6a;\"> <string </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"text7\"</span><span style=\"color: #e8bf6a;\">></span>Type : <span style=\"color: #e8bf6a;\"></string><br /></span><span style=\"color: #e8bf6a;\"> <string </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"text8\"</span><span style=\"color: #e8bf6a;\">></span>Price : <span style=\"color: #e8bf6a;\"></string><br /></span><span style=\"color: #e8bf6a;\"> <string </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"text9\"</span><span style=\"color: #e8bf6a;\">></span>Participants : <span style=\"color: #e8bf6a;\"></string><br /></span><span style=\"color: #e8bf6a;\"> <string </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"text10\"</span><span style=\"color: #e8bf6a;\">></span>Accessibility : <span style=\"color: #e8bf6a;\"></string><br /></span><span style=\"color: #e8bf6a;\"></resources><br /><br /></span></pre>\r\n<p>Après ceci, ouvrez votre fichier color.xml et puis ajoutez-y ces lignes.</p>\r\n<pre style=\"background-color: #2b2b2b; color: #a9b7c6; font-family: 'DejaVu Sans Mono',monospace; font-size: 9.0pt;\"><span style=\"color: #e8bf6a;\"><br /><resources><br /></span><span style=\"color: #e8bf6a;\"> <color </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"purple_200\"</span><span style=\"color: #e8bf6a;\">></span>#FFE0B2<span style=\"color: #e8bf6a;\"></color><br /></span><span style=\"color: #e8bf6a;\"> <color </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"purple_500\"</span><span style=\"color: #e8bf6a;\">></span>#FF9800<span style=\"color: #e8bf6a;\"></color><br /></span><span style=\"color: #e8bf6a;\"> <color </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"purple_700\"</span><span style=\"color: #e8bf6a;\">></span>#F57C00<span style=\"color: #e8bf6a;\"></color><br /></span><span style=\"color: #e8bf6a;\"> <color </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"teal_200\"</span><span style=\"color: #e8bf6a;\">></span>#FF03DAC5<span style=\"color: #e8bf6a;\"></color><br /></span><span style=\"color: #e8bf6a;\"> <color </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"teal_700\"</span><span style=\"color: #e8bf6a;\">></span>#FF018786<span style=\"color: #e8bf6a;\"></color><br /></span><span style=\"color: #e8bf6a;\"> <color </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"black\"</span><span style=\"color: #e8bf6a;\">></span>#FF000000<span style=\"color: #e8bf6a;\"></color><br /></span><span style=\"color: #e8bf6a;\"> <color </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"white\"</span><span style=\"color: #e8bf6a;\">></span>#FFFFFFFF<span style=\"color: #e8bf6a;\"></color><br /></span><span style=\"color: #e8bf6a;\"> <color </span><span style=\"color: #bababa;\">name</span><span style=\"color: #6a8759;\">=\"text\"</span><span style=\"color: #e8bf6a;\">></span>#212121<span style=\"color: #e8bf6a;\"></color><br /></span><span style=\"color: #e8bf6a;\"></resources><br /></span></pre>\r\n<p>Passons ensuite à la deuxième interface. Pour cela, ouvrez le fichier activity_result.xml et ajoutez-y ces lignes.</p>\r\n<pre style=\"background-color: #2b2b2b; color: #a9b7c6; font-family: 'DejaVu Sans Mono',monospace; font-size: 9.0pt;\"><span style=\"color: #e8bf6a;\"><br /><LinearLayout<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:orientation</span><span style=\"color: #6a8759;\">=\"vertical\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:layout_constraintLeft_toLeftOf</span><span style=\"color: #6a8759;\">=\"parent\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:layout_constraintRight_toRightOf</span><span style=\"color: #6a8759;\">=\"parent\"<br /></span> <span style=\"color: #9876aa;\">tools</span><span style=\"color: #bababa;\">:ignore</span><span style=\"color: #6a8759;\">=\"MissingConstraints\"</span><span style=\"color: #e8bf6a;\">><br /></span><span style=\"color: #e8bf6a;\"> <ImageView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"200dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"50dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginTop</span><span style=\"color: #6a8759;\">=\"90dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:src</span><span style=\"color: #6a8759;\">=\"@drawable/bored\"</span><span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"></LinearLayout><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><androidx.cardview.widget.CardView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"match_parent\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginLeft</span><span style=\"color: #6a8759;\">=\"30dp\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:cardElevation</span><span style=\"color: #6a8759;\">=\"15dp\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:cardCornerRadius</span><span style=\"color: #6a8759;\">=\"10dp\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:contentPadding</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginRight</span><span style=\"color: #6a8759;\">=\"30dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"300dp\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:cardBackgroundColor</span><span style=\"color: #6a8759;\">=\"@color/purple_500\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:layout_constraintTop_toTopOf</span><span style=\"color: #6a8759;\">=\"parent\"<br /></span> <span style=\"color: #9876aa;\">app</span><span style=\"color: #bababa;\">:layout_constraintBottom_toBottomOf</span><span style=\"color: #6a8759;\">=\"parent\"<br /></span> <span style=\"color: #e8bf6a;\">><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> <TextView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textColor</span><span style=\"color: #6a8759;\">=\"@color/white\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textSize</span><span style=\"color: #6a8759;\">=\"20sp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textAllCaps</span><span style=\"color: #6a8759;\">=\"true\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginRight</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:text</span><span style=\"color: #6a8759;\">=\"@string/text5\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span><span style=\"color: #6a8759;\"><br /></span> <span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> <LinearLayout<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"match_parent\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginTop</span><span style=\"color: #6a8759;\">=\"40dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:orientation</span><span style=\"color: #6a8759;\">=\"vertical\"</span><span style=\"color: #e8bf6a;\">><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> <LinearLayout<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"match_parent\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #e8bf6a;\">><br /></span><span style=\"color: #e8bf6a;\"> <TextView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textColor</span><span style=\"color: #6a8759;\">=\"@color/white\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textSize</span><span style=\"color: #6a8759;\">=\"18sp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginRight</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:text</span><span style=\"color: #6a8759;\">=\"@string/text6\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"> <TextView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:id</span><span style=\"color: #6a8759;\">=\"@+id/acttext\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textColor</span><span style=\"color: #6a8759;\">=\"@color/text\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textSize</span><span style=\"color: #6a8759;\">=\"18sp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginRight</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"> </LinearLayout><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> <LinearLayout<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"match_parent\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginTop</span><span style=\"color: #6a8759;\">=\"10dp\"</span><span style=\"color: #e8bf6a;\">><br /></span><span style=\"color: #e8bf6a;\"> <TextView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textColor</span><span style=\"color: #6a8759;\">=\"@color/white\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textSize</span><span style=\"color: #6a8759;\">=\"18sp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginRight</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:text</span><span style=\"color: #6a8759;\">=\"@string/text7\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"> <TextView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:id</span><span style=\"color: #6a8759;\">=\"@+id/typetext\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textColor</span><span style=\"color: #6a8759;\">=\"@color/text\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textSize</span><span style=\"color: #6a8759;\">=\"18sp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginRight</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"> </LinearLayout><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> <LinearLayout<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"match_parent\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginTop</span><span style=\"color: #6a8759;\">=\"10dp\"</span><span style=\"color: #e8bf6a;\">><br /></span><span style=\"color: #e8bf6a;\"> <TextView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textColor</span><span style=\"color: #6a8759;\">=\"@color/white\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textSize</span><span style=\"color: #6a8759;\">=\"18sp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginRight</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:text</span><span style=\"color: #6a8759;\">=\"@string/text9\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"> <TextView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:id</span><span style=\"color: #6a8759;\">=\"@+id/poepletext\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textColor</span><span style=\"color: #6a8759;\">=\"@color/text\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textSize</span><span style=\"color: #6a8759;\">=\"18sp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginRight</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"> </LinearLayout><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> <LinearLayout<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"match_parent\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginTop</span><span style=\"color: #6a8759;\">=\"10dp\"</span><span style=\"color: #e8bf6a;\">><br /></span><span style=\"color: #e8bf6a;\"> <TextView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textColor</span><span style=\"color: #6a8759;\">=\"@color/white\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textSize</span><span style=\"color: #6a8759;\">=\"18sp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginRight</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:text</span><span style=\"color: #6a8759;\">=\"@string/text10\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"> <TextView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:id</span><span style=\"color: #6a8759;\">=\"@+id/accesstext\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textColor</span><span style=\"color: #6a8759;\">=\"@color/text\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textSize</span><span style=\"color: #6a8759;\">=\"18sp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginRight</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"> </LinearLayout><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> <LinearLayout<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"match_parent\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginTop</span><span style=\"color: #6a8759;\">=\"10dp\"</span><span style=\"color: #e8bf6a;\">><br /></span><span style=\"color: #e8bf6a;\"> <TextView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textColor</span><span style=\"color: #6a8759;\">=\"@color/white\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textSize</span><span style=\"color: #6a8759;\">=\"18sp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginRight</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:text</span><span style=\"color: #6a8759;\">=\"@string/text8\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"> <TextView<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:id</span><span style=\"color: #6a8759;\">=\"@+id/pricetext\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_width</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_height</span><span style=\"color: #6a8759;\">=\"wrap_content\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textColor</span><span style=\"color: #6a8759;\">=\"@color/text\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:textSize</span><span style=\"color: #6a8759;\">=\"18sp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_marginRight</span><span style=\"color: #6a8759;\">=\"20dp\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:layout_gravity</span><span style=\"color: #6a8759;\">=\"center_horizontal\"<br /></span> <span style=\"color: #e8bf6a;\">/><br /></span><span style=\"color: #e8bf6a;\"> </LinearLayout><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"> </LinearLayout><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"><br /></span><span style=\"color: #e8bf6a;\"></androidx.cardview.widget.CardView><br /><br /></span></pre>\r\n<p>Notre interface est fin prête. Si tout s'est bien passé, vous devriez avoir une interface semblable à ceci :</p>\r\n<p><img src=\"https://res.cloudinary.com/shadowcompiler/image/upload/v1627675022/interfaces1_erp7sj.png\" alt=\"Interfaces\" width=\"335\" height=\"611\" /></p>\r\n<p><img src=\"https://res.cloudinary.com/shadowcompiler/image/upload/v1627675022/interfaces2_lfdmuv.png\" alt=\"\" width=\"335\" height=\"611\" /></p>\r\n<p> </p>\r\n<p>Passons ensuite aux configurations de notre application.</p>\r\n<p id=\"3\">3 - <strong><span style=\"text-decoration: underline;\">Configuration du Manifest</span></strong></p>\r\n<p>La seule que nous ajouterons à notre application est la permission pour utiliser internet. Ouvrez donc votre fichier AndroidManifest.xml puis ajoutez la ligne suivante juste avant la balise application.</p>\r\n<pre style=\"background-color: #2b2b2b; color: #a9b7c6; font-family: 'DejaVu Sans Mono',monospace; font-size: 9.0pt;\"><span style=\"color: #e8bf6a;\"><uses-permission </span><span style=\"color: #9876aa;\">android</span><span style=\"color: #bababa;\">:name</span><span style=\"color: #6a8759;\">=\"android.permission.INTERNET\"</span><span style=\"color: #e8bf6a;\">/><br /></span></pre>\r\n<p>Votre application est à présent digne de se connecter à internet.</p>\r\n<p>Passons maintenant aux choses sérieuses.</p>\r\n<p id=\"4\">4 - <span style=\"text-decoration: underline;\"><strong>Préparation des données</strong></span></p>\r\n<p>À cette étape, nous devons représenter les données à récupérer depuis le serveur. Commençons donc par vérifier les données que nous retourne <a href=\"boredapi.com\" target=\"_blank\" rel=\"noopener\">boredapi</a>. D'après la <a href=\"https://www.boredapi.com/documentation\" target=\"_blank\" rel=\"noopener\">documentation</a> de <a href=\"boredapi.com\" target=\"_blank\" rel=\"noopener\">boredapi</a>, lorsqu'une requête GET est effectuée pour obtenir une activité, les données transmises par le serveur sont sous cette forme :</p>\r\n<p> </p>\r\n<pre class=\"language-markup\"><code>{\r\n\t\"activity\": \"Learn Express.js\",\r\n\t\"accessibility\": 0.25,\r\n\t\"type\": \"education\",\r\n\t\"participants\": 1,\r\n\t\"price\": 0.1,\r\n\t\"link\": \"https://expressjs.com/\",\r\n\t\"key\": \"3943506\"\r\n} </code></pre>\r\n<p>Donc pour une activité, le serveur retourne : son nom, son niveau d'accessibilité, son type, le nombre de participants, son coût, un lien vers l'activité et son identifiant. Dans notre application nous allons juste récupérer le nom, le type, le nombre de participants, le niveau d'accessibilité et le coût. Commencez donc par créer un nouveau fichier Kotlin dans votre projet puis nommez le : dataModel. Nous allons créer ensuite une classe pour représenter les données.</p>\r\n<p> </p>\r\n<pre style=\"background-color: #2b2b2b; color: #a9b7c6; font-family: 'DejaVu Sans Mono',monospace; font-size: 9.0pt;\"><span style=\"color: #cc7832;\">import </span>com.google.gson.annotations.<span style=\"color: #bbb529;\">SerializedName<br /></span><span style=\"color: #bbb529;\"><br /></span><span style=\"color: #cc7832;\">data class </span>ActivityData(<br /> <span style=\"color: #bbb529;\">@SerializedName</span>(<span style=\"color: #6a8759;\">\"activity\"</span>)<br /> <span style=\"color: #cc7832;\">var </span><span style=\"color: #9876aa;\">title </span>: String?<span style=\"color: #cc7832;\">,<br /></span><span style=\"color: #cc7832;\"><br /></span> <span style=\"color: #bbb529;\">@SerializedName</span>(<span style=\"color: #6a8759;\">\"participants\"</span>)<br /> <span style=\"color: #cc7832;\">var </span><span style=\"color: #9876aa;\">people </span>: String?<span style=\"color: #cc7832;\">,<br /></span><span style=\"color: #cc7832;\"><br /></span> <span style=\"color: #bbb529;\">@SerializedName</span>(<span style=\"color: #6a8759;\">\"type\"</span>)<br /> <span style=\"color: #cc7832;\">var </span><span style=\"color: #9876aa;\">type </span>: String?<span style=\"color: #cc7832;\">,<br /></span><span style=\"color: #cc7832;\"><br /></span> <span style=\"color: #bbb529;\">@SerializedName</span>(<span style=\"color: #6a8759;\">\"price\"</span>)<br /> <span style=\"color: #cc7832;\">var </span><span style=\"color: #9876aa;\">cost </span>: String?<span style=\"color: #cc7832;\">,<br /></span><span style=\"color: #cc7832;\"><br /></span> <span style=\"color: #bbb529;\">@SerializedName</span>(<span style=\"color: #6a8759;\">\"accessibility\"</span>)<br /> <span style=\"color: #cc7832;\">var </span><span style=\"color: #9876aa;\">Alevel </span>: String?<br />)</pre>\r\n<p><code></code></p>\r\n<p>Explications :</p>\r\n<pre style=\"background-color: #2b2b2b; color: #a9b7c6; font-family: 'DejaVu Sans Mono',monospace; font-size: 9.0pt;\"><span style=\"color: #bbb529;\">@SerializedName</span>(<span style=\"color: #6a8759;\">\"activity\"</span>)<br /><span style=\"color: #cc7832;\">var </span><span style=\"color: #9876aa;\">title </span>: String?<span style=\"color: #cc7832;\">,<br /></span></pre>\r\n<p>Cette instruction permet de récupérer la donnée <em><strong>activity</strong></em> et de la passer à la variable title.</p>\r\n<p id=\"5\">5- Création de la requête</p>\r\n<p>À cette étape, nous allons déclarer proprement notre requête. Nous allons donc créer une interface qui contiendra toutes les requêtes que nous ferons. Donc créez une nouvelle interface Kotlin et nommez-la RESTService. Ensuite ajoutez-y ce code :</p>\r\n<pre style=\"background-color: #2b2b2b; color: #a9b7c6; font-family: 'DejaVu Sans Mono',monospace; font-size: 9.0pt;\"><span style=\"color: #cc7832;\"><br />import </span>retrofit2.http.<span style=\"color: #bbb529;\">GET<br /></span><span style=\"color: #cc7832;\">import </span>retrofit2.http.<span style=\"color: #bbb529;\">Query<br /></span><span style=\"color: #cc7832;\">import </span>retrofit2.Response<br /><br /><span style=\"color: #cc7832;\">interface </span>RESTService {<br /> <span style=\"color: #bbb529;\">@GET</span>(<span style=\"color: #6a8759;\">\"/api/activity/\"</span>)<br /> <span style=\"color: #cc7832;\">suspend fun </span><span style=\"color: #ffc66d;\">getActivity</span>(<span style=\"color: #bbb529;\">@Query</span>(<span style=\"color: #6a8759;\">\"participants\"</span>) participants:String?<span style=\"color: #cc7832;\">, </span><span style=\"color: #bbb529;\">@Query</span>(<span style=\"color: #6a8759;\">\"type\"</span>) type:String? ): Response <ActivityData><br />}</pre>\r\n<p>Nous avons donc une requête GET sur l'endpoint api/activity qui prend en paramètres le nombre de participants, et le type d'activité. Nous avons aussi spécifié que les données doivent être renvoyées selon le modèle établi dans la class ActivityData.</p>\r\n<p id=\"6\">6 - Processus de la requête</p>\r\n<p>À ce niveau, nous allons récupérer les données entrées par l'utilisateur pour la requête, exécuter la requête et transmettre les résultats de la requête à l'activité ResultActivity. Ouvrez le fichier MainActivity.kt et ajoutez-y ce code :</p>\r\n<p>NB : Lisez bien les commentaires pour comprendre le processus de la requête</p>\r\n<pre style=\"background-color: #2b2b2b; color: #a9b7c6; font-family: 'DejaVu Sans Mono',monospace; font-size: 9.0pt;\"><span style=\"color: #cc7832;\"><br />import </span>android.content.Intent<br /><span style=\"color: #cc7832;\">import </span>androidx.appcompat.app.AppCompatActivity<br /><span style=\"color: #cc7832;\">import </span>android.os.Bundle<br /><span style=\"color: #cc7832;\">import </span>android.util.Log<br /><span style=\"color: #cc7832;\">import </span>android.widget.ArrayAdapter<br /><span style=\"color: #cc7832;\">import </span>android.widget.Button<br /><span style=\"color: #cc7832;\">import </span>android.widget.EditText<br /><span style=\"color: #cc7832;\">import </span>android.widget.Spinner<br /><span style=\"color: #cc7832;\">import </span>kotlinx.coroutines.CoroutineScope<br /><span style=\"color: #cc7832;\">import </span>kotlinx.coroutines.Dispatchers<br /><span style=\"color: #cc7832;\">import </span>kotlinx.coroutines.launch<br /><span style=\"color: #cc7832;\">import </span>kotlinx.coroutines.withContext<br /><span style=\"color: #cc7832;\">import </span>retrofit2.Retrofit<br /><span style=\"color: #cc7832;\">import </span>retrofit2.converter.gson.GsonConverterFactory<br /><br /><span style=\"color: #cc7832;\">class </span>MainActivity : AppCompatActivity() {<br /><br /> <span style=\"color: #808080;\">// initialisation des variables servants à recupérer les element du formulaire.<br /></span> <span style=\"color: #cc7832;\">lateinit var </span><span style=\"color: #9876aa;\">Atype</span>: Spinner<br /> <span style=\"color: #cc7832;\">lateinit var </span><span style=\"color: #9876aa;\">Anumber</span>: EditText<br /> <span style=\"color: #cc7832;\">lateinit var </span><span style=\"color: #9876aa;\">Abutton</span>: Button<br /><br /> <span style=\"color: #cc7832;\">override fun </span><span style=\"color: #ffc66d;\">onCreate</span>(savedInstanceState: Bundle?) {<br /> <span style=\"color: #cc7832;\">super</span>.onCreate(savedInstanceState)<br /> setContentView(R.layout.<span style=\"color: #9876aa; font-style: italic;\">activity_main</span>)<br /><br /> <span style=\"color: #808080;\">// Création d'un arrayAdapter pour la liste de selection du formulaire<br /></span> <span style=\"color: #cc7832;\">val </span>spinner: Spinner = findViewById(R.id.<span style=\"color: #9876aa; font-style: italic;\">activity_type</span>)<br /> ArrayAdapter.createFromResource(<span style=\"color: #cc7832;\">this,<br /></span> R.array.<span style=\"color: #9876aa; font-style: italic;\">type</span><span style=\"color: #cc7832;\">,<br /></span> android.R.layout.<span style=\"color: #9876aa; font-style: italic;\">simple_spinner_item</span>).<span style=\"color: #ffc66d; font-style: italic;\">also </span><span style=\"font-weight: bold;\">{ </span>adapter <span style=\"font-weight: bold;\">-><br /></span> adapter.setDropDownViewResource(android.R.layout.<span style=\"color: #9876aa; font-style: italic;\">simple_spinner_dropdown_item</span>)<br /> spinner.<span style=\"color: #9876aa; font-style: italic;\">adapter </span>= adapter<br /><br /> <span style=\"color: #808080;\">// affectation de la valeur du bouton submit du formulaire à la variable Abutton<br /></span> <span style=\"color: #9876aa;\">Abutton </span>= findViewById(R.id.<span style=\"color: #9876aa; font-style: italic;\">submit</span>)<br /><br /> <span style=\"color: #808080;\">// sequence à exécuter au lorsqu'on clique sur le bouton<br /></span><span style=\"color: #808080;\"><br /></span> <span style=\"color: #9876aa;\">Abutton</span>.setOnClickListener<span style=\"color: #72737a;\">() </span><span style=\"font-weight: bold;\">{<br /></span><span style=\"font-weight: bold;\"><br /></span> <span style=\"color: #808080;\">// CORPS DE LA SEQUENCE DU TRAITEMENT DU FORMULAIRE\\\\<br /></span><span style=\"color: #808080;\"><br /></span><span style=\"color: #808080;\"> // recuperation du nombre de participant entrer par l'utilisateur<br /></span> <span style=\"color: #9876aa;\">Anumber </span>= findViewById(R.id.<span style=\"color: #9876aa; font-style: italic;\">editTextNumber</span>)<br /> <span style=\"color: #cc7832;\">val </span>participant = <span style=\"color: #9876aa;\">Anumber</span>.<span style=\"color: #9876aa; font-style: italic;\">text</span>.toString()<br /><br /> <span style=\"color: #808080;\">// recupération du type d'activité entrer par l'utilisateur<br /></span> <span style=\"color: #9876aa;\">Atype </span>= findViewById(R.id.<span style=\"color: #9876aa; font-style: italic;\">activity_type</span>)<br /> <span style=\"color: #cc7832;\">val </span>activityType = <span style=\"color: #9876aa;\">Atype</span>.<span style=\"color: #9876aa; font-style: italic;\">selectedItem</span>.toString().<span style=\"color: #ffc66d; font-style: italic;\">toLowerCase</span>()<br /><br /> <span style=\"color: #808080;\">// creation d'une instance retrofit<br /></span> <span style=\"color: #cc7832;\">val </span>retrofit = Retrofit.Builder()<br /> .baseUrl(<span style=\"color: #6a8759;\">\"https://www.boredapi.com\"</span>) <span style=\"color: #808080;\">// définition de l'url principale de notre api<br /></span><span style=\"color: #808080;\"><br /></span> .addConverterFactory(GsonConverterFactory.create()) <span style=\"color: #808080;\">// spécification du parseur de donnée qu'on<br /></span><span style=\"color: #808080;\"> //utilisera lors du parsing de la réponse<br /></span><span style=\"color: #808080;\"><br /></span> .build()<br /> <span style=\"color: #cc7832;\">val </span>service = retrofit.create(RESTService::<span style=\"color: #cc7832;\">class</span>.<span style=\"color: #9876aa; font-style: italic;\">java</span>) <span style=\"color: #808080;\">// création de l'instance du service<br /></span><span style=\"color: #808080;\"> // ici nous spécifions l'interface contenant notre requete<br /></span><span style=\"color: #808080;\"><br /></span><span style=\"color: #808080;\"> // création d'une coroutine<br /></span> <span style=\"font-style: italic;\">CoroutineScope</span>(Dispatchers.<span style=\"color: #9876aa;\">IO</span>).<span style=\"color: #ffc66d; font-style: italic;\">launch </span><span style=\"font-weight: bold;\">{<br /></span><span style=\"font-weight: bold;\"><br /></span> <span style=\"color: #808080;\">//envoie de la requete<br /></span> <span style=\"color: #cc7832;\">val </span>response = service.getActivity(<span style=\"color: #467cda;\">participants = </span>participant<span style=\"color: #cc7832;\">, </span><span style=\"color: #467cda;\">type = </span>activityType)<br /><br /> withContext(Dispatchers.<span style=\"color: #9876aa;\">Main</span>)<br /> <span style=\"font-weight: bold;\">{<br /></span> <span style=\"color: #cc7832;\">if </span>(response.<span style=\"color: #9876aa; font-style: italic;\">isSuccessful</span>) {<br /> <span style=\"color: #808080;\">// Affichage de la réponse dans la journalisation <br /></span> Log.d(<span style=\"color: #6a8759;\">\"***********************\"</span><span style=\"color: #cc7832;\">, </span><span style=\"color: #6a8759;\">\"*******************************\"</span>)<br /> Log.d(<span style=\"color: #6a8759;\">\"Response : \"</span><span style=\"color: #cc7832;\">, </span>response.body().<span style=\"color: #ffc66d; font-style: italic;\">toString</span>())<br /> Log.d(<span style=\"color: #6a8759;\">\"***********************\"</span><span style=\"color: #cc7832;\">, </span><span style=\"color: #6a8759;\">\"*******************************\"</span>)<br /><br /><br /> <span style=\"color: #808080;\">// recupération du résultat de la requete response.body<br /></span> <span style=\"color: #cc7832;\">val </span>act = response.body()<br /> <span style=\"color: #cc7832;\">val </span>title = act?.<span style=\"color: #9876aa;\">title</span>.<span style=\"color: #ffc66d; font-style: italic;\">toString</span>()<br /> <span style=\"color: #cc7832;\">val </span>type = act?.<span style=\"color: #9876aa;\">type</span>.<span style=\"color: #ffc66d; font-style: italic;\">toString</span>()<br /> <span style=\"color: #cc7832;\">val </span>people = act?.<span style=\"color: #9876aa;\">people</span>.<span style=\"color: #ffc66d; font-style: italic;\">toString</span>()<br /> <span style=\"color: #cc7832;\">val </span>cost = act?.<span style=\"color: #9876aa;\">cost</span>.<span style=\"color: #ffc66d; font-style: italic;\">toString</span>()<br /> <span style=\"color: #cc7832;\">val </span>level = act?.<span style=\"color: #9876aa;\">Alevel</span>.<span style=\"color: #ffc66d; font-style: italic;\">toString</span>()<br /><br /> <br /> <span style=\"color: #cc7832;\">val </span>intent = Intent(<span style=\"color: #cc7832;\">this</span><span style=\"color: #467cda;\">@MainActivity</span><span style=\"color: #cc7832;\">, </span>ResultActivity::<span style=\"color: #cc7832;\">class</span>.<span style=\"color: #9876aa; font-style: italic;\">java</span>)<br /> intent.putExtra(<span style=\"color: #6a8759;\">\"activity\"</span><span style=\"color: #cc7832;\">, </span>title)<br /> intent.putExtra(<span style=\"color: #6a8759;\">\"type\"</span><span style=\"color: #cc7832;\">, </span>type)<br /> intent.putExtra(<span style=\"color: #6a8759;\">\"participants\"</span><span style=\"color: #cc7832;\">, </span>people)<br /> intent.putExtra(<span style=\"color: #6a8759;\">\"price\"</span><span style=\"color: #cc7832;\">, </span>cost)<br /> intent.putExtra(<span style=\"color: #6a8759;\">\"level\"</span><span style=\"color: #cc7832;\">, </span>level)<br /><br /> startActivity(intent)<br /><br /><br /> } <span style=\"color: #cc7832;\">else </span>{<br /> <br /> <span style=\"color: #808080;\">//affichage des erreur dans la journalisation<br /></span> Log.e(<span style=\"color: #6a8759;\">\"Retrofit error : \"</span><span style=\"color: #cc7832;\">, </span>response.code().toString())<br /> Log.e(<span style=\"color: #6a8759;\">\"Error message :\"</span><span style=\"color: #cc7832;\">, </span>response.message().toString())<br /> <span style=\"color: #cc7832;\">val </span>intent1 = Intent(<span style=\"color: #cc7832;\">this</span><span style=\"color: #467cda;\">@MainActivity</span><span style=\"color: #cc7832;\">, </span>MainActivity::<span style=\"color: #cc7832;\">class</span>.<span style=\"color: #9876aa; font-style: italic;\">java</span>)<br /> startActivity(intent1)<br /> }<br /> <span style=\"font-weight: bold;\">}<br /></span><span style=\"font-weight: bold;\"><br /></span><span style=\"font-weight: bold;\"> }<br /></span><span style=\"font-weight: bold;\"><br /></span><span style=\"font-weight: bold;\"> }<br /></span><span style=\"font-weight: bold;\"> }<br /></span><span style=\"font-weight: bold;\"><br /></span><span style=\"font-weight: bold;\"><br /></span> }</pre>\r\n<p>Tout est prêt. Nous avons nos données, il ne reste plus qu'à les afficher.</p>\r\n<p id=\"7\">7- <strong><span style=\"text-decoration: underline;\">Affichage des données</span></strong></p>\r\n<p>Voici la dernière ligne droite de notre tuto. Ouvrez donc le fichier ResultActivity.kt</p>\r\n<pre style=\"background-color: #2b2b2b; color: #a9b7c6; font-family: 'DejaVu Sans Mono',monospace; font-size: 9.0pt;\"><span style=\"color: #cc7832;\"><br />import </span>androidx.appcompat.app.AppCompatActivity<br /><span style=\"color: #cc7832;\">import </span>android.os.Bundle<br /><span style=\"color: #cc7832;\">import </span>android.widget.TextView<br /><br /><span style=\"color: #cc7832;\">class </span>ResultActivity : AppCompatActivity() {<br /> <span style=\"color: #808080;\">//intitialisation des variables <br /></span> <span style=\"color: #cc7832;\">lateinit var </span><span style=\"color: #9876aa;\">rActivity </span>: TextView<br /> <span style=\"color: #cc7832;\">lateinit var </span><span style=\"color: #9876aa;\">rType </span>: TextView<br /> <span style=\"color: #cc7832;\">lateinit var </span><span style=\"color: #9876aa;\">rPeople </span>: TextView<br /> <span style=\"color: #cc7832;\">lateinit var </span><span style=\"color: #9876aa;\">rPrice </span>: TextView<br /> <span style=\"color: #cc7832;\">lateinit var </span><span style=\"color: #9876aa;\">rLevel </span>: TextView<br /> <span style=\"color: #cc7832;\">override fun </span><span style=\"color: #ffc66d;\">onCreate</span>(savedInstanceState: Bundle?) {<br /> <span style=\"color: #cc7832;\">super</span>.onCreate(savedInstanceState)<br /> setContentView(R.layout.<span style=\"color: #9876aa; font-style: italic;\">activity_result</span>)<br /><br /><br /> <br /> <span style=\"color: #9876aa;\">rActivity </span>= findViewById(R.id.<span style=\"color: #9876aa; font-style: italic;\">acttext</span>)<br /><br /> <span style=\"color: #9876aa;\">rActivity</span>.<span style=\"color: #9876aa; font-style: italic;\">text </span>= <span style=\"color: #9876aa; font-style: italic;\">intent</span>.getStringExtra(<span style=\"color: #6a8759;\">\"activity\"</span>)<br /><br /> <span style=\"color: #9876aa;\">rType </span>= findViewById(R.id.<span style=\"color: #9876aa; font-style: italic;\">typetext</span>)<br /><br /> <span style=\"color: #9876aa;\">rType</span>.<span style=\"color: #9876aa; font-style: italic;\">text </span>= <span style=\"color: #9876aa; font-style: italic;\">intent</span>.getStringExtra(<span style=\"color: #6a8759;\">\"type\"</span>)<br /><br /><br /> <span style=\"color: #9876aa;\">rPeople </span>= findViewById(R.id.<span style=\"color: #9876aa; font-style: italic;\">poepletext</span>)<br /><br /> <span style=\"color: #9876aa;\">rPeople</span>.<span style=\"color: #9876aa; font-style: italic;\">text </span>= <span style=\"color: #9876aa; font-style: italic;\">intent</span>.getStringExtra(<span style=\"color: #6a8759;\">\"participants\"</span>)<br /><br /><br /> <span style=\"color: #9876aa;\">rPrice </span>= findViewById(R.id.<span style=\"color: #9876aa; font-style: italic;\">pricetext</span>)<br /> <span style=\"color: #9876aa;\">rPrice</span>.<span style=\"color: #9876aa; font-style: italic;\">text </span>= <span style=\"color: #9876aa; font-style: italic;\">intent</span>.getStringExtra(<span style=\"color: #6a8759;\">\"price\"</span>)<br /><br /> <span style=\"color: #9876aa;\">rLevel </span>= findViewById(R.id.<span style=\"color: #9876aa; font-style: italic;\">accesstext</span>)<br /> <span style=\"color: #9876aa;\">rLevel</span>.<span style=\"color: #9876aa; font-style: italic;\">text </span>= <span style=\"color: #9876aa; font-style: italic;\">intent</span>.getStringExtra(<span style=\"color: #6a8759;\">\"level\"</span>)<br /><br /> }<br />}</pre>\r\n<p>Kaboom !</p>", "en_title": "", "en_banner": "", "en_post": "", "category": 2, "published": false}}, {"model": "blog.post", "pk": 5, "fields": {"created_at": "2024-07-24T23:54:33.650Z", "updated_at": "2024-07-25T00:36:51.167Z", "slug": "quelle-epoque-formidable", "title": "Quelle époque formidable !?", "banner": "media-henry/blog/post_banner/epoque_bsif9m", "post": "<p>La <strong>liberté</strong> de penser est devenue un crime à cette ère de toute les <em>\"libertés\"</em>; la créativité à été assassinée par la standardisation. L'art et la beauté ont laissé place à l'utile et l'essentiel fonctionnel. Les objets et machines deviennent \"intelligents\" pendant que les humains deviennent de plus en plus cons. L'authenticité est perçue comme du nihilisme. L'école devenue une machine à produire des clones et a fait brûler l'esprit critique au bûcher. Le culte du superficiel est devenu le saint Graal. Les réseaux sociaux ont tué les liens sociaux. Quand la vérité dérange et ça très souvent, elle est étiquetée de complotiste; quand le mensonge arrange il est médiatisé à coût de milliards ou on vous le fait ingurgiter à coup de matraque, de sanction et de restriction. Les cerveaux sont lavés à coût de milliards pour servir de fosse septique aux mensonges gouvernementaux et religieux sans oublier bien évidemment tout la m💩de que tiktok et ses copains chient dans nos cerveaux. Les junkies ne sont plus dans les ghettos, il sont partout à sniffer des bits et des pixels sur internet. L'amour à laisser place à la froideur et la manipulation. Le sexe est devenu le dieu au dessus de tous. Les plans de nettoyage humains et ethnique, de braquages et de censure à l'échelle planétaire sont validés aux yeux et aux nez de tous sans que personne ne réagisse car les cerveaux sont tous pris en otage par les sbires de l'intelligence suprême au service du mal...</p>\r\n<p> </p>\r\n<p>HAHAHA ! QUELLE ÉPOQUE FORMIDABLE ! 😁</p>\r\n<p> </p>", "en_title": "", "en_banner": "", "en_post": "", "category": 4, "published": true}}, {"model": "blog.comment", "pk": 4, "fields": {"created_at": "2020-10-24T12:58:54Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Kabo", "author_name": "Sanni", "author_mail": "olouwatossi@gmail.com", "post": 1}}, {"model": "blog.comment", "pk": 5, "fields": {"created_at": "2020-10-25T10:34:17Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Intéressant", "author_name": "Offrin", "author_mail": "offrinmarina343@gmail.com", "post": 1}}, {"model": "blog.comment", "pk": 6, "fields": {"created_at": "2020-10-25T20:03:00Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Super", "author_name": "Bouraïma Mouksite", "author_mail": "mouksitebouraima@gmail.com", "post": 1}}, {"model": "blog.comment", "pk": 7, "fields": {"created_at": "2020-10-27T08:46:38Z", "updated_at": "2023-07-24T13:47:39Z", "body": "", "author_name": "PoisoNels", "author_mail": "nelson.houngbedji@gmail.com", "post": 1}}, {"model": "blog.comment", "pk": 8, "fields": {"created_at": "2020-10-29T23:43:40Z", "updated_at": "2023-07-24T13:47:39Z", "body": "J'apprécie le document ", "author_name": "Sessou ulrich", "author_mail": "Sessourichogmail.com", "post": 2}}, {"model": "blog.comment", "pk": 9, "fields": {"created_at": "2020-10-30T00:12:13Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Entièrement d'accord avec toi. J'ai adoré l'analogie avec un animal de compagnie", "author_name": "Drissa", "author_mail": "Drissdiawara98@outlook.fr", "post": 1}}, {"model": "blog.comment", "pk": 10, "fields": {"created_at": "2020-10-31T15:22:14Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Kabo", "author_name": "Lesage", "author_mail": "Shadowcode", "post": 2}}, {"model": "blog.comment", "pk": 11, "fields": {"created_at": "2020-11-10T11:07:36Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Merci et félicitions\nMerci parce que tu n'as pas déçu l'attente de ta brave et chère Maman, ainsi que celle de tous tes proches .\nFélicitation pour ton attachement à une bonne cause, aussi bien celle du savoir, à travers l'amour de la recherche, que celle de l'investissement dans le loisir saint, qui développe l'être, spirituellement que socialement. \nUn exemple pour ta génération. \nQue rien ne te détourne de tes objectifs louables.\nSagesse, courage et persévérance.", "author_name": "Vincent DENAKPO", "author_mail": "nvincedenakpo@gmail.com", "post": 2}}, {"model": "blog.comment", "pk": 12, "fields": {"created_at": "2020-11-27T08:33:10Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Ah c'est bien détaillé", "author_name": "PoisoNels", "author_mail": "nelson.houngbedji@gmail.com", "post": 2}}, {"model": "blog.comment", "pk": 92, "fields": {"created_at": "2021-04-13T18:56:31Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Je valide", "author_name": "Elrich", "author_mail": "houngueelrich@gmail.com", "post": 2}}, {"model": "blog.comment", "pk": 153, "fields": {"created_at": "2021-07-03T00:46:45Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Très constructif", "author_name": "Chakir", "author_mail": "chakiribrahim24@gmail.com", "post": 1}}, {"model": "blog.comment", "pk": 162, "fields": {"created_at": "2021-07-16T10:56:10Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Wow\nBeau texte Shadow ", "author_name": "Gris", "author_mail": "gehunelgbedji@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 163, "fields": {"created_at": "2021-07-16T10:56:30Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Nouveau format, j'aime beaucoup", "author_name": "PoisoNels", "author_mail": "h.cedric14@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 165, "fields": {"created_at": "2021-07-16T10:58:17Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Bien dit frerot", "author_name": "Sobour", "author_mail": "olouwatossi@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 166, "fields": {"created_at": "2021-07-16T11:02:38Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Merci à tous !", "author_name": "Sadi Henri Paraiso", "author_mail": "pariso03henri@gmai.com", "post": 3}}, {"model": "blog.comment", "pk": 167, "fields": {"created_at": "2021-07-16T11:07:19Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Motivant !!", "author_name": "Miss", "author_mail": "miss@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 168, "fields": {"created_at": "2021-07-16T11:11:47Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Très intéressant. J'aime", "author_name": "Marina", "author_mail": "offrinmarina343@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 169, "fields": {"created_at": "2021-07-16T11:13:44Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Wow Didi ! Bravo ! J'adore c'est tellement beau ❤️", "author_name": "Codou", "author_mail": "codoudiouf700@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 170, "fields": {"created_at": "2021-07-16T11:34:25Z", "updated_at": "2023-07-24T13:47:39Z", "body": "J'aime bcp ", "author_name": "Guy TGL", "author_mail": "lopeztgl224@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 171, "fields": {"created_at": "2021-07-16T12:30:58Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Très motivant Sadi", "author_name": "Vasthi", "author_mail": "blancvasthi9@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 172, "fields": {"created_at": "2021-07-16T13:00:14Z", "updated_at": "2023-07-24T13:47:39Z", "body": "C'est au Top bro.\nJe valide", "author_name": "Rouma", "author_mail": "amoursingbo07@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 173, "fields": {"created_at": "2021-07-16T13:05:28Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Incroyablement vrai ", "author_name": "Fouzamer", "author_mail": "fouzoparaiso@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 174, "fields": {"created_at": "2021-07-16T15:48:18Z", "updated_at": "2023-07-24T13:47:39Z", "body": "J’apprécie sa frérot", "author_name": "Aziz", "author_mail": "azizlassissi505@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 175, "fields": {"created_at": "2021-07-16T15:58:43Z", "updated_at": "2023-07-24T13:47:39Z", "body": "", "author_name": "Rayane", "author_mail": "rayaneaziz25@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 176, "fields": {"created_at": "2021-07-16T17:22:29Z", "updated_at": "2023-07-24T13:47:39Z", "body": "J'aime et ça motive", "author_name": "YAYA", "author_mail": "lawalyaya44@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 178, "fields": {"created_at": "2021-07-16T18:17:41Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Tu es très intelligent et talentueux. Ceux qui ne reconnaissent pas ça , c’est leurs problèmes.", "author_name": "Samirath", "author_mail": "samirathgnabode@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 179, "fields": {"created_at": "2021-07-16T22:12:39Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Ça veut dire beaucoup 1/10 comprendront à peine la profondeur ça m’a fait couler les larmes.\nLa passion c’est Olanikè \nLa passion c’est Damien\nLa passion c’est qui tu décides d’être malgré tout ", "author_name": "Choukrane", "author_mail": "choukrane96@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 180, "fields": {"created_at": "2021-07-17T01:59:14Z", "updated_at": "2023-07-24T13:47:39Z", "body": "Beau texte Sadi", "author_name": "Ludwika", "author_mail": "telusmonlud2001@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 181, "fields": {"created_at": "2021-08-02T18:34:02Z", "updated_at": "2023-07-24T13:47:39Z", "body": "La Passion c'est Salaou-Deen Paraïso", "author_name": "Romulus", "author_mail": "abelromulus@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 184, "fields": {"created_at": "2023-03-24T07:45:16Z", "updated_at": "2023-07-24T13:47:39Z", "body": "❤️", "author_name": "Raphaël", "author_mail": "lauriceavocevou@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 190, "fields": {"created_at": "2023-07-21T17:11:18Z", "updated_at": "2023-07-24T13:47:39Z", "body": "❤️", "author_name": "Consuela", "author_mail": "consuelaakoto@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 191, "fields": {"created_at": "2023-07-28T10:31:54Z", "updated_at": "2023-07-28T10:31:54Z", "body": "test", "author_name": "test", "author_mail": "test@test.test", "post": 3}}, {"model": "blog.comment", "pk": 192, "fields": {"created_at": "2023-07-31T23:56:31Z", "updated_at": "2023-07-31T23:56:31Z", "body": "Continue comme ça", "author_name": "Queen", "author_mail": "sessiakoto@gmail.com", "post": 2}}, {"model": "blog.comment", "pk": 193, "fields": {"created_at": "2023-08-25T22:20:49Z", "updated_at": "2023-08-25T22:20:49Z", "body": "Propre", "author_name": "Anzo", "author_mail": "anzobanks@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 194, "fields": {"created_at": "2023-10-06T17:46:44.941Z", "updated_at": "2023-10-06T17:46:44.941Z", "body": "The accuracy👌🏽", "author_name": "T Falcon", "author_mail": "jeanmcchords@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 195, "fields": {"created_at": "2023-10-07T13:32:18.234Z", "updated_at": "2023-10-07T13:32:18.234Z", "body": "Wooooouuuuuuwwwwww❤", "author_name": "POENOU Esther Ornella", "author_mail": "poenouestherornella@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 196, "fields": {"created_at": "2024-01-29T11:05:20.881Z", "updated_at": "2024-01-29T11:05:20.881Z", "body": "J'adore 😘💖", "author_name": "Kismath", "author_mail": "kissmachitou@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 197, "fields": {"created_at": "2024-02-05T13:00:17.971Z", "updated_at": "2024-02-05T13:00:17.971Z", "body": "Super", "author_name": "Bationo", "author_mail": "Bessolgboe@gmail.com", "post": 3}}, {"model": "blog.comment", "pk": 198, "fields": {"created_at": "2024-07-25T00:14:44.858Z", "updated_at": "2024-07-25T00:14:44.858Z", "body": "La plume d'un i7 Gen 11", "author_name": "Falcon", "author_mail": "jeanmcchords@gmail.com", "post": 5}}, {"model": "blog.comment", "pk": 199, "fields": {"created_at": "2024-07-25T00:35:11.081Z", "updated_at": "2024-07-25T00:35:11.082Z", "body": "Une masse de moutons, plus aucune remise en question car le cerveau est rempli mais translucide", "author_name": "GrO_Ot", "author_mail": "chaffaugustino@gmail.com", "post": 5}}, {"model": "blog.comment", "pk": 200, "fields": {"created_at": "2024-07-25T08:09:49.935Z", "updated_at": "2024-07-25T08:09:49.935Z", "body": "Très belle initiative\r\n \r\nQue la sagesse soit avec vous", "author_name": "DOSSOU-YOVO Nicephore", "author_mail": "nicephoredossouyovo@gmail.com", "post": 5}}, {"model": "blog.comment", "pk": 201, "fields": {"created_at": "2024-07-25T10:43:14.696Z", "updated_at": "2024-07-25T10:43:14.696Z", "body": "Le monde court joyeusement et expressément vers son déclin. Heureusement qu'il reste encore dans notre génération des gens qui voient les dangers et qui s'engage pour un changement de mentalité même si leur voix n'est pas encore suffisamment audible\r\n\r\nLALM Conceptions", "author_name": "Auriol L. LAWSON", "author_mail": "laurens42lawson@gmail.com", "post": 5}}, {"model": "message.message", "pk": 1, "fields": {"created_at": "2024-01-25T19:11:38.394Z", "updated_at": "2024-01-25T19:11:38.394Z", "sender_name": "Abiodoun Baba Mandef", "sender_email": "pariso03henri@gmail.com", "body": "Yo"}}, {"model": "message.message", "pk": 2, "fields": {"created_at": "2024-03-31T10:47:04.290Z", "updated_at": "2024-03-31T10:47:04.290Z", "sender_name": "test", "sender_email": "pariso03henri@gmail.com", "body": "qwertyuiop"}}, {"model": "message.message", "pk": 3, "fields": {"created_at": "2024-03-31T14:09:31.540Z", "updated_at": "2024-03-31T14:09:31.540Z", "sender_name": "Deen", "sender_email": "group.itan.kama@gmail.com", "body": "Salut"}}, {"model": "message.message", "pk": 4, "fields": {"created_at": "2024-04-10T12:11:30.812Z", "updated_at": "2024-04-10T12:11:30.812Z", "sender_name": "Abiodoun", "sender_email": "group.itan.kama@gmail.com", "body": "Bonjour"}}, {"model": "message.message", "pk": 5, "fields": {"created_at": "2024-04-10T12:11:32.531Z", "updated_at": "2024-04-10T12:11:32.531Z", "sender_name": "Abiodoun", "sender_email": "group.itan.kama@gmail.com", "body": "Bonjour"}}, {"model": "message.message", "pk": 6, "fields": {"created_at": "2024-05-21T22:52:49.146Z", "updated_at": "2024-05-21T22:52:49.146Z", "sender_name": "Rezolusoft", "sender_email": "pariso003henri@gmail.com", "body": "Hello"}}, {"model": "message.message", "pk": 7, "fields": {"created_at": "2024-05-21T22:54:03.261Z", "updated_at": "2024-05-21T22:54:03.261Z", "sender_name": "Abiodoun", "sender_email": "pariso03henri@gmail.com", "body": "Hello"}}, {"model": "message.message", "pk": 8, "fields": {"created_at": "2024-07-25T12:17:29.870Z", "updated_at": "2024-07-25T12:17:29.870Z", "sender_name": "Jéronime", "sender_email": "mensahjeronime@gmail.com", "body": "Je suis fière de toi ❤️"}}, {"model": "message.message", "pk": 9, "fields": {"created_at": "2024-07-25T12:17:31.511Z", "updated_at": "2024-07-25T12:17:31.511Z", "sender_name": "Jéronime", "sender_email": "mensahjeronime@gmail.com", "body": "Je suis fière de toi ❤️"}}]