Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Vie communautaire


Index du Forum » Vie communautaire » [v5] Écriture des spécifications
Dark storm En ligne Labélisateur Points: 11631 Défis: 176 Message

[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 !


Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 21/09/2018 06:28 | #


Bien vu !
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Ne0tux Hors ligne Membre d'honneur Points: 3524 Défis: 265 Message

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 ) ?
Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

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.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

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)
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

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 ?
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

Citer : Posté le 09/11/2018 00:52 | #


* Ok,
* Oui, ok !
* Ok, fait.
* Oui, tout à fait.


Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !
Yatis En ligne Membre Points: 580 Défis: 0 Message

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 ?
Eragon Hors ligne Gardien des bots Points: 431 Défis: 0 Message

Citer : Posté le 09/11/2018 10:40 | #


Lephenixnoir a écrit :
Dans l'ensemble j'aime bien ce que tu proposes !

Moi aussi j'aime bien, avec les modifs de Lephé j'aime encore plus

Yatis a écrit :
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
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

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 !
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Breizh_craft Hors ligne Modérateur Points: 1157 Défis: 7 Message

Citer : Posté le 09/11/2018 13:13 | #


On peut mettre sangsue / squatteur ? Ça me définirait parfaitement
Breizh.pm – Un adminsys qui aime les galettes.
Dark storm En ligne Labélisateur Points: 11631 Défis: 176 Message

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
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

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 ?
“Il y a bien moins de difficultés à résoudre un problème qu’à le poser.”

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
Dark storm En ligne Labélisateur Points: 11631 Défis: 176 Message

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.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

Citer : Posté le 09/11/2018 19:02 | #


Exucuse moi, mais c'est quoi un serveur IRC

“Il y a bien moins de difficultés à résoudre un problème qu’à le poser.”

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
Breizh_craft Hors ligne Modérateur Points: 1157 Défis: 7 Message

Citer : Posté le 09/11/2018 19:05 | #


https://fr.wikipedia.org/wiki/Internet_Relay_Chat
Breizh.pm – Un adminsys qui aime les galettes.
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

Citer : Posté le 09/11/2018 19:06 | #


Merci
“Il y a bien moins de difficultés à résoudre un problème qu’à le poser.”

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
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 09/11/2018 19:11 | #


Comment ça, ça repartira de zéro ? On n'en avait pas discuté
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Eragon Hors ligne Gardien des bots Points: 431 Défis: 0 Message

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
Dark storm En ligne Labélisateur Points: 11631 Défis: 176 Message

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 :
def validate_password(form, password):
    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 :
ANSSI a écrit :
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.

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Cakeisalie5 Hors ligne Ancien administrateur Points: 1896 Défis: 11 Message

Citer : Posté le 15/11/2018 23:24 | #


if 'tokyo' not in password.data.casefold():
    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.")


Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 16/11/2018 07:10 | #


Voici ma version.

import operator

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

Avatar     Texte du nouveau PP
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

Avatar     Texte du nouveau PP
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 ?
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 120 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd