From 8d58c558467bec8569b03061dc15bf01ffdeb912 Mon Sep 17 00:00:00 2001 From: sinavir Date: Wed, 3 Jul 2024 00:52:16 +0200 Subject: [PATCH] feat(FORK): jeu -> outil/hackens --- comments/templates/comments.html | 2 +- inventory/models.py | 82 +- inventory/tables.py | 21 +- inventory/templates/inventory/category.html | 2 +- .../templates/inventory/category_list.html | 2 +- inventory/templates/inventory/game.html | 10 +- inventory/templates/inventory/game_list.html | 4 +- inventory/templates/inventory/inventory.html | 10 +- .../templates/inventory/loans/borrow.html | 4 +- .../templates/inventory/loans/game_loan.html | 6 +- inventory/templates/inventory/tag.html | 2 +- website/static/img/favicon.ico | Bin 0 -> 15086 bytes website/static/img/favicon.png | Bin 1559 -> 7038 bytes website/static/img/logo.svg | 978 +++++++++++++++++- website/templates/partials/footer.html | 2 +- website/templates/partials/head.html | 2 +- website/templates/partials/header.html | 2 +- 17 files changed, 978 insertions(+), 151 deletions(-) create mode 100644 website/static/img/favicon.ico diff --git a/comments/templates/comments.html b/comments/templates/comments.html index 94222bc..10ea9b8 100644 --- a/comments/templates/comments.html +++ b/comments/templates/comments.html @@ -24,7 +24,7 @@ {% endif %} {% empty %} -

(Aucun commentaire sur ce jeu)

+

(Aucun commentaire sur cet outil)

{% endfor %} {% if not edited_comment %} {% if request.user.is_authenticated %} diff --git a/inventory/models.py b/inventory/models.py index bd05a03..82f19e1 100644 --- a/inventory/models.py +++ b/inventory/models.py @@ -37,46 +37,9 @@ class Tag(models.Model): class Game(models.Model): - title = models.CharField(verbose_name="titre du jeu", max_length=256, unique=True) + title = models.CharField(verbose_name="Nom de l'outil", max_length=256, unique=True) slug = AutoSlugField(populate_from="title", unique=True) - nb_player_min = models.PositiveSmallIntegerField( - verbose_name="nombre de joueur·se·s minimum" - ) - nb_player_max = models.PositiveSmallIntegerField( - verbose_name="nombre de joueur·se·s maximum" - ) - player_range = models.CharField( - max_length=256, - blank=True, - help_text="Affichage personnalisé pour le nombre de joueur·se·s", - verbose_name="nombre de joueur·se·s", - ) - - duration_min = models.PositiveSmallIntegerField( - verbose_name="durée de partie minimale", - help_text="En minutes, telle qu'indiquée par l'éditeur", - ) - duration_max = models.PositiveSmallIntegerField( - verbose_name="durée de partie maximale", - help_text="En minutes, telle qu'indiquée par l'éditeur, identique à la durée minimale si laissée vide", - blank=True, - ) - duration = models.CharField( - max_length=256, - blank=True, - help_text="Affichage personnalisé pour la durée de la partie", - verbose_name="durée de partie", - ) - - game_designer = models.CharField( - max_length=256, blank=True, verbose_name="game designer" - ) - illustrator = models.CharField( - max_length=256, blank=True, verbose_name="illustrateur·trice" - ) - editor = models.CharField(max_length=256, blank=True, verbose_name="éditeur") - category = models.ForeignKey( Category, on_delete=models.RESTRICT, verbose_name="catégorie" ) @@ -95,45 +58,18 @@ class Game(models.Model): class Meta: ordering = ["title"] - verbose_name = "jeu" - verbose_name_plural = "jeux" + verbose_name = "outil" + verbose_name_plural = "outils" def __str__(self): return self.title - def clean(self): - if not self.nb_player_min or not self.nb_player_max or not self.duration_min: - return - if self.nb_player_min > self.nb_player_max: - raise ValidationError( - { - "nb_player_max": "Le nombre de joueur·se·s maximum doit être supérieur au nombre de joueur·se·s minimum" - } - ) - if self.duration_max is None: - self.duration_max = self.duration_min - if self.duration_min > self.duration_max: - raise ValidationError( - { - "duration_max": "La durée maximale doit être supérieure à la durée minimale" - } - ) def get_player_range(self): - if self.player_range: - return self.player_range - elif self.nb_player_min != self.nb_player_max: - return "{} à {} joueur·se·s".format(self.nb_player_min, self.nb_player_max) - else: - return "{} joueur·se·s".format(self.nb_player_min) + return "" def get_duration_range(self): - if self.duration: - return self.duration - elif self.duration_min != self.duration_max: - return "{} à {} min".format(self.duration_min, self.duration_max) - else: - return "{} min".format(self.duration_min) + return "" def get_absolute_url(self): return reverse("inventory:game", args=(self.slug,)) @@ -141,13 +77,13 @@ class Game(models.Model): class GameComment(AbstractComment): commented_object = models.ForeignKey( - Game, on_delete=models.CASCADE, related_name="comments", verbose_name="jeu" + Game, on_delete=models.CASCADE, related_name="comments", verbose_name="outil" ) class Meta: ordering = ["created_on"] - verbose_name = "commentaire sur un jeu" - verbose_name_plural = "commentaires sur des jeux" + verbose_name = "commentaire sur un outil" + verbose_name_plural = "commentaires sur des outils" def get_modification_url(self): return reverse( @@ -157,7 +93,7 @@ class GameComment(AbstractComment): class GameLoan(AbstractLoan): lent_object = models.ForeignKey( Game, on_delete=models.CASCADE, - verbose_name="jeu emprunté" + verbose_name="outil emprunté" ) class Meta(AbstractLoan.Meta): diff --git a/inventory/tables.py b/inventory/tables.py index d66e231..2b12a79 100644 --- a/inventory/tables.py +++ b/inventory/tables.py @@ -1,8 +1,10 @@ import django_tables2 as tables -from django.utils.html import format_html from django.urls import reverse +from django.utils.html import format_html + from .models import GameLoan + class LoanTable(tables.Table): next_pattern = "inventory:all_loans" @@ -10,24 +12,29 @@ class LoanTable(tables.Table): model = GameLoan sequence = ("lent_object", "borrow_date", "return_date", "mail") exclude = ("id",) + slug = tables.Column(verbose_name="Actions", orderable=False) def render_lent_object(self, value, record): - return format_html("{}", - reverse("inventory:game", args=[record.lent_object.slug]), value) + return format_html( + "{}", + reverse("inventory:game", args=[record.lent_object.slug]), + value, + ) def render_slug(self, value, record): res = "" if record.return_date == None: - res = format_html("Rendre le jeu", + res = format_html( + "Rendre l'outil", reverse("inventory:return_game", args=[value]), - reverse(self.next_pattern)) + reverse(self.next_pattern), + ) return res - + class OngoingLoansTable(LoanTable): next_pattern = "inventory:ongoing_loans" class Meta(LoanTable.Meta): exclude = ("return_date", "mail", "id") - diff --git a/inventory/templates/inventory/category.html b/inventory/templates/inventory/category.html index 700b559..1bbf033 100644 --- a/inventory/templates/inventory/category.html +++ b/inventory/templates/inventory/category.html @@ -4,7 +4,7 @@

{{ category.name }}

{% with game_list=category.game_set.all %} -

Il y a {{ game_list|length }} jeu{{ game_list|pluralize:"x" }} dans cette +

Il y a {{ game_list|length }} outil{{ game_list|pluralize:"s" }} dans cette étagère :

{% for game in game_list %} {% include "./partials/game_item.html" %} diff --git a/inventory/templates/inventory/category_list.html b/inventory/templates/inventory/category_list.html index 2a39175..7a87b9b 100644 --- a/inventory/templates/inventory/category_list.html +++ b/inventory/templates/inventory/category_list.html @@ -3,7 +3,7 @@ {% block "content" %}

Liste des étagères

-

Il y a {{ paginator.count }} étagère{{ paginator.count|pluralize }} de jeux :

+

Il y a {{ paginator.count }} étagère{{ paginator.count|pluralize }} d'outils :

{% include "partials/pagination.html" %} {% for category in category_list %} diff --git a/inventory/templates/inventory/game.html b/inventory/templates/inventory/game.html index 3ab6840..917c247 100644 --- a/inventory/templates/inventory/game.html +++ b/inventory/templates/inventory/game.html @@ -12,9 +12,6 @@

{{ game.category }}


-

{{ game.get_player_range }}

-

{{ game.get_duration_range }}

-

{% for tag in game.tags.all %} {{ tag }}{% if not forloop.last %},{% endif %} @@ -23,14 +20,11 @@ {% endfor %}


-

{{ game.game_designer|default:"(Game designer inconnu·e)" }}

-

{{ game.illustrator|default:"(Illustrateur·trice inconnu·e)" }}

-

{{ game.editor|default:"(Éditeur inconnu)" }}

{% if is_borrowed %} -

Ce jeu est emprunté depuis le {{ loan.borrow_date }}.

+

Cet outil est emprunté depuis le {{ loan.borrow_date }}.

{% endif %} @@ -45,7 +39,7 @@

{{ game.missing_elements|linebreaksbr }}

{% endif %} -

Commentaires et propositions de variantes

+

Commentaires

{% url "inventory:add_game_comment" game.slug as add_comment_url %} {% include "comments.html" with comments=game.comments.all %} {% endblock %} diff --git a/inventory/templates/inventory/game_list.html b/inventory/templates/inventory/game_list.html index b9b8f9c..526e161 100644 --- a/inventory/templates/inventory/game_list.html +++ b/inventory/templates/inventory/game_list.html @@ -1,9 +1,9 @@ {% extends "base.html" %} {% block "content" %} -

Liste des jeux

+

Liste des outils

-

Il y a {{ paginator.count }} jeu{{ paginator.count|pluralize:"x" }} en salle jeux :

+

Il y a {{ paginator.count }} outil{{ paginator.count|pluralize:"s" }} en Hackens :

{% include "partials/pagination.html" %} {% for game in game_list %} diff --git a/inventory/templates/inventory/inventory.html b/inventory/templates/inventory/inventory.html index aecadbf..0d564ec 100644 --- a/inventory/templates/inventory/inventory.html +++ b/inventory/templates/inventory/inventory.html @@ -1,9 +1,9 @@ {% extends "base.html" %} {% block "content" %} -

Inventaire du club Jeux

+

Inventaire d'HackENS

- Rechercher dans la ludothèque: + Rechercher dans les outils:
{% endblock %} diff --git a/inventory/templates/inventory/loans/game_loan.html b/inventory/templates/inventory/loans/game_loan.html index 62b7041..83c4b2e 100644 --- a/inventory/templates/inventory/loans/game_loan.html +++ b/inventory/templates/inventory/loans/game_loan.html @@ -30,7 +30,7 @@ Emprunter « {{ game.title }} »

- Si le jeu est emprunté par quelqu’un d’autre, il sera rendu + Si l'outil est emprunté par quelqu’un d’autre, il sera rendu automatiquement.

@@ -39,12 +39,12 @@ automatiquement. Rendre « {{ game.title }} »

- Ce jeu est emprunté depuis le {{ loan.borrow_date }}. + Ceit outil est emprunté depuis le {{ loan.borrow_date }}.

{% endif %} - Détails du jeu + Détails de l'outil {% endblock %} diff --git a/inventory/templates/inventory/tag.html b/inventory/templates/inventory/tag.html index 449f149..2ab1e5d 100644 --- a/inventory/templates/inventory/tag.html +++ b/inventory/templates/inventory/tag.html @@ -4,7 +4,7 @@

{{ tag.name }}

{% with game_list=tag.game_set.all %} -

Il y a {{ game_list|length }} jeu{{ game_list|pluralize:"x" }} marqué{{ game_list|pluralize }} avec ce tag :

+

Il y a {{ game_list|length }} outil{{ game_list|pluralize:"s" }} marqué{{ game_list|pluralize }} avec ce tag :

{% for game in game_list %} {% include "./partials/game_item.html" %} {% endfor %} diff --git a/website/static/img/favicon.ico b/website/static/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..72139e34003598ea53b91426685b27e1287f6575 GIT binary patch literal 15086 zcmeHOd0bRimM(wEbY^-MGfU4*PfS4etwf!P-LXwnj9XL`Wf5fGq1bmyC>E_kP!N}Z z2m*>Mf*`UfTU9|pZ4|igkvO(Vo7fu1Y$hSz{?0=TO%R<)ocUww{k-0{+;`7+zI)!S zchC3W@uu-!;u#w9P#f}UUgh!T@p!!1vmYOu@_55I_bLiq4}O`)lc0eG+Ta%6A{08$ zZD^z4^bF`3&@(U<13H~9xvp}Lvb;!q>|jC4?z-|V%bwO=tJSU<8XB^C+V%g*d6iOe zV(k*+FYVr(!IsRM!5o*G+_n0v@ zt-Y=8W4Dz?%*)=0g}RurRd2t+mHe&V9lgCLe?75JX=h_;q{p1kvNvy3lhJG1 zp4jGjkHO_z<@>}RJ1j9|PD^L9jVop{uQkSO<8ni`c98+g-{P&3wO7&f{$#^=Ey$My zo_BlChKf98FnH%7*iU zgM+_)PSZS%MiqQ;f7VCq78^3M@4Rd#b6q)F$gU&KIpLhk@|kSYdnmvb?rh59+{~FL zIP!*FpLHh8-@$~1Z8T$XUN&Es?@j19RIWY`Z%Y;hEP?P{fVheCuwW^^mMk3Sk^^V| zF+0IdUQrnBJP`-RZ(Du!`$OyO3?KQ!&N^^S{`-SViUDt&i*+>z7e;K~cEKscd^`N= z8}ru>{`zk)Px0VUX?plI@=5vgWFPA{?+C zTUDAp;EMPnyX31c?73p>oge#4cH@2LU2m){?AK~k#WI=f<(}^LceW+2()h18WkF7+ zObFk}ZYX#U1J-2NrgNDA)@*CAHOmg?v#f9%wmsU0<;L>a!JIW$n+}UtD*NR_u=9-@ zY!SafF8nVk$6xLrQ7;XwjA!%YSsA@=b744$*&F;CY%g&HTyoz&yopT z%{Z>f=gnSLOzdyXBtbT8o4|(ch~l$?L|ay#@#c56h2Gck#9kOsD+YVIo6nRLq?|d? zbVx33Z#byz>y87z?@`=pG#WFdQu$YtjMrZP%Mz8MyR^Nz;!LEw*+{Cd6^qzp&Z02p zN#Hpa7!puRLabSCB%kexpT#P(SKd}BIxnFA4JhVk&Ybyc@P8ir_7iPPc8qq8J<{gN z=K3OKVRpb-VX*C2ab(Bag0ma#X~Efz1MlSXmdJTu)|4cvkCi6sq^;%WG-^eaR@?LX zWPML{POVnY=(?4vf%ed5Bv*mO{ zWw!KqOwa)rbC?o&h}rdIlzA0Pnj~ZX;=oJv5N9htspz!&iFPeIAd>!W%r^^mHEYrSxAQ zyc8OTGu@vX<|nYWXJ7k{u<;&WVnvhM9?f$8h(`&;vrw!0 zKTi~_{9+yD*SQ=wa__KD`Fua*vjd$>m_2gR_Q?MSIrHzGXe>D~SzeNmVJufP)fQZ& zdpDuDBS%hoYUGF?iNfEyyeDH_RaaMo+0W%gkE|nB(bM@~Twb0qgEO+{v(6YfX&M6~ zPCFp|fc$f?Gh}`ntR7S!Nbgql$-FRcHEA^cm-~9!&q>?sPPMljQg*dfedLL8#R(O)$3yOis$Ez3Ml`PZN71D>&8Yc%RF#Ys-LDc?S(Ef8jR*bhK%JHXL|%Zn3k z(jcfE#T4bn#R+SM^F+><12&j`;|ZUM@8I<&oEAZP1mWg#^w0=MlZb#O;E(I#*mplh zPIKs|;HP;G+;z1cE5AaqO&Zneci!OQO{}Vv(m8B9|P6Is*PA`P*!$`8tA1OKUx)|x9W zD@-0f!42%Bp9DZF6M)CDI0=Im6batOv?H2Rc4xX>(rPsia)b^yJP;@2ag%=Ki&*i4 zKMBa^r}|)A&Glcq)5QW~C(6vRy$ zaEidc7`oPuFdHTbwPrh``D|wlpY4Lqvo~oLD@e9wM|Q6Medkee5%~a{1&Eom>oJdb zfM4Qx{Bs%aYQek^%j0p=9FiJ3|4LKsUZrk8a|0Zdg7-hmj-5Sw_U}vb{3??C=YC3j zhXA)E(3*>rG2CH@anc}(ZxMV;2lg#!lL_8)fIk=7SRU~2isN(G_ieUiMJcwdSTvi} z<}d$faA06B@Za1T_udB%n8RHWBlND|1|I}&bG}KBTK;LSXyfp{9iitdi&BT0j_lQS zov1n8ujssl`+8B5Q8>MEY&<8{^6rMb_r>nl!l4~z1=|4csE$au;}A26(6|ykEjdju z9eSo1*d-y*_JDsEc+ZEXxF>NID-_ORwFTa{8Y7x8r&^_;p3SjGhzXbt1;ejuAtqxF>5K`1i!~+5VKdU$r;vq37!pyi+;=&mxTX zZ|Paa{)kf1brsi6`a&NI&`0)wMs=}Q)-qgmKy)D^a{ecztwG=8<`bGz zNXsNmF^;$g{uJ;Yk2(p@Zc3mP+X-DW53xhqX6-K5Tbll^+d8eL8^6u}HqkEZ(Kzg$ z>iu!zJ>!qj=YQb-gBo?;m6J^e&lKkdo)-qp`HbemWPf1twO}-V#CZOII|kTEhow1% zwAlQpS)4YRD}49U?zW1{P1V^$U5$k|)qNee5#yK}23)7YH`TTASjX>^?umX&H7do` z{X6_fKYchhhf{24L&HpkmMRK?Rt$Zd^xW~diSI=4Ed<}G&{{J>tw(yLP1nH1eiT0X zwn6>E^gxVTwY0tdT!O#NoizNOrT`D=`xG0y)A&pb{Z)dp1zK=Ad=LUF@jZq+1983` zb3Ezq`7yItO;Oaj!9m?EV4gmnrx&sRIA%Ug4W4_Gz6VJLE_y!W5i9#7wk#JK^7cd< zwlxwOas;@Ajw}wd=J-yAmb@7{cBTMxe6;oVJB7cy(^{8*9en=*W$BB+JF!o26oPl* zGZZIO==l_3{3~`X{OU-NIC;G6a<8=Yx<=J;MXTDvBY>lkc?fw`Tfnat8YPr0WyI)~mw2 z?5cKc4S1rfDwT4l<5l_3%$1iFW>!;<-ec8F=DC)CvmiT+`$k;W*}Nbr)b3hx=;Hm7 z)lG_|6ZKqFH7>X_&h7dnx!GvLb(Y^*sPJpN=fVK z)2Ck>^L?_q{X|uK$hb>$IxH6_BxhH{aQyuA+V)*suOtdIXs=SJrsnukWq fA5bgGFb`smOUGYl;U7NFpR5A#72daA8S|YQY0Zm z1%02F_4(B2R-JqHKKtzR+iU&SZ|zfxGj_&~(^jrr2@nO&18xG&1x5hvz-r)Yz^0;e zPs;p1_KlvgKYc3#*f`*m!21y}4%isreBcMeaXt0NzTq?Wr)@=moDcjHPysvzY(YT! zZeThB*1G|FDqa%KfbxtT!-fFz%fPRJ`+?4)(?$a`f!_nUQw1cP3EyYzt*s9D9PlXc zeRvaJJm7wY&4vY(Yu2nG9*?Ua2&^%NbIv*EZJDhzcKWOccsBuY;JzWpPn(@GC{w8v z7HWaNk3}P)LalnKxq0is-u~Q-QB{neG3T`3#2GtnHXgVh0c85^03-|pr%a_%D8-*; z3gP{S(wTT=Jhrbi7HN)ndPBt1ulle}V_UV>T?s{B)rhh%mkX$Aoc^}l;2Aq{D+1p& zz)yhBBXZAa^OQyX)(uPe)=I_u@_~QXQz=X#H*WNZs&RFd&1ToezS3PivBk z7M+&KIb(0I`A9Uq0QerzbviCm1ju>7KMo5hjkPW1u}HQw>X$XWww>4Z>__`iwAPV$ zWm$FAl*!d)x$KmR+7Tqefbx{#12G!@43*}2UAT=n-th&GI>g4FKVv2y4YQ?{aUYX&3U zaF4szeVz~ePvGk-SFSt+r^RDV1?~hE3=1f&WlP-mcFdbNcHV|yj7{cY`J zvswIx2F%vi(TN1MP{8H`$mb(yKSB_om4_|lAjqS%MtdIG^YHvAek4jo++%9ph&ks? z8GG^Mn)2(h_OpdB{Mov7>+Isii%<0yMgX4yCL<5^HADhQ5BJOuvrPd$<;HJ;HOPYv zhpGQP?lS^>95@@1gq~fwa^)5vf2!bg?I*Z#p9^I5sdPAC$+H>{0FNx4GSSOcbzC(P$4--%0-J7kxHci?i!JZE&t$(wpgqtU4Mm8G|ZaAQqPP4CH$zp1H-WHQ+ad=>%cXMpQYbzV-lxpD6R z{s#h>9|MWu=-Yusxqdre^`pgdq~XKL?m&h3=y7 zCIcS^GQhtfAP4cZw*cLUDF0(be(LuT0y_ryd@7Y{JsDswT)2=`t5(t2*tjJ$=EHSm ziOa5DFzrLjrZ$|trKP=c)9w~;+r9&|b@q_U=Liq9;8#=$@IpfnW)1^X%wkbs9XO4_ zT7%Xxym$pcu9tPM?N;;0)y3<|OTN(ApS`6dmME!=M}iRve}Bx^FB)qfT$f6%QII>? z#rFS@4QIKy0=OOc0K!pkM|S>n06C<@_y#~0{q7^c9e9wlkWCuz0Q!L@q*Unvf9*bh zgs3cmYt!K)tD(fxs=`{n-rUr*83-1hU{-t0HP-;JcJ11psP8?H$rpY-rlMrdn2OR1 zmQ5aeVS8U@&Yq5*5!+ikBHLRIvA?Z@?%rMsg#y}-qoWCowSX0_X#rIXP6V_TFoyoV zoVxef_0}p?ohM%HMG{n$_%zm(k6t#hZsDwvV9MG9Zjj!PK!{D6SZVAsem$| z8sTtVKp$X_=8cNHZVV^~N)gW5f$&z2qpc5Ay0#(WsnW-~?x~mqRw?jBL<0H<0-(O* z@Q4by1h^3?N8S%i1O5d8rbVd5XxHpIpb<$XbM8K)?z^pOT`HAp+I=um9`$LgtKOT4 zc)#_OTBG14t<+9WtKPV$3;EF4X>;eD(2X`XHIWZP5)r>lD>d0dGB9>oU%s%gBb}YJ zud}D}9!&tGm}*fb~V7I~E{4;IDwMBN6vG;J+i>d=rpDyx};6|87A< z`7Z(c9GFJ~R|9_z-0EwkvKzPWiaxWpnVFL(HcX!|?n90BBd;G>QQA`)i|&p`{C&RG z`y!s+yK%!yZ3@+`6g>*MwW3==r?Iv>G&a+n%?IVN2xl!=2tbjyO#>S?u5aGpYjsa$ zEK*$+k4~FdQ-0-=Nn>tUJF$N3_kOXOKqZJID#)h~V#6HPI(}&kSc|ptsgwtR7byia zlD31=27(;@eFgQ@)_%6Pb@85AW0GgpSKl4g>YEWyKeKtm`ba)7`Ow;J*4hrw^H{iW z;n4ZEZiRo|P1xhW4n!JRghZDMfR6$@i`vy7{Aigw-t2(Wg?QT}!pANG{ubCjWRc8q z4|f5u7FY!wa*Jb{YxkF~&x;-4jiYNt(CgZ`)qU75MYf^c0<3>4smFb< zk-e3703+R3(}90RGWYKyUa-@FatUx2@NEakg|6*tcYnVD{?k`VWy%w=@~-xF^?X|! zYu9fi9*_H#6=gM*<>fV%6=e%Xl$TLf5+@Oln?x*TO5)L=G7-<0#-o`;G}2j-h;@`k zBYVnX(U&ath32NFmkY*pdP>>ikU3Yt8Uk(mcW!U1pD^k9R8zCxmn+<2OsK6k7z@^f zV60Jg&zV++ZbJI;X6$5fK@Ey0R{~Pdn(ev=!>i!-gjeIPk z1K5m^cvIv_eME@w8cl{VActGsvx*}hJd>FuTkBwQ+mip25b<(eR)wZiuzk$5Z`sVFTe z8C6wTX(!azEt@&M{+cPHM)Zy>OKgdG-ov3WKY4NOy4{|BBRC&j{T#gk@gLsz$dx5ikI7vvnqH>a(4GWlDFV=>V!J{#@;5??2<$?mrk3blJihwm}tLRSm zsfRXa@jR6PRiZu5o--lfy6Gd|74y|9Yx#+_#SY^zC|4tbaa%EmOD2;c@R)mmHzS)C zcDQr0z%P#UARRCR=M8>_c)e;QEGH1JY=93T;{8zGX_LuhE86v9WZ1zvVw%ewPQ5s!Vyf%ipsJV5A33-F}7 zb|-*uj9E3KzIN96OBZ>M{dTn%_IKlzRulGjp+ZMZti_AOiIvrm>pnn`?IFl2vP#k2 z(ZT+``_vy^d6nNJ61uLowqnuDDQ90Wck1GC)#cawp88+L+MlFSscc0&LaL>ki6hFU zKk(f8+a6DCytef~Yq>Q7Ht`wium`jlm*g0%%>xQUAB9{Vr8M|4l-AfVMEOyyF(|F1 zGGu)4Lhw9{4KblsD1~Q?YVGRo>C9H%F}b?*v2;EdI`0bcjGrG0$RcooWRid99{vuF z!;0FrxQ8_$&@V+i=tqwN$l~@E;k19nkty9kj~1LD_Oa6Wv2tF!d0LK`u8n-Kj!J#*PXlYz1eJ* z)oXrF*w=|Q^02&UDcBH`?ImjrHs6o6Rvf6sc~Za{!faNxw6>|Aw;bTb&0E#g=PsUe z{>;WZW1gO2to=$)Ht3l*s&c`z+xGtZ<1emX(z3q=rCntQFog_3Mq|TZFw@ow>wec> z0zXnoXmX&Xyml-=fbI$iiAT1b9aS@|+qaVEFocF|{5&N5`*Qi3ipmZcow4#nM$dm8fiwe3N2wkRY0!cEEELq1Z zh?S2d*VD>@y?fL>k9KpgduhpEESd8UB@r(X_4JRn9_;+qe?8Z{WdGiMXsvM05U`kB zFD92R63solSh*|&Qy5Hkz=2RgcbMrUS~U)(AjozTX45jhAS=p}=P|mrCcB_v^n>R$ zR(|cO3zuy!?0%W(gcDN}j%7nQz|1Ktp1vHf&NKgYBI z0@`A%{oBfTwDSWOE&agAs*31CkNuY3t}gQ32gPezBbp%=FIqyZdJOq=2VsAw@H{_C zq@)^S!Q?Y&AeZjt7f-EG#u)Ft=ghm=qAp*(aa-fI?b}gUtVKAa1GRP9q_PUMM*A^r z7>d`!V!}R5HY=f9xhjv=SQAj_IUq7oz7OR`Q7A%dNhA_XpD=dk(kbKbxNOd(dtYyD zO9R6SNM}(boPQG7j#MvFh=f#db6tUW&-Wwbe&87-5YA;!?2>OViC$iB;mirXA#2CrQEYJ|(D{i51+i?Q|} z627zD|2owN?EKI0ULmd z5iK1_knP4~dxVanu=yN*BxKac+U%mK6MnsX+W4>j`31|HdRzC{nX_h{GWw2UmofN8 z-yMiYe3O?-CX+9?$sYh^fN;Yq2aMpjuJ&g09ALhL$UbQ#+t$Es$z-zg2*9jDw8a{P zf3_9@tr#>HBO5VZMndsWLA?_JW%w51Um**y7MO_0Kr<1~-hf1lFZnQ7=}4tg>Co73 zdYU~eW={I2MC9FLzxTi+wxji+Vu1Tuh0SNlcM6wPF4Wo}Am7!3@}qbqm4yABheLb5 zKh1-W|4spfg*-|rtO4bVC~gWF>;UMT=TzDw$o3Luy1=-dSW01)CR$nx))4e}5@dS_ z3t3Q#SS&_GSt)hZmBHBB>P-{sYVW*k?xY7_-LUcZ9?^OMPBvSY}&qR2uhN6Lz8ks5XJKOT5L5|&><#Pzl# zlo;Q{4U5i+BmDX-MB^Qg$V34WMRp@^LLNf6a?2ZBw)2`nAvE_zv@R^3((v7`cU@BZ z!=FA(wlD3Hivfq}sw#G1Mg&YY$P=bJoTPL3WWsD_kSjW`s3WCB%WKH@w&6ufuqGhr z@4yB*^4&i=>9#dWZ#O&E~ z_7?in%$+@((`-HxI$z-!+|2R61mcy7<(wyhzd?Zgon$h3JY~pQB=n{jtl$)zMZ&3N z5SX7xCX?+&=cF0T;NOQNcz3ytyb}>k^g~Fp^fwMbN3|kvSPRTW_Fv9KB%yrTh3nOKlS^yN+~5gZs1dEl=eV-=tzX1rwd!i zOERLA3*iIVwZ&S6ACIFw-{vzJWivfk6JUZII$DYak#&?32}ljL1%-;0fwhEvZJ<5Q zTfC6-W>0!~YF+i6Rf*W<%0zU>==xFZxkLNH*!Wq8z4!^*@$$Oj^8&=fO+|R)8@6>7 z0ck8!e!GFeeTpFR(ki4)mGMThT2>k;OeKz8e6Non0HFVrX^3g*`67+3ECi(=9 zS|EwlOUNQgAiC_eZv1tK5dNe)zO@K=LxHFr5Emh#ex93?6jF}e=&l(asgI#{L~`qZ zX{@zBh)2BTSDv%*%1zsLaIp2D^L}bzzl6v`fFG|W%=BS$Spn;ShXahYcz%R&4Gp;q z7thbsRh3sXzqX5A`wyt@o?Z%}Z}IYYS}VV#j*gBFOc)^kSCSxQErf+Z;Cc~ej2+2> zaU&m}eb&SuZrboV^^@lwC!UT7n8^+_lacIrIj}F8Om4=7G-tI47g~Vmj0=(Q^*aZY z&jJ7HgzkZgMjcWGy2(B8pCQu9IY|9{3-DDWwEYKCo_ipfOzuOxiFTlwgw(`uKs?Xq zk%dr()Yy-<$8jAZ-+atH^Sd8?^wGZd_V$f8-gx8P*4hi*7`2;&u}F35KahlJ?-4?_ zLb&Ks;GGVT2GJ?Mg4E7Cj|YT9?WnHAB|iWcf_mV-r(URe=*i!qT-GZdQ=>dB8+Mh# z=5m;P78?YILoU`5Eh%OB(#0Js=FR--{D!(M3VV4zG_!g#`MPv2Uy=_(V<8)l_+@)L zdK&(1)h|^h-RrXKfdoq=C#=B)Std13EZqFgcRV_$e#EW)`C#YCZclTdj3A!mJxIdf zBZ6-$62dkVHMs%dSTXmLLwMX55f1igB%E$Tq?RfNHV~QSUy#iQcOYO7-Gjf&0pk`# z7&i#Io_Pi-fqtZ^sp*-OD_6e9 zeLvNWXEP!#{Q}4qCqD>BoP{io%aO>i77_H zX~feNzNceKDWxII1mW!ut=;^Adw>2o7~}T)I=Ki*j4CQC?f7wHw=A7GKn|x14 zf3_p;>66-)Rs>3r>~HLlxk)2oD_3;93dx)!a9GbOAevw|vZ>-y_uxv9-9YPsXAr5# zAPLPx2DQuW3~H1f!oyY|VY(Ut{T?LLu0ymx;{Y-Z(L+H(A>= zw|bt}f5jD7fNY$ob^RVhJY}&Bc>8OS8g>itUkFEh4G4zoWwPS|B}%F5GKJvYZ`}X$ z=u4Yl!SnpV-QY?Oda`JYFw;la*Ne4KQdz}i7oNNS&z8>r$Mfe;`ae5&9}F93ygBJu zw{9I#PuKP2g2%u0(Bt!)UfztSwS;P=h{hAt*3^WJ4P&=YZK!`>dPDt>-+R&W9Xt2z zvyJ1&4a-Cfmkp^5f#Z57x(9N&`Z-xE+Lks6i6GY^!2CTThChv4NW=YR<1u%c3?x0) z+7}ZMf6w&B@sl@fdF_pfju*j;CCIh4Q0QzMh}cxr)^X_t=WcoTlDVHaf7#q$?cKW5 z90`!AR7&1$^}J=HHy5hIu|w!U|2!*qwRC~=vAY>m6d{rw>Dzmd>>%5O0q%Z~TOvHhM_o5t7GOpbV( zAQ*guQ)z=5c>l~8LItD7HgLs7E7o4NaMs^1U$W@=bn8wUrXO9jj(9rSpAW8U-my1P zUQy1h8Pl>2^`o{-9#i+!w9z$>%@|YLG;ZSLc1-`tX4GfwEvzVcnTqh}8xV?eA5su_ zg|~PwXSnQmL7B(0byRf)QKiVHyU{MW36&z>aR^%|fYvllnQE@OXvJd}&zpYhx?Kle z?b)+~vQZO{*lAN!6V_S+W9H?9@a&0WMy*{ub;64cBdb@BA5r;20j(ZU2W~{d^uvh0*~~F2HK)Ul`xRS@-BD3mV#^XS)v>S7ffB6JXg@+}WhIlQ zPVIj8c}wrVbl&tY?>X4H|0C~Qgo@W3y-!izOO55DiHP^a)$^x*cGC2jo#fM2#mbL& zXlLvctf+Q3?hH@a?Q zd&8)a&rTdO>h4PyOj~`hvp09qxyz1s4AYPj)NP&V{*E)@`R%hJz+H)C`(H#hFSiW& z{%y76_LRojwz%)@z47w%#&oS%k~h{Kj7Fn7%i^)8YsyQ0J7Ls_jp@EjX5^@`)QvtN zV7-oTm{Z1ER(jdCC9)03~!qSaf7zbY(hYa%Ew3 zWdJfTF*7YOFfB4RR5CC+GC4XmGAl4LIxsMisQp zXJ&Wpjdz#$A2zlZ)?Q=BMj^(=uo1$zB-j{iAgQ7#Qlvy})JRFBJoTk*^43aiU#rka zeMqG?l}cMkFqA@|ggzu-laQpg32_XzaS{V1_`i2|W=zlylKWJ_Fp-DdUiQ{vYh1dNA?uiF6W;p8vqQ` z1i-QFWXcC_+-;v9KX@%uPSf z13%1^Gvf|~cI>Ki#P~4VA7J~l&tbYfcZ}Qd7^i>U_ye;O8zqdimtrqp9Y6XA=f@b~K9WFHm*^CP22&M@e-J74@6&`u%BFG&3>5zz65};?q86 zCnu9(8?;jmGO;f1i`aeCi9$>7Hq0AdbK zlNqS2`Xf;Jz?LRzw*COaFz-omNLY7KMJ0v^H-?8yK|%%)F4vCm%(`gDAx!EP?uK;Sc zZbQuf-xb9)d0^|d#JlRR8yXt!Xz3jSf*$`*fSTM@rL0<8y(GEgI5-JINsE%T)!e_T z1fcp_e(`hj$L5w;)Y6jU!aRS7NKV79y?6uZcmK_i5#IaTU-Zg_^W+v6OWM;Sfzn|E%}IsnFx>MABNu=BK)7Lx^-3~s*`8NHZ;o8-LP z$P3kUIYNbq7CM%d<=7UEZI6S_0JFCr9aZJo;S-&2EmSo&aOpK-ptAacpb-$AKhLr4 rm}6TW$F>}Vo50bS>HKuEzkm80MGXZu3$tZ100000NkvXXu0mjf$8Ovv diff --git a/website/static/img/logo.svg b/website/static/img/logo.svg index 87c93f5..0515079 100644 --- a/website/static/img/logo.svg +++ b/website/static/img/logo.svg @@ -2,60 +2,950 @@ + inkscape:export-xdpi="424.70047" + inkscape:export-ydpi="424.70047" + inkscape:export-filename="/home/xapantu/hackens/media/logo_carre.png" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id="metadata4361"> image/svg+xml - - - - + + + + + + + + h + a + c + k + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/templates/partials/footer.html b/website/templates/partials/footer.html index 205b51e..126e114 100644 --- a/website/templates/partials/footer.html +++ b/website/templates/partials/footer.html @@ -1,3 +1,3 @@
- Pour tout problème, contactez rf.sne@xuejopser. + Pour tout problème, contactez rf.sne@snekcah.
diff --git a/website/templates/partials/head.html b/website/templates/partials/head.html index 550bf1e..3b48917 100644 --- a/website/templates/partials/head.html +++ b/website/templates/partials/head.html @@ -2,7 +2,7 @@ -GestioJeux +GestioHackens diff --git a/website/templates/partials/header.html b/website/templates/partials/header.html index 467ae9f..0de5ef6 100644 --- a/website/templates/partials/header.html +++ b/website/templates/partials/header.html @@ -1,5 +1,5 @@
-

GestioJeux

+

GestioHackens

Menu