[v5] Écriture des spécifications
Posté le 03/07/2018 15:57
Les besoins ont été validés, on passe maintenant à la rédaction des spécifications techniques.
Mémo rapide pour les contributeurs :
–
Besoins validés
–
Pad des specs
–
Règles de contributions sur les pads
Les spécifications sont là pour détailler la manière d'implémenter les besoins. On est pas dans les détails vraiment techniques, mais on s'en rapproche.
Exemple sur du front-end :
– Besoin : affichage clair des notifications
– Spec : pastille en bas à droite de l'avatar dans le menu
– Conception : mettre un
:after dynamique sur l'avatar
Exemple sur du back-end :
– Besoin : utilisateurs répondants aux points listés
– Spec : classe
Member héritant de la classe
User avec les attributs et fonctions suivantes
– Conception architecturale : détail des fonctions à implémenter dans la classe
– Conception détaillée : détail de l'algo pour sécuriser le code qui sera produit
La séparation de la conception en deux parties (architecturale et détaillée) n'est pas forcément pertinente pour toutes les specs, mais de toute façon c'est pas le sujet aujourd'hui.
Vous êtes invités à contribuer sur les specs ! Dans un premier temps, ça se passe
sur le pad correspondant..
La deadline pour la validation est reportée au 5 août (pour cause de vacances du patron
)
Règles de contribution sur les pads
– On se choisi une couleur et un pseudo
avant d'écrire
– La couleur respecte les yeux de chacun, j'ai pas un stock infini de collyre
– On efface la couleur de ce qui est écrit que lorsque c'est validé
– Si un truc n'a plus de couleur, quelqu'un se charge de mettre le point au propre sur le wiki
– Le plus important :
tous les membres peuvent participer !
Citer : Posté le 21/09/2018 06:28 | #
Bien vu !
Citer : Posté le 01/11/2018 11:12 | #
Les specs sont figées déjà ou je peux faire une nouvelle suggestion ?
Je ne sais pas très bien comment sera géré le flux des notifications dans la V5. Ce que je sais c'est que sur la V42 on reçoit une notification dans la boîte de réception pour tous les nouveaux commentaires. Serait-il possible de ne pas suivre des topics spécifiques (Parce que bon j'aime bien les poireaux mais les combats de poireaux --leak war--, c'est pas mon truc ) ?
La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Citer : Posté le 01/11/2018 11:14 | #
C'est tout à fait possible dans l'archi actuelle.
Par contre les notifs' seront en principe sur les, disons, 1000 derniers topics actifs donc si tu en ignores 500 dans le paquet, tu n'auras des notifs' que pour les 500 derniers topics actifs.
Citer : Posté le 08/11/2018 21:54 | #
Proposition de titres ( https://git.planet-casio.com/devs/PCv5/wikis/Troph%C3%A9es-et-titres ) :
Ancienneté :
— Initié : 1 mois
— Habitué : 6 mois
— Amateur accompli : 1 an
— Aîné : 2 ans
— Papy casio : 5 ans (titre)
— Vétéran mythique : 10 ans (lol Totoyo)
Tests :
— Testeur : 5 tests postés
— Grand joueur : 25 tests postés
— Juge supérieur : 100 tests postés (titre)
Partage de graphismes :
— Apprenti dessinateur : 5 soumissions
— Dessinateur en herbe : 20 soumissions
— Open pixel : 50 soumissions
— Génie graphique : 100 soumissions (titre)
Tutoriels :
— Jeune instructeur : 5 tutos validés
— Pédagogue averti : 10 tutos validés
— Guerrier du savoir : 25 tutos validés (titre)
Nombre de messages de forum :
(Je pense qu'on peut en mettre plein, non ?)
— Premiers mots : 20 messages
— Âme bavarde : 100 messages
— Beau parleur : 250 messages
— Porteur des lettres : 500 messages
— Plume infaillible : 1500 messages
— Écrivain acharné : 5000 messages (titre)
Nombre de topics ouverts : (nouvel ensemble)
— Jeune curieux : 3 topics
— Crieur : 8 topics
— Annonciateur : 15 topics
— Inlassable casionaute : 30 topics
— Irréductible écrivain : 60 topics
— Monument littéraire : 100 topics (titre)
Citer : Posté le 08/11/2018 22:13 | #
Dans l'ensemble j'aime bien ce que tu proposes ! Quelques remarques qui passent par là :
* Beau parleur, j'aimais bien. On doit pouvoir le mettre quelque part.
* Vétéran mythique, c'est un peu "gros" pour 5 ans, mets ça à 10 ans plutôt. Faut que ça soit mythique (ie. juste Totoyo ).
* Par exemple Papy Casio pour 5 ans je trouvais ça sympa.
* On garde les cas de programmation que tu n'as pas cités, j'imagine ?
Citer : Posté le 09/11/2018 00:52 | #
* Ok,
* Oui, ok !
* Ok, fait.
* Oui, tout à fait.
Citer : Posté le 09/11/2018 10:35 | #
Drak: ça pourrait être trop bien x)
Mais du coup il serait possible d'avoir plusieurs titres en meme temps ?
Citer : Posté le 09/11/2018 10:40 | #
Dans l'ensemble j'aime bien ce que tu proposes !
Moi aussi j'aime bien, avec les modifs de Lephé j'aime encore plus
Mais du coup il serait possible d'avoir plusieurs titres en meme temps ?
Je pense que tu ne pourra pas avoir le titre Premiers mots et Âme bavarde en même temps
Citer : Posté le 09/11/2018 13:10 | #
En gros tu peux avoir plusieurs titres oui, et tu peux afficher un de tes titres en-dessous de ton pseudo. Très RPG !
Citer : Posté le 09/11/2018 13:13 | #
On peut mettre sangsue / squatteur ? Ça me définirait parfaitement
Citer : Posté le 09/11/2018 13:28 | #
Mmmh. Nan, dans l'ensemble j'aime moins. Quelques raisons.
J'aimais bien garder la cohérence de x trophées par catégorie (à l'exception de l'ancienneté, pour Papy Casio). Actuellement x=3, on peut passer sur x=5 si vraiment ça vaut le coup. Mais trop de trophées tuent les trophées…
Le tout français c'est sympa, mais j'aimais bien les références aux jeux vidéos. Typiquement le premier niveau d'ancienneté, je l'aurai appelé « Newbie ».
Initié, Ainé : je suis pas fan, on peut trouver mieux je pense. Ça "claque" pas assez.
Grand joueur : ça sonne bizarre
Juge supérieur : c'est pas un peu prétentieux ? En fait j'aime pas vraiment le terme de « juge » qui laisse penser à de la critique destructive et pas constructive.
Crieur : ça me fait penser aux kiddies qui écrivent tout en majuscules…
Par contre le nombre de messages sur le fofo je suis ok, à l'exception peut-être de porteur des lettres.
@Yatis : non, tu n'en affiche qu'un au choix parmi ceux disponibles. Par contre les trophées déverouillés sont visibles sur ton profil
Citer : Posté le 09/11/2018 18:07 | #
Pour les messages postés sur le forum, ça compte les messages de la shoutbox, Si oui Y a t-il déjà une sauvegarde ou tout débutera de zero ?
Vous êtes fan de « The legend of Zelda ocarina of Time »,si c’est le cas allez voir ZeldaGAME
mon projet de jeu basic casio
Citer : Posté le 09/11/2018 18:58 | #
Ça reprendra à zéro. Par contre y'a peu être moyen qu'on update en fonction des messages/topics qui seront migrés.
Ça ne compte pas les messages de la shout. D'ailleurs ceci ne pourront plus trivialement être comptés puisque l'on passera par un serveur IRC.
Citer : Posté le 09/11/2018 19:02 | #
Exucuse moi, mais c'est quoi un serveur IRC
Vous êtes fan de « The legend of Zelda ocarina of Time »,si c’est le cas allez voir ZeldaGAME
mon projet de jeu basic casio
Citer : Posté le 09/11/2018 19:05 | #
https://fr.wikipedia.org/wiki/Internet_Relay_Chat
Citer : Posté le 09/11/2018 19:06 | #
Merci
Vous êtes fan de « The legend of Zelda ocarina of Time »,si c’est le cas allez voir ZeldaGAME
mon projet de jeu basic casio
Citer : Posté le 09/11/2018 19:11 | #
Comment ça, ça repartira de zéro ? On n'en avait pas discuté
Citer : Posté le 09/11/2018 19:11 | #
IRC = Internet Relay Chat
Un système de chat beaucoup plus optimisé que la Shoutbox et qui permettra d'avoir plusieurs salons de discussions.
IRC sur Wikipedia
Citer : Posté le 15/11/2018 23:10 | #
Bon, ça avance \o/
Comme d'hab, retrouvez l'avancement au jour le jour sur le Gitlab. J'avance le code quand les specs sont ok, et les specs quand le code en a besoin.
Au passage, petite RFC.
Votre mission, si vous l'acceptez consiste à améliorer ce validateur de mot de passe :
if len(password.data) != 0 and len(password.data) < 12:
raise ValidationError('Mot de passe est trop court (12 caractères minimum)')
# TODO: add more rules >:]
Le len(password.data) != 0 est là pour le formulaire d'update de mot de passe. La présence est déjà validée par un DataRequired() quand nécessaire.
Le but est de coder, en Python 3, des règles suivant les bonnes pratiques proposées par l'ANSSI, à savoir :
Si vous souhaitez une règle simple : choisissez des mots de passe d’au moins 12 caractères de types différents (majuscules, minuscules, chiffres et caractères spéciaux).
Vous avez le droit d'inclure des bibliothèques de type re.
Merci d'avance pour vos contributions. On votera pour la solution la plus performante et élégante
NB : à ceux qui trouvent ces règles trop dures, sachez que la CNIL est aussi partie là dessus.
Citer : Posté le 15/11/2018 23:24 | #
raise ValidationError('Le mot de passe doit contenir la capitale du Japon')
if len(password.data) % 12 == 0:
raise ValidationError('Le mot de passe ne doit pas avoir une longueur divisible par 12')
if 'casio' in password.data.casefold():
raise ValidationError('Le mot de passe ne doit pas contenir "casio"')
if 'e' in password.data.casefold():
raise ValidationError("Un vilain caractère s'est glissé dans votre mot de passe !")
if password.data[-2] == password.data[1]:
raise ValidationError("Votre mot de passe ne serait-il pas symétrique ?")
if password.data == "moolyFTW":
raise ValidationError("Veuillez prouver que vous êtes Gabe Newell.")
Mon blog ⋅ Mes autres projets
Citer : Posté le 16/11/2018 07:10 | #
Voici ma version.
def classes(c):
return [1, c.islower(), c.isupper(), c.isdigit()]
counts = map(sum, zip(*map(classes, password)))
required = [12, 1, 1, 1]
return all(map(operator.ge, counts, required))
C'est un peu obfusqué comme résultat, mais c'est pas l'intention, je voulais juste faire un peu de programmation fonctionnelle. -_-"
L'idée c'est que classes(c) vous donne les classes auxquelles le caractère c appartient, ensuite vous calculez ça pour toutes les lettres, vous sommez, et vous vérifiez que c'est supérieur terme-à-terme au vecteur des minimums, qui est 12 lettres, 1 minuscule, 1 majuscule et un chiffre.
Ajouté le 17/11/2018 à 08:29 :
J'aimerais proposer quelque chose par rapport aux posts principaux des topics. Actuellement on a un problème assez casse-pieds, qui est que quand le post principal est réécrit, toutes les premières réponses sortent complètement de leur contexte.
Je propose de faire différemment de la méthode actuelle. Il faut voir ça comme si chaque topic ne contient que des commentaires, et pas de PP mais l'un des commentaires est affiché en haut de la page. Lorsqu'on veut réécrire substantiellement le PP, on poste un nouveau commentaire, et on le désigne comme PP. Ainsi l'ancien PP reste dans la liste des commentaires, à un endroit contextuellement parlant.
Je propose de l'afficher comme ceci :
Cas 1 : le PP est le premier commentaire du topic
Comme d'habitude.
Cas 2 : le PP est un commentaire de la page 4, et on visite la page 1
Posteur La v5 est quasi-prête !
==================================
[Le com' suivant est un ancien PP]
Avatar Je lance la v5!
Darks
------------------------------
Avatar Chaud!
Lephe
------------------------------
Avatar +1
Eragon
Cas 3 : le PP est un commentaire de la page 4, et on visite la page 4
Posteur La v5 est quasi-prête !
==================================
Avatar Tu as mis en prod' on
Lephe dirait ?
----------------------------------
[Le com' suivant est en PP]
Avatar La v5 est quasi-prête !
Darks
----------------------------------
Avatar :bounce:
Random
Là on peut décider d'afficher ou pas le texte du PP, on peut se contenter de mettre une petite ligne disant "Le PP actuel a été posté à ce moment-là".
Qu'est-ce que vous en dites ?