-
Notifications
You must be signed in to change notification settings - Fork 160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Intégration des smileys clems #4408
Conversation
Je regarde la review plus tard, mais déjà je te remercie pour ton courage. Je suis passé par là pour les galères de rebase et je sais combien c'est démotivant. Bravo ! |
Tu as besoin d'aide pour la "deuxième partie" ? |
Oui je n'ai jamais utilisé nginx & l'intégration du back-end semble faire appel à des fonctions spécifiques. |
Pour la partie nginx, c'est de toute façon à faire par un admin au moment de la MEP. Il faut juste mettre les instructions. Côté back-end, il "suffit" de placer un cookies, ça ne devrait pas être exceptionnelement compliqué. Je veux bien m'en occuper si nécéssaire. Note à moi-même (ou quiquonque de motivé): pas oublier d'éditer la page expliquant les cookies ;) |
En fait, nginx, ça va pas marcher: quid des dévellopeurs qui testent en local ? |
Ou bien on laisse les smileys à leur ancienne place, et on utilise nginx pour la redirection vers |
Il n’y a pas moyen d’utiliser cette histoire de redirection avec nginx juste en production et écrire un bout de Python avec Django pour faire l’équivalent en local ? |
Ben non, sinon je tenterai d'utiliser le "bout de python" en production aussi. Mais la gestion des fichiers statiques est un peu étonnante avec Django, du coup l'option ne fonctionnera pas en local. Je dirais que c'est un moindre mal :-° |
Juste une dernière question : À assez long terme, c’est vraiment pas possible de réécrire (éventuellement progressivement) le HTML caché ? Si c’est possible, on pourrait peut-être se contenter d’un hack temporaire côté client 🙃. |
Ça demande quand même le re-passage à la moulinette de tout les messages du forum, des MP, et de tout les contenus validés. Même si c'est pas impossoible, c'est beaucoup de temps pour pas grand chose ^^ |
Je viens de réfléchir un peu à tout ça et le hack côté client ne me semble pas si dégueu, parce que :
|
Et le fait de dire <Les anciens messages restent avec les anciens emoji, et les nouveaux messages passe sur les nouveaux emoji> et éventuellement la solution de @motet-a pour les anciens messages avec sont JS. |
On n'inverse pas plutôt le contenu des fichiers ? |
Je préfèrerais aussi les smileys clem par défaut, après il s'agit de goût et de couleur.
C'est un grand , aucune volonté d'être insultant ✌️ |
update.md
Outdated
+ Ajouter `ZDS_APP['member']['clem_smileys_allowed'] = True` au `settings_prod.py`. | ||
+ Télécharger le fichier [`clem_smileys.conf`](https://github.com/zestedesavoir/zds-site/blob/dev/doc/source/install/configs/nginx/snippets/clem_smileys.conf) et le placer dans `/etc/nginx/snippets/zds/`. | ||
+ Éditer `/etc/nginx/sites-available/zestedesavoir` et ajouter `include snippets/zds/clem_smileys.conf;` dans le bloc `location ~* ^/(static|media|errors)/ {` (après la ligne 66?) | ||
+ Redémarer nginx: `systemctl restart nginx` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Recharger nginx: `systemctl reload nginx`
(Redémarrer n'est pas utile ici ;) )
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Même si on chipote aux fichiers de config, y'a un auto-reload ? (vraie question, parce que pas activé chez moi ^^)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah non y'a pas d'auto-reload. C'est pour ça qu'il faut dire à systemd de reloader nginx.
zds/member/forms.py
Outdated
@@ -250,6 +253,9 @@ def __init__(self, *args, **kwargs): | |||
self.helper.form_class = 'content-wrapper' | |||
self.helper.form_method = 'post' | |||
|
|||
if settings.ZDS_APP['member']['clem_smileys_allowed']: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comme ça entre directement dans la codebase, y compris migrations, mets ça directement dans la liste multi_choices
l.220 :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
En fait, je part du principe que cette option (ou son inverse si on inverse la logique) ne fonctionne pas si le sysadmin n'applique pas la modification à NGINX. Ce pourquoi je préfère être prudent et laisser une option désactivant l'option si nécessaire :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je préfère qu'on s'assure sur la beta que ça fonctionne.
migrations.AddField( | ||
model_name='profile', | ||
name='use_clem_smileys', | ||
field=models.BooleanField(default=False, verbose_name='Utilise les smileys Clem ?'), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😺default=True
comme discuté dans les commentaires ?
zds/member/models.py
Outdated
@@ -73,6 +73,7 @@ class Meta: | |||
can_write = models.BooleanField("Possibilité d'écrire", default=True) | |||
end_ban_write = models.DateTimeField("Fin d'interdiction d'écrire", null=True, blank=True) | |||
last_visit = models.DateTimeField('Date de dernière visite', null=True, blank=True) | |||
use_clem_smileys = models.BooleanField('Utilise les smileys Clem ?', default=False) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Donc en fait ici et dans le fichier juste précédent.
zds/member/views.py
Outdated
return redirect(reverse('homepage')) | ||
response = redirect(reverse('homepage')) | ||
set_clem_smileys_cookie(response, profile) | ||
return response |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
try:
- response = redirect(next_page)
- set_clem_smileys_cookie(response, profile)
- return response
+ redirect_to = next_page
except:
- response = redirect(reverse('homepage'))
- set_clem_smileys_cookie(response, profile)
- return response
+ redirect_to = reverse('homepage')
+ response = redirect(redirect_to)
+ set_clem_smileys_cookie(response, profile)
+ return response
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ce code est techniquement sencé rattraper les 404, en fait, 404 qui n'apparaissent que lors du return
, d'ou ce code un peu tarabiscoté.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm je suis pas expert en Python mais il me semble pas que ce soit possible. Comment est-ce que le statement return
pourrait lancer une exception ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pas faux.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Beau boulot !
@pierre-24 Tu peux ignorer certains de mes messages, j'ai réalisé que vers la fin que modifier la valeur par défaut de l'option pour les membres n'était pas suffisant et qu'il faudra inverser la logique générale pour que les visiteurs (!membres) aient les "nouveaux" par défaut.
WinXaito tout a fait, je pensais à ça aussi que clem allait rester dans le placard ! |
Ok, faut donc que j'inverse la logique :) |
Logique inversée, encore une fois merci @A-312 :) |
Tout est bon ici, pour merge ? ça marche bien sur ton instance ! |
Il vaut mieux ne pas merger avant le dernier moment parce que c'est pénible à déployer. Je préfère qu'on merge toutes les PR relatives à l'interface des publications avant, qu'on fasse une dernière preview pour s'assurer que tout est bon, puis les derniers fix nécessaires, puis on merge celle-ci et celle d'ES 5.1.1 et on lance la release. |
* Intégration des smileys clems * Et un autre mouvement de smileys! * Ajoute smileys dans gulp * Génère et gère le cookie * roses are red... * Un peu de doc * Test is love, test is life * Et on oublie pas la recette ! * Et il faut tester, avant * fix test * logique inverse! * Les derniers petits trucs * Page des cookies
QA
Il est possible de tester le résultat ici, avec l'utilisateur
user
(mdp:user
), parce que j'ai changé les mots de passe deadmin
etstaff
pour éviter les ennuis, et que les mails ne fonctionnerons pas pour vous inscrire.CTRL
+F5
pour recharger le cache (même si c'est pas forcément utile) et admirez le résultat ici.Avant:
Et après: