From 30da722bacd48c0e841ab38441359de6f2edf94d Mon Sep 17 00:00:00 2001 From: flifloo Date: Fri, 3 Dec 2021 05:22:13 +0100 Subject: [PATCH 1/5] Dynamic map --- nuitdelinfo_2021/settings.py.exemple | 2 +- static/images/marker-icon-2x.png | Bin 0 -> 2464 bytes static/images/marker-icon.png | Bin 0 -> 1466 bytes static/images/marker-shadow.png | Bin 0 -> 618 bytes templates/article/article.html | 31 ++++++++++++++++++++++++++- templates/index.html | 21 ++++++++++++++++-- 6 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 static/images/marker-icon-2x.png create mode 100644 static/images/marker-icon.png create mode 100644 static/images/marker-shadow.png diff --git a/nuitdelinfo_2021/settings.py.exemple b/nuitdelinfo_2021/settings.py.exemple index 2ed6653..206279f 100644 --- a/nuitdelinfo_2021/settings.py.exemple +++ b/nuitdelinfo_2021/settings.py.exemple @@ -31,7 +31,7 @@ ALLOWED_HOSTS = ["3cab-134-214-214-199.ngrok.io", "localhost", "4125-134-214-214 # Application definition INSTALLED_APPS = [ - "core.apps.AppConfig", + "core.apps.CoreConfig", "rescue.apps.RescueConfig", "people.apps.PeopleConfig", "boat.apps.BoatConfig", diff --git a/static/images/marker-icon-2x.png b/static/images/marker-icon-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..88f9e501888c9c6cb29ad340d9a888627dd1b6d8 GIT binary patch literal 2464 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 e-I|>x8~*?ZhF3snGbtJX0000cOl4 literal 0 HcmV?d00001 diff --git a/static/images/marker-icon.png b/static/images/marker-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..950edf24677ded147df13b26f91baa2b0fa70513 GIT binary patch literal 1466 zcmV;r1x5OaP)P001cn1^@s6z>|W`000GnNklGNuHDcIX17Zdjl&3`L?0sTjIws<{((Dh&g-s0<@jYQyl?D*X^?%13;ml^gy> ziMrY_^1WI=(g@LMizu=zCoA>C`6|QEq1eV92k*7m>G65*&@&6)aC&e}G zI)pf-Za|N`DT&Cn1J|o`19mumxW~hiKiKyc-P`S@q)rdTo84@QI@;0yXrG%9uhI>A zG5QHb6s4=<6xy{1 z@NMxEkryp{LS44%z$3lP^cX!9+2-;CTt3wM4(k*#C{aiIiLuB>jJj;KPhPzIC00bL zU3a#;aJld94lCW=`4&aAy8M7PY=HQ>O%$YEP4c4UY#CRxfgbE~(|uiI=YS8q;O9y6 zmIkXzR`}p7ti|PrM3a}WMnR=3NVnWdAAR>b9X@)DKL6=YsvmH%?I24wdq?Gh54_;# z$?_LvgjEdspdQlft#4CQ z`2Zyvy?*)N1Ftw|{_hakhG9WjS?Az@I@+IZ8JbWewR!XUK4&6346+d#~gsE0SY(LX8&JfY>Aj)RxGy96nwhs2rv zzW6pTnMpFkDSkT*a*6Dx|u@ds6ISVn0@^RmIsKZ5Y;bazbc;tTSq(kg(=481ODrPyNB6n z-$+U}(w$m6U6H$w17Bw+wDaFIe~GvNMYvnw31MpY0eQKT9l>SU``8k7w4)z!GZKMI z#_cEKq7k~i%nlK@6c-K?+R;B#5$?T#YpKD`t_4bAs^#E+@5QW$@OX3*`;(#{U^d-vY)&xEE>n5lYl&T?Amke9$Lam@{1K@O ze*LXqlKQHiv=gx+V^Cbb2?z@ISBQ*3amF;9UJ3SBg(N|710TLamQmYZ&Qjn2LuO<* zCZlB4n%@pc&7NNnY1}x+NWpHlq`OJEo|`aYN9<`RBUB+79g;>dgb6YlfN#kGL?lO_ z!6~M^7sOnbsUkKk<@Ysie&`G>ruxH&Mgy&8;i=A zB9OO!xR{AyODw>DS-q5YM{0ExFEAzt zm>RdS+ssW(-8|?xr0(?$vBVB*%(xDLtq3Hf0I5yFm<_g=W2`QWAax{1rWVH=I!VrP zs(rTFX@W#t$hXNvbgX`gK&^w_YD;CQ!B@e0QbLIWaKAXQe2-kkloo;{iF#6}z!4=W zi$giRj1{ zt;2w`VSCF#WE&*ev7jpsC=6175@(~nTE2;7M-L((0bH@yG}-TB$R~WXd?tA$s3|%y zA`9$sA(>F%J3ioz<-LJl*^o1|w84l>HBR`>3l9c8$5Xr@xCiIQ7{x$fMCzOk_-M=% z+{a_Q#;42`#KfUte@$NT77uaTz?b-fBe)1s5XE$yA79fm?KqM^VgLXD07*qoM6N<$ Ef<_J(9smFU literal 0 HcmV?d00001 diff --git a/templates/article/article.html b/templates/article/article.html index ccc1a39..15711be 100644 --- a/templates/article/article.html +++ b/templates/article/article.html @@ -8,7 +8,7 @@

{{ rescue.resume }}

- +
{{ rescue.description.html | safe }} @@ -30,6 +30,35 @@ + + {% endblock %} diff --git a/templates/index.html b/templates/index.html index b09c0e4..4ded7ed 100644 --- a/templates/index.html +++ b/templates/index.html @@ -5,7 +5,6 @@

Carte dynamique

-

Articles récents

@@ -30,12 +29,30 @@ From b56da36893c23c902770cd3d3b5c602572c7a8d6 Mon Sep 17 00:00:00 2001 From: flifloo Date: Fri, 3 Dec 2021 06:19:58 +0100 Subject: [PATCH 2/5] Dynamic search --- boat/views.py | 3 ++- rescue/views.py | 3 ++- static/css/style.css | 2 +- static/js/search.js | 49 ++++++++++++++++++++++++++++++++++++++ templates/quicksearch.html | 49 +------------------------------------- 5 files changed, 55 insertions(+), 51 deletions(-) create mode 100644 static/js/search.js diff --git a/boat/views.py b/boat/views.py index bb6ef29..f7c92fd 100644 --- a/boat/views.py +++ b/boat/views.py @@ -1,4 +1,5 @@ from django.contrib.auth.decorators import login_required +from django.core import serializers from django.db.models import Q from django.http import Http404, HttpResponseRedirect, HttpResponseBadRequest, JsonResponse from django.shortcuts import render @@ -62,4 +63,4 @@ def edit(request, boat_id: int): def ajax_search(request, text: str): - return JsonResponse(Boat.objects.filter(Q(name__icontains=text) | Q(description__icontains=text))) + return JsonResponse(serializers.serialize("json", Boat.objects.filter(Q(name__icontains=text) | Q(description__icontains=text))), safe=False) diff --git a/rescue/views.py b/rescue/views.py index 8e26770..3685fc7 100644 --- a/rescue/views.py +++ b/rescue/views.py @@ -1,4 +1,5 @@ from django.contrib.auth.decorators import login_required +from django.core import serializers from django.db.models import Q from django.http import Http404, HttpResponseRedirect, HttpResponseBadRequest, JsonResponse from django.shortcuts import render @@ -58,4 +59,4 @@ def edit(request, rescue_id: int): def ajax_search(request, text: str): - return JsonResponse(Rescue.objects.filter(Q(name__icontains=text) | Q(date__icontains=text) | Q(resume__icontains=text))) + return JsonResponse(serializers.serialize("json", Rescue.objects.filter(Q(name__icontains=text) | Q(date__icontains=text) | Q(resume__icontains=text))), safe=False) diff --git a/static/css/style.css b/static/css/style.css index 68038d9..a1b2b52 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -356,7 +356,7 @@ nav .right .search:hover { justify-content: space-evenly; -webkit-box-align: center; -ms-flex-align: center; - align-items: center; + align-items: baseline; } #quicksearch .fast-search .flex-search .search-col { -webkit-box-flex: 0; diff --git a/static/js/search.js b/static/js/search.js new file mode 100644 index 0000000..7f70fd4 --- /dev/null +++ b/static/js/search.js @@ -0,0 +1,49 @@ +let input = document.querySelector(".search-bar input"); +let typingTimer; +let doneTypingInterval = 2000; + + +input.addEventListener('keyup', () => { + clearTimeout(typingTimer); + typingTimer = setTimeout(doneTyping, doneTypingInterval); +}); + +input.addEventListener('keydown', () => { + clearTimeout(typingTimer); +}); + +function httpGetAsync(theUrl, callback) +{ + let xmlHttp = new XMLHttpRequest(); + xmlHttp.responseType = 'json'; + + xmlHttp.onreadystatechange = function() { + if (xmlHttp.readyState === 4 && xmlHttp.status === 200) + callback(xmlHttp.response); + } + xmlHttp.open("GET", theUrl, true); // true for asynchronous + xmlHttp.send(null); +} + +function insertSearch(number, name, id, id_l) { + document.querySelectorAll(`#quicksearch > div.fast-search > div > div:nth-child(${number}) div`).forEach(el => el.remove()); + document.querySelector(`#quicksearch > div.fast-search > div > div:nth-child(${number})`).insertAdjacentHTML("beforeend", `
+ +

${name}

+
`) +} + +function doneTyping () { + httpGetAsync("/a/ajax/search/"+input.value+"/", j => { + for (const i of JSON.parse(j)) + insertSearch(2, i.fields.name, i.pk, "a") + }); + httpGetAsync("/p/ajax/search/"+input.value+"/", j => { + for (const i of JSON.parse(j)) + insertSearch(1, i.fields.first_name + " " + i.fields.last_name, i.pk, "p") + }); + httpGetAsync("/b/ajax/search/"+input.value+"/", j => { + for (const i of JSON.parse(j)) + insertSearch(3, i.fields.name, i.pk, "b") + }); +} diff --git a/templates/quicksearch.html b/templates/quicksearch.html index 52e73e1..11802fd 100644 --- a/templates/quicksearch.html +++ b/templates/quicksearch.html @@ -12,61 +12,14 @@
+ \ No newline at end of file From 593fd25dc5b5c92651bfebfdc564faeb570da837 Mon Sep 17 00:00:00 2001 From: flifloo Date: Fri, 3 Dec 2021 06:20:07 +0100 Subject: [PATCH 3/5] People list --- people/views.py | 7 ++++--- templates/people/peoples.html | 28 ++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 templates/people/peoples.html diff --git a/people/views.py b/people/views.py index 36c7b6e..56a71b0 100644 --- a/people/views.py +++ b/people/views.py @@ -1,4 +1,5 @@ from django.contrib.auth.decorators import login_required +from django.core import serializers from django.db.models import Q from django.http import Http404, HttpResponseRedirect, HttpResponseBadRequest, JsonResponse from django.shortcuts import render @@ -16,8 +17,8 @@ def get_people(people_id: int) -> People: def index(request): - return render(request, "people/personnes.html", { - "personnes": People.objects.all() + return render(request, "people/peoples.html", { + "peoples": People.objects.all() }) @@ -62,4 +63,4 @@ def edit(request, people_id: int): def ajax_search(request, text: str): - return JsonResponse(People.objects.filter(Q(first_name__icontains=text) | Q(first_name__icontains=text))) + return JsonResponse(serializers.serialize("json", People.objects.filter(Q(first_name__icontains=text) | Q(first_name__icontains=text))), safe=False) diff --git a/templates/people/peoples.html b/templates/people/peoples.html new file mode 100644 index 0000000..77aa943 --- /dev/null +++ b/templates/people/peoples.html @@ -0,0 +1,28 @@ +{% extends 'base.html' %} +{% load static %} +{% block content %} + + +
+

Sauvetages

+
+ {% for people in peoples %} +
+
+
+ + + +
+
+

{{ people }}

+ Voir la personne +
+
+ +
+ {% endfor %} +
+ Charger plus de personnes +
+ {% include 'quicksearch.html' %} +{% endblock %} \ No newline at end of file From 1b1943574dd7fecbb85cee894e51ed1292248402 Mon Sep 17 00:00:00 2001 From: flifloo Date: Fri, 3 Dec 2021 06:26:54 +0100 Subject: [PATCH 4/5] Create README --- README.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/README.md b/README.md index e69de29..b625dd0 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,31 @@ +# La Nuit de l'Info 2021 +> Benoît Kezel | Florian Charlaix + +## Dependencices +* python3 +* python3-dev +* python3-pip +* python3-venv +* libpq-dev + +**Example**: +```bash +apt install python3 python3-dev python3-pip python3-venv libpq-dev +``` + +## Database +You need to copy settings.py.exemple to settings.py and complete the database connexion (PostgresSQL) + +You can add a mail server for user registration confirmation + +## Installation +```bash +python3 -m venv venv +. venv/bin/activate +pip install -r requirements.txt +``` + +## Start th server +```bash +python manage.py runserver 8000 +``` From fac49716f5a648086d80fd4c21fbd6afedbc6010 Mon Sep 17 00:00:00 2001 From: flifloo Date: Fri, 3 Dec 2021 06:39:52 +0100 Subject: [PATCH 5/5] Create README and example sql --- README.md | 5 + boat/admin.py | 4 +- db.sql | 357 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 365 insertions(+), 1 deletion(-) create mode 100644 db.sql diff --git a/README.md b/README.md index b625dd0..9a71770 100644 --- a/README.md +++ b/README.md @@ -23,9 +23,14 @@ You can add a mail server for user registration confirmation python3 -m venv venv . venv/bin/activate pip install -r requirements.txt +python manage.py migrate ``` ## Start th server ```bash python manage.py runserver 8000 ``` + +## Test database (db.sql) +Admin login: `nuitdelinfo_2021` +Admin password: `nuitdelinfo_2021` diff --git a/boat/admin.py b/boat/admin.py index 8c38f3f..4aa26e4 100644 --- a/boat/admin.py +++ b/boat/admin.py @@ -1,3 +1,5 @@ from django.contrib import admin -# Register your models here. +from boat.models import Boat + +admin.site.register(Boat) diff --git a/db.sql b/db.sql new file mode 100644 index 0000000..87673e5 --- /dev/null +++ b/db.sql @@ -0,0 +1,357 @@ +pg_dump: warning: there are circular foreign-key constraints on this table: +pg_dump: people_people +pg_dump: You might not be able to restore the dump without using --disable-triggers or temporarily dropping the constraints. +pg_dump: Consider using a full dump instead of a --data-only dump to avoid this problem. +-- +-- PostgreSQL database dump +-- + +-- Dumped from database version 14.1 (Debian 14.1-1.pgdg110+1) +-- Dumped by pg_dump version 14.1 (Debian 14.1-1.pgdg110+1) + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET idle_in_transaction_session_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SELECT pg_catalog.set_config('search_path', '', false); +SET check_function_bodies = false; +SET xmloption = content; +SET client_min_messages = warning; +SET row_security = off; + +-- +-- Data for Name: auth_group; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + + + +-- +-- Data for Name: django_content_type; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + +INSERT INTO public.django_content_type VALUES (1, 'rescue', 'rescue'); +INSERT INTO public.django_content_type VALUES (2, 'people', 'people'); +INSERT INTO public.django_content_type VALUES (3, 'boat', 'boat'); +INSERT INTO public.django_content_type VALUES (4, 'error', 'thomaspesquetquotes'); +INSERT INTO public.django_content_type VALUES (5, 'admin', 'logentry'); +INSERT INTO public.django_content_type VALUES (6, 'auth', 'permission'); +INSERT INTO public.django_content_type VALUES (7, 'auth', 'group'); +INSERT INTO public.django_content_type VALUES (8, 'auth', 'user'); +INSERT INTO public.django_content_type VALUES (9, 'contenttypes', 'contenttype'); +INSERT INTO public.django_content_type VALUES (10, 'sessions', 'session'); + + +-- +-- Data for Name: auth_permission; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + +INSERT INTO public.auth_permission VALUES (1, 'Can add rescue', 1, 'add_rescue'); +INSERT INTO public.auth_permission VALUES (2, 'Can change rescue', 1, 'change_rescue'); +INSERT INTO public.auth_permission VALUES (3, 'Can delete rescue', 1, 'delete_rescue'); +INSERT INTO public.auth_permission VALUES (4, 'Can view rescue', 1, 'view_rescue'); +INSERT INTO public.auth_permission VALUES (5, 'Can add people', 2, 'add_people'); +INSERT INTO public.auth_permission VALUES (6, 'Can change people', 2, 'change_people'); +INSERT INTO public.auth_permission VALUES (7, 'Can delete people', 2, 'delete_people'); +INSERT INTO public.auth_permission VALUES (8, 'Can view people', 2, 'view_people'); +INSERT INTO public.auth_permission VALUES (9, 'Can add boat', 3, 'add_boat'); +INSERT INTO public.auth_permission VALUES (10, 'Can change boat', 3, 'change_boat'); +INSERT INTO public.auth_permission VALUES (11, 'Can delete boat', 3, 'delete_boat'); +INSERT INTO public.auth_permission VALUES (12, 'Can view boat', 3, 'view_boat'); +INSERT INTO public.auth_permission VALUES (13, 'Can add thomas pesquet quotes', 4, 'add_thomaspesquetquotes'); +INSERT INTO public.auth_permission VALUES (14, 'Can change thomas pesquet quotes', 4, 'change_thomaspesquetquotes'); +INSERT INTO public.auth_permission VALUES (15, 'Can delete thomas pesquet quotes', 4, 'delete_thomaspesquetquotes'); +INSERT INTO public.auth_permission VALUES (16, 'Can view thomas pesquet quotes', 4, 'view_thomaspesquetquotes'); +INSERT INTO public.auth_permission VALUES (17, 'Can add log entry', 5, 'add_logentry'); +INSERT INTO public.auth_permission VALUES (18, 'Can change log entry', 5, 'change_logentry'); +INSERT INTO public.auth_permission VALUES (19, 'Can delete log entry', 5, 'delete_logentry'); +INSERT INTO public.auth_permission VALUES (20, 'Can view log entry', 5, 'view_logentry'); +INSERT INTO public.auth_permission VALUES (21, 'Can add permission', 6, 'add_permission'); +INSERT INTO public.auth_permission VALUES (22, 'Can change permission', 6, 'change_permission'); +INSERT INTO public.auth_permission VALUES (23, 'Can delete permission', 6, 'delete_permission'); +INSERT INTO public.auth_permission VALUES (24, 'Can view permission', 6, 'view_permission'); +INSERT INTO public.auth_permission VALUES (25, 'Can add group', 7, 'add_group'); +INSERT INTO public.auth_permission VALUES (26, 'Can change group', 7, 'change_group'); +INSERT INTO public.auth_permission VALUES (27, 'Can delete group', 7, 'delete_group'); +INSERT INTO public.auth_permission VALUES (28, 'Can view group', 7, 'view_group'); +INSERT INTO public.auth_permission VALUES (29, 'Can add user', 8, 'add_user'); +INSERT INTO public.auth_permission VALUES (30, 'Can change user', 8, 'change_user'); +INSERT INTO public.auth_permission VALUES (31, 'Can delete user', 8, 'delete_user'); +INSERT INTO public.auth_permission VALUES (32, 'Can view user', 8, 'view_user'); +INSERT INTO public.auth_permission VALUES (33, 'Can add content type', 9, 'add_contenttype'); +INSERT INTO public.auth_permission VALUES (34, 'Can change content type', 9, 'change_contenttype'); +INSERT INTO public.auth_permission VALUES (35, 'Can delete content type', 9, 'delete_contenttype'); +INSERT INTO public.auth_permission VALUES (36, 'Can view content type', 9, 'view_contenttype'); +INSERT INTO public.auth_permission VALUES (37, 'Can add session', 10, 'add_session'); +INSERT INTO public.auth_permission VALUES (38, 'Can change session', 10, 'change_session'); +INSERT INTO public.auth_permission VALUES (39, 'Can delete session', 10, 'delete_session'); +INSERT INTO public.auth_permission VALUES (40, 'Can view session', 10, 'view_session'); + + +-- +-- Data for Name: auth_group_permissions; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + + + +-- +-- Data for Name: auth_user; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + +INSERT INTO public.auth_user VALUES (1, 'pbkdf2_sha256$260000$5tafYLHLq4A7p8cLq1mxs1$964KsceeSBYy3/ehCuIBWBaonJ8OlbVi7l2iwzCX7Vc=', '2021-12-03 05:29:20.658287+00', true, 'nuitdelinfo_2021', '', '', 'test@test.test', true, true, '2021-12-03 05:28:43.5337+00'); + + +-- +-- Data for Name: auth_user_groups; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + + + +-- +-- Data for Name: auth_user_user_permissions; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + + + +-- +-- Data for Name: people_people; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + +INSERT INTO public.people_people VALUES (1, 'Florian', 'Charlaix', 'Développeur back', '{"delta":"{\"ops\":[{\"insert\":\"Étudiant en licence DevOps\\n\"}]}","html":"

Étudiant en licence DevOps

"}', '2000-10-13', NULL, '{"delta":"","html":""}', '{"delta":"","html":""}', '{"delta":"","html":""}', '{"delta":"","html":""}', '{"delta":"","html":""}', '{"delta":"{\"ops\":[{\"insert\":\"Lui même\\n\"}]}","html":"

Lui même

"}', NULL, true); +INSERT INTO public.people_people VALUES (2, 'Benoît', 'Kezel', 'Développeur front', '{"delta":"{\"ops\":[{\"insert\":\"Étudiant a Polytech\\n\"}]}","html":"

Étudiant a Polytech

"}', '2001-11-09', NULL, '{"delta":"","html":""}', '{"delta":"","html":""}', '{"delta":"","html":""}', '{"delta":"","html":""}', '{"delta":"","html":""}', '{"delta":"{\"ops\":[{\"insert\":\"Lui même\\n\"}]}","html":"

Lui même

"}', NULL, true); + + +-- +-- Data for Name: boat_boat; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + +INSERT INTO public.boat_boat VALUES (1, 'Test', 'TEst', 'HEya', NULL, true); + + +-- +-- Data for Name: django_admin_log; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + +INSERT INTO public.django_admin_log VALUES (1, '2021-12-03 05:29:50.767291+00', '1', 'L’homme a toujours eu besoin de se confronter à des choses qui le dépassent. C’est en sortant de sa zone de confort qu’on apprend.', 1, '[{"added": {}}]', 4, 1); +INSERT INTO public.django_admin_log VALUES (2, '2021-12-03 05:29:56.878755+00', '2', 'À bord de l’ISS, on est derrière un blindage qui nous protège de tout : du vide, des températures extrêmes, du rayonnement… Sur Terre c’est pareil, sauf que son blindage, l’atmosphère, est infiniment ', 1, '[{"added": {}}]', 4, 1); +INSERT INTO public.django_admin_log VALUES (3, '2021-12-03 05:30:02.154609+00', '3', 'J’ai vu la beauté de la Terre, mais aussi sa fragilité.', 1, '[{"added": {}}]', 4, 1); +INSERT INTO public.django_admin_log VALUES (4, '2021-12-03 05:30:08.475728+00', '4', 'Le bas du CV, ce sont des activités que l’on aime faire. En les pratiquant, on apprend tout un tas de savoirs très importants. C’est ce qui m’a permis de devenir astronaute.', 1, '[{"added": {}}]', 4, 1); +INSERT INTO public.django_admin_log VALUES (5, '2021-12-03 05:30:13.513723+00', '5', 'Ce n’est pas simple de résister aux sollicitations constantes quand le téléphone est dans votre poche et que cela permet d’échapper à un réel pas toujours marrant. Mais la vie, ce n’est pas Instagram.', 1, '[{"added": {}}]', 4, 1); +INSERT INTO public.django_admin_log VALUES (6, '2021-12-03 05:30:20.053148+00', '6', 'Je me revois à 16 ans face à une personne qui me demande ce que je veux faire dans la vie, et moi, je ne sais pas. Cela dépend de tant de choses. A cet âge, on n’a pas les armes pour savoir ce qui nou', 1, '[{"added": {}}]', 4, 1); +INSERT INTO public.django_admin_log VALUES (7, '2021-12-03 05:30:24.871925+00', '7', 'Je me revois à 16 ans face à une personne qui me demande ce que je veux faire dans la vie, et moi, je ne sais pas. Cela dépend de tant de choses. A cet âge, on n’a pas les armes pour savoir ce qui nou', 1, '[{"added": {}}]', 4, 1); +INSERT INTO public.django_admin_log VALUES (8, '2021-12-03 05:30:41.430302+00', '7', 'Ce n’était pas écrit sur mon berceau que j’allais devenir astronaute.', 2, '[{"changed": {"fields": ["Text"]}}]', 4, 1); +INSERT INTO public.django_admin_log VALUES (9, '2021-12-03 05:30:49.82741+00', '8', 'Ce n’est pas simple de résister aux sollicitations constantes quand le téléphone est dans votre poche et que cela permet d’échapper à un réel pas toujours marrant. Mais la vie, ce n’est pas Instagram.', 1, '[{"added": {}}]', 4, 1); +INSERT INTO public.django_admin_log VALUES (10, '2021-12-03 05:30:54.873559+00', '9', 'Ce n’est pas simple de résister aux sollicitations constantes quand le téléphone est dans votre poche et que cela permet d’échapper à un réel pas toujours marrant. Mais la vie, ce n’est pas Instagram.', 1, '[{"added": {}}]', 4, 1); +INSERT INTO public.django_admin_log VALUES (11, '2021-12-03 05:31:03.588116+00', '9', 'A cet âge, on n’a pas les armes pour savoir ce qui nous plaît à 100 %. C’est un moment très difficile, qui génère énormément de stress. On a l’impression qu’on doit déterminer toute sa vie.', 2, '[{"changed": {"fields": ["Text"]}}]', 4, 1); +INSERT INTO public.django_admin_log VALUES (12, '2021-12-03 05:31:21.101359+00', '10', 'Bien travailler à l’école, c’est une clé. Ce n’est pas la seule, bien sûr, mais c’est un vrai tremplin, un accélérateur social, j’en suis l’exemple premier. Je ne suis pas là pour faire la publicité d', 1, '[{"added": {}}]', 4, 1); +INSERT INTO public.django_admin_log VALUES (13, '2021-12-03 05:31:28.087799+00', '11', 'Le plus grand obstacle à la réussite est l''autocensure.', 1, '[{"added": {}}]', 4, 1); +INSERT INTO public.django_admin_log VALUES (14, '2021-12-03 05:31:33.406292+00', '12', 'Le plus grand obstacle à la réussite est l''autocensure.', 1, '[{"added": {}}]', 4, 1); +INSERT INTO public.django_admin_log VALUES (15, '2021-12-03 05:32:31.409588+00', '1', 'Florian Charlaix', 1, '[{"added": {}}]', 2, 1); +INSERT INTO public.django_admin_log VALUES (16, '2021-12-03 05:33:15.797492+00', '2', 'Benoît Kezel', 1, '[{"added": {}}]', 2, 1); +INSERT INTO public.django_admin_log VALUES (17, '2021-12-03 05:36:10.978541+00', '1', 'Sauvetage de la nuit de l''info', 1, '[{"added": {}}]', 1, 1); + + +-- +-- Data for Name: django_migrations; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + +INSERT INTO public.django_migrations VALUES (1, 'contenttypes', '0001_initial', '2021-12-03 05:27:37.09675+00'); +INSERT INTO public.django_migrations VALUES (2, 'auth', '0001_initial', '2021-12-03 05:27:37.157019+00'); +INSERT INTO public.django_migrations VALUES (3, 'admin', '0001_initial', '2021-12-03 05:27:37.175833+00'); +INSERT INTO public.django_migrations VALUES (4, 'admin', '0002_logentry_remove_auto_add', '2021-12-03 05:27:37.184081+00'); +INSERT INTO public.django_migrations VALUES (5, 'admin', '0003_logentry_add_action_flag_choices', '2021-12-03 05:27:37.192522+00'); +INSERT INTO public.django_migrations VALUES (6, 'contenttypes', '0002_remove_content_type_name', '2021-12-03 05:27:37.209656+00'); +INSERT INTO public.django_migrations VALUES (7, 'auth', '0002_alter_permission_name_max_length', '2021-12-03 05:27:37.219098+00'); +INSERT INTO public.django_migrations VALUES (8, 'auth', '0003_alter_user_email_max_length', '2021-12-03 05:27:37.233176+00'); +INSERT INTO public.django_migrations VALUES (9, 'auth', '0004_alter_user_username_opts', '2021-12-03 05:27:37.2481+00'); +INSERT INTO public.django_migrations VALUES (10, 'auth', '0005_alter_user_last_login_null', '2021-12-03 05:27:37.259678+00'); +INSERT INTO public.django_migrations VALUES (11, 'auth', '0006_require_contenttypes_0002', '2021-12-03 05:27:37.262194+00'); +INSERT INTO public.django_migrations VALUES (12, 'auth', '0007_alter_validators_add_error_messages', '2021-12-03 05:27:37.272819+00'); +INSERT INTO public.django_migrations VALUES (13, 'auth', '0008_alter_user_username_max_length', '2021-12-03 05:27:37.286055+00'); +INSERT INTO public.django_migrations VALUES (14, 'auth', '0009_alter_user_last_name_max_length', '2021-12-03 05:27:37.295356+00'); +INSERT INTO public.django_migrations VALUES (15, 'auth', '0010_alter_group_name_max_length', '2021-12-03 05:27:37.306052+00'); +INSERT INTO public.django_migrations VALUES (16, 'auth', '0011_update_proxy_permissions', '2021-12-03 05:27:37.314522+00'); +INSERT INTO public.django_migrations VALUES (17, 'auth', '0012_alter_user_first_name_max_length', '2021-12-03 05:27:37.323066+00'); +INSERT INTO public.django_migrations VALUES (18, 'people', '0001_initial', '2021-12-03 05:27:37.330793+00'); +INSERT INTO public.django_migrations VALUES (19, 'people', '0002_auto_20211202_2127', '2021-12-03 05:27:37.350945+00'); +INSERT INTO public.django_migrations VALUES (20, 'people', '0003_auto_20211202_2225', '2021-12-03 05:27:37.371499+00'); +INSERT INTO public.django_migrations VALUES (21, 'boat', '0001_initial', '2021-12-03 05:27:37.378121+00'); +INSERT INTO public.django_migrations VALUES (22, 'boat', '0002_auto_20211203_0349', '2021-12-03 05:27:37.390133+00'); +INSERT INTO public.django_migrations VALUES (23, 'error', '0001_initial', '2021-12-03 05:27:37.396802+00'); +INSERT INTO public.django_migrations VALUES (24, 'rescue', '0001_initial', '2021-12-03 05:27:37.428868+00'); +INSERT INTO public.django_migrations VALUES (25, 'rescue', '0002_auto_20211202_2301', '2021-12-03 05:27:37.439926+00'); +INSERT INTO public.django_migrations VALUES (26, 'rescue', '0003_rescue_boats', '2021-12-03 05:27:37.458434+00'); +INSERT INTO public.django_migrations VALUES (27, 'rescue', '0004_auto_20211203_0349', '2021-12-03 05:27:37.478112+00'); +INSERT INTO public.django_migrations VALUES (28, 'sessions', '0001_initial', '2021-12-03 05:27:37.489143+00'); + + +-- +-- Data for Name: django_session; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + +INSERT INTO public.django_session VALUES ('ef0bmfz8o3kmavuqvto3ku3xupesf15a', '.eJxVjDsOwjAQBe_iGlnxL2tT0nMGa9dr4wBypDipEHeHSCmgfTPzXiLitta49bzEicVZKHH63QjTI7cd8B3bbZZpbusykdwVedAurzPn5-Vw_w4q9vqtA7rg2GNi43RQ4Fgxo4XB6AQU0JBHsl5zLljAWzBjCTQqhoEVcBLvD-oSOD8:1mt18K:UCNEgM7tfumG00UOToDCeoq6aydRodihjcYIvjKFehE', '2021-12-17 05:29:20.660844+00'); + + +-- +-- Data for Name: error_thomaspesquetquotes; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + +INSERT INTO public.error_thomaspesquetquotes VALUES (1, 'L’homme a toujours eu besoin de se confronter à des choses qui le dépassent. C’est en sortant de sa zone de confort qu’on apprend.'); +INSERT INTO public.error_thomaspesquetquotes VALUES (2, 'À bord de l’ISS, on est derrière un blindage qui nous protège de tout : du vide, des températures extrêmes, du rayonnement… Sur Terre c’est pareil, sauf que son blindage, l’atmosphère, est infiniment plus fin et cette fine pellicule contient toute la vie qu’on ait jamais vu à des millions d’années lumières donc ça vaut le coup de l’entretenir. On n’a pas de solution de rechange.'); +INSERT INTO public.error_thomaspesquetquotes VALUES (3, 'J’ai vu la beauté de la Terre, mais aussi sa fragilité.'); +INSERT INTO public.error_thomaspesquetquotes VALUES (4, 'Le bas du CV, ce sont des activités que l’on aime faire. En les pratiquant, on apprend tout un tas de savoirs très importants. C’est ce qui m’a permis de devenir astronaute.'); +INSERT INTO public.error_thomaspesquetquotes VALUES (5, 'Ce n’est pas simple de résister aux sollicitations constantes quand le téléphone est dans votre poche et que cela permet d’échapper à un réel pas toujours marrant. Mais la vie, ce n’est pas Instagram.'); +INSERT INTO public.error_thomaspesquetquotes VALUES (6, 'Je me revois à 16 ans face à une personne qui me demande ce que je veux faire dans la vie, et moi, je ne sais pas. Cela dépend de tant de choses. A cet âge, on n’a pas les armes pour savoir ce qui nous plaît à 100 %. C’est un moment très difficile, qui génère énormément de stress. On a l’impression qu’on doit déterminer toute sa vie.'); +INSERT INTO public.error_thomaspesquetquotes VALUES (7, 'Ce n’était pas écrit sur mon berceau que j’allais devenir astronaute.'); +INSERT INTO public.error_thomaspesquetquotes VALUES (8, 'Ce n’est pas simple de résister aux sollicitations constantes quand le téléphone est dans votre poche et que cela permet d’échapper à un réel pas toujours marrant. Mais la vie, ce n’est pas Instagram. Dans la Silicon Valley, ceux qui créent ces programmes font en sorte que leurs enfants passent le moins de temps possible sur les écrans.'); +INSERT INTO public.error_thomaspesquetquotes VALUES (9, 'A cet âge, on n’a pas les armes pour savoir ce qui nous plaît à 100 %. C’est un moment très difficile, qui génère énormément de stress. On a l’impression qu’on doit déterminer toute sa vie.'); +INSERT INTO public.error_thomaspesquetquotes VALUES (10, 'Bien travailler à l’école, c’est une clé. Ce n’est pas la seule, bien sûr, mais c’est un vrai tremplin, un accélérateur social, j’en suis l’exemple premier. Je ne suis pas là pour faire la publicité de l’éducation nationale, mais j’ai eu toutes ces ouvertures grâce au système éducatif.'); +INSERT INTO public.error_thomaspesquetquotes VALUES (11, 'Le plus grand obstacle à la réussite est l''autocensure.'); +INSERT INTO public.error_thomaspesquetquotes VALUES (12, 'Le plus grand obstacle à la réussite est l''autocensure.'); + + +-- +-- Data for Name: rescue_rescue; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + +INSERT INTO public.rescue_rescue VALUES (1, 'Sauvetage de la nuit de l''info', '2021-12-03', 45.782973, 4.866505, 'Une superbe nuit', '{"delta":"{\"ops\":[{\"insert\":\"Yay\\n\"}]}","html":"

Yay

"}', '{"delta":"{\"ops\":[{\"insert\":\"Les deux personnes concerner\\n\"}]}","html":"

Les deux personnes concerner

"}', NULL, true); + + +-- +-- Data for Name: rescue_rescue_boats; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + +INSERT INTO public.rescue_rescue_boats VALUES (1, 1, 1); + + +-- +-- Data for Name: rescue_rescue_rescuers; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + +INSERT INTO public.rescue_rescue_rescuers VALUES (1, 1, 2); + + +-- +-- Data for Name: rescue_rescue_saved; Type: TABLE DATA; Schema: public; Owner: nuitdelinfo_2021 +-- + +INSERT INTO public.rescue_rescue_saved VALUES (1, 1, 1); +INSERT INTO public.rescue_rescue_saved VALUES (2, 1, 2); + + +-- +-- Name: auth_group_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.auth_group_id_seq', 1, false); + + +-- +-- Name: auth_group_permissions_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.auth_group_permissions_id_seq', 1, false); + + +-- +-- Name: auth_permission_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.auth_permission_id_seq', 40, true); + + +-- +-- Name: auth_user_groups_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.auth_user_groups_id_seq', 1, false); + + +-- +-- Name: auth_user_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.auth_user_id_seq', 1, true); + + +-- +-- Name: auth_user_user_permissions_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.auth_user_user_permissions_id_seq', 1, false); + + +-- +-- Name: boat_boat_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.boat_boat_id_seq', 1, true); + + +-- +-- Name: django_admin_log_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.django_admin_log_id_seq', 17, true); + + +-- +-- Name: django_content_type_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.django_content_type_id_seq', 10, true); + + +-- +-- Name: django_migrations_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.django_migrations_id_seq', 28, true); + + +-- +-- Name: error_thomaspesquetquotes_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.error_thomaspesquetquotes_id_seq', 12, true); + + +-- +-- Name: people_people_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.people_people_id_seq', 2, true); + + +-- +-- Name: rescue_rescue_boats_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.rescue_rescue_boats_id_seq', 1, true); + + +-- +-- Name: rescue_rescue_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.rescue_rescue_id_seq', 1, true); + + +-- +-- Name: rescue_rescue_rescuers_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.rescue_rescue_rescuers_id_seq', 1, true); + + +-- +-- Name: rescue_rescue_saved_id_seq; Type: SEQUENCE SET; Schema: public; Owner: nuitdelinfo_2021 +-- + +SELECT pg_catalog.setval('public.rescue_rescue_saved_id_seq', 2, true); + + +-- +-- PostgreSQL database dump complete +-- +