En cette période de Bac, retrouvez notre sélection de programmes. De plus, nous vous conseillons de ne pas vous y prendre au dernier moment, le site peut être indisponible suite à une surcharge de visiteurs.
Forums Casio - Actualités

Index du Forum > Actualités > Compte-rendu de la réunion de développement de la v5
Lephenixnoir
En ligne
Administrateur
Niveau: Confirmé
Points: 11523
Défis: 136
Message
Posté le 07/06/2018 23:05

Compte-rendu de la réunion de développement de la v5 :

On a fait ce soir une réunion de la v5... pour se poser des objectifs MALINS. Alors voici pour vous l'état actuel des choses.

Le cycle en V

On part sur une méthode classique de développement : le cycle en V. Ça part d'en haut à gauche et ça va jusqu'à en haut à droite. À gauche, on conçoit de plus en plus détaillé, ensuite on implémente, et à droite on vérifie que le contrat qu'on avait annoncé à gauche a bien été effectué.

Analyse des besoins                             Recette
          \                                        /
       Spécifications                  Tests de validation
              \                                /
      Conception architecturale    Tests d'intégration
                  \                        /
           Conception détaillée   Tests unitaires
                      \                /
                        Implémentation


Analyse des besoins

La première étape consiste à donner les grandes lignes du design : à quel besoin on veut répondre. En gros on a préparé ça avec Darks sur notre pad de brainstorming v5 il y a (déjà !) quelques années. Ce pad est un peu long mais il est public : vous pouvez aller le lire à loisir. (Veuillez ne pas le modifier toutefois.)

Pad Planète Casio v5

Un document résumé de ce pad (qui n'est pas écrit dans un style très digeste) sera publié sur le forum pour que tous les membres puissent prendre connaissance de nos grands plans de chantier (deadline pour ce document: 10 Juin). Tous les contributeurs devront absolument le lire avant de commencer !

Spécifications

C'est là qu'on en est : les spécifications sont notre prochaine étape ! Il faut définir de façon plus précise ce que la v5 sera du point de vue extérieur. On ne se pose pas encore la question de comment on la code ou comment elle marche en interne, mais on spécifie le résultat que l'on veut obtenir.

Par exemple, « les commentaires de programmes doivent posséder toutes les fonctionnalités des messages du forum » est une spécification un peu vague mais intéressante. On en déduira plus tard « la classe Program hérite de la classe Topic ».

Cette phase a déjà été un peu couverte par le pad ci-dessus où Darks et moi avons discuté un peu de tout de façon informelle, mais les spécifications doivent être détaillées et surtout elles doivent être exhaustives. Si quelque chose manque dans les specs', on ne peut pas coder. Alors on pourra toujours affiner en cours de route, mais le but c'est de couvrir un max de terrain.

Tout ceci, on le fait dans un autre pad public, que vous pouvez aller lire sans compte et dans lequel vous pouvez écrire ; n'hésitez pas à le surveiller et à donner régulièrement votre avis ! Stay tuned!

Pad Spécifications v5

Conception architecturale

Une fois la phase de spécifications finie, on passera à la conception architecturale. Il faudra diviser la v5 en petits morceaux indépendants qui communiquent d'une façon bien définie, et décomposer ces modules en morceaux avec des APIs...

J'ai déjà des bouts réutilisables pour cette phase, que j'ai écrits quand j'ai eu une idée claire du système de comptes ; ça me servait abusivement de specs'. C'est à cette phase que l'on définira la REST API.

La suite

C'est encore trop tôt pour parler des autres phases. Alors parlons de nos prochaines deadlines !

10 Juin: Mise en place de http://v5.planet-casio.com
Le serveur peut délivrer des fichiers statiques mais on ne peut pas encore utiliser de scripts Python. Au 10 Juin il faudra qu'on puisse tester le code du Git avec !
Fait depuis : voyez le topic d'annonce

10 Juin: Tutoriel pour créer une environnement de développement local
Car on code avec nginx, sous Linux, avec Flask et uwsgi... et c'est pas facile à configurer ! Un bon tutoriel pour mettre ça en place aidera les contributeurs à s'y retrouver.
Fait depuis : voyez Environnement de développement sur le wiki du dépôt

10 Juin: Une machine virtuelle de développement
Les utilisateurs de Windows ou les frileux de l'administration système pourront installer une machine virtuelle qu'on fournira pré-configurée avec un environnement de dev' pour tester la v5, la modifier en local, et partager les modifications sur le Git.
Fait depuis : voyez l'issue sur le dépôt

10 Juin: Le document de design
Fait depuis : voyez Analyse des besoins sur le wiki du dépôt

Samedi 23 Juin: La prochaine réunion !
Ce sera une réunion vocale pour aborder la suite du programme. Probablement planifiée à 20 heures sur le Mumble, comme pour aujourd'hui. Afin de pouvoir avancer, on incite très très fortement les participants à se préparer à l'avance, c'est-à-dire :

- Lire le document de design, qui aura été publié entre-temps
- Tester les Framapads ci-dessus, vérifier qu'il peuvent lire et modifier
- Si vous planifiez de coder quelque chose, créer un compte sur le Gitlab
- De la bonne humeur !

C'est tout pour ce soir. On peut préciser ce qui n'est pas clair dans les commentaires, alors si vous avez des incertitudes, lâchez-vous !



Ne0tux
Hors ligne
Membre d'honneur
Niveau: Aucun
Points: 3096
Défis: 261
Message
Dernier message de la page précédente :Posté le 11/06/2018 19:06 |
----------------------------------
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 !



Pages: Précédente | 1, 2

Dark storm
Hors ligne
Administrateur
Niveau: Aucun
Points: 10264
Défis: 174
Message
Citer : Posté le 12/06/2018 10:40 | #
Le guide d'utilisation de la VM est en ligne ici, j'aimerai avoir des retours pour voir si ça fonctionne chez tout le monde
----------------------------------
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
Shyked
Hors ligne
Membre
Niveau: Confirmé
Points: 272
Défis: 20
Message
Citer : Posté le 13/06/2018 14:55 | #
J'ai un forbidden sur le lien de téléchargement de la VM

Pour la preview ça a l'air très prometteur !

Et sinon, je sais pas si on parle de la même chose, mais pour moi une police d'icône, c'est par exemple Font Awesome, qui pour le coup est très light dans le code
<i class="fas fa-user"></i>


Pour les balises SVG je suis d'accord que ça prend de la place par contre
Lephenixnoir
En ligne
Administrateur
Niveau: Confirmé
Points: 11523
Défis: 136
Message
Citer : Posté le 13/06/2018 15:05 | #
Dans l'idée, c'est sûr que la fonte c'est pas trop lourd, en pratique je rejoins Darks, je trouve ça assez chiant à utiliser. On finit par tout wrapper dans du content CSS et c'est pas terrible.

M'enfin à la fin je voterai pour le plus efficace.
----------------------------------
Rise.
Breizh_craft
En ligne
Modérateur
Niveau: Confirmé
Points: 733
Défis: 7
Message
Citer : Posté le 13/06/2018 15:14 | # | Fichier joint
Les balises SVG ne prennent pas tellement de place si on les charge depuis d'autres fichiers. Je suis pas fan des tentatives d'optimisation qui impliquent de tout foutre dans le même fichier… surtout que cela signifie que sur les connexions lentes, la page devra charger entièrement avant affichage. Et je ne pense pas que les icônes soient indispensables (si on voit l'alt quelques secondes, c'est acceptable).

Exemple de parallélisation faite par Firefox (sur une bonne connexion et avec du cache, les SVG chargent après coup, mais sur ma connexion pourrie, les barres bleues commencent avant la fin du chargement du doc HTML) :


Tout mettre en un fichier reviendrait à avoir un chargement séquentiel, en virant les requêtes. On économise les requêtes, mais sur un grand nombre de fichiers (on aura pas que 3 ou 4 icônes, je pense), on force une séquentialité là où il y aurait eu une parallélisation.

Conclusion personnelle : faisons quelque chose de propre et simple (KISS FTW) et laissons le serveur web et les navigateurs optimiser les perfs à leur façon, je pense que c'est préférable.
----------------------------------
Informagicien professionnel, prestidigitateur système. Tout est possible.
Lephenixnoir
En ligne
Administrateur
Niveau: Confirmé
Points: 11523
Défis: 136
Message
Citer : Posté le 13/06/2018 15:26 | #
C'est sûr que servir en images des fichiers SVG avec une grande durée de mise en cache ce serait le top. En fait une fois que c'est en cache la vitesse de chargement est toujours la même... donc autant faire simple.
----------------------------------
Rise.
Breizh_craft
En ligne
Modérateur
Niveau: Confirmé
Points: 733
Défis: 7
Message
Citer : Posté le 13/06/2018 15:28 | #
Oui, c'est vrai que les images présentes sur toutes les pages seront en cache si on les sers séparément, ce qui est la meilleur optimisation possible en web
----------------------------------
Informagicien professionnel, prestidigitateur système. Tout est possible.
Shyked
Hors ligne
Membre
Niveau: Confirmé
Points: 272
Défis: 20
Message
Citer : Posté le 13/06/2018 16:47 | #
Le seul hic avec les icônes svg dans un fichier .svg externe, c'est que la couleur n'est pas changeable sans modifier le fichier d'origine. Donc ça passe pour des images colorées, mais ça peut être handicapant pour des icônes monochrome qui s'adaptent à la couleur du texte.

Dans tous les cas, j'ai vu dans le code source de Darks qu'il était parti sur des balises svg (pour le menu du moins). Vu que les icônes sont relativement simples ça reste propre !
Breizh_craft
En ligne
Modérateur
Niveau: Confirmé
Points: 733
Défis: 7
Message
Citer : Posté le 13/06/2018 16:52 | #
C'est rare les icônes monochromes colorées en fonction du texte. Et je ne pense pas que ce soit de ce genre d'icônes dont on parle actuellement.

Et à priori, c'est relativement possible : https://css-tricks.com/cascading-svg-fill-color/ mais je ne sais pas si ça s'applique à des svg externes.
----------------------------------
Informagicien professionnel, prestidigitateur système. Tout est possible.
Lephenixnoir
En ligne
Administrateur
Niveau: Confirmé
Points: 11523
Défis: 136
Message
Citer : Posté le 13/06/2018 17:54 | #
On peut styliser des SVG externes avec des classes ; c'est assez limité mais la couleur ça passe. Faut vérifie le support navigateur et les détails.
----------------------------------
Rise.
Breizh_craft
En ligne
Modérateur
Niveau: Confirmé
Points: 733
Défis: 7
Message
Citer : Posté le 13/06/2018 18:02 | #
Si c'est mal supporté mais que ça fait pas nawak, c'est pas si grave. C'est quand même un détail dont on parle, là, je trouve
----------------------------------
Informagicien professionnel, prestidigitateur système. Tout est possible.
Dark storm
Hors ligne
Administrateur
Niveau: Aucun
Points: 10264
Défis: 174
Message
Citer : Posté le 13/06/2018 22:23 | #
Shyked a écrit :
J'ai un forbidden sur le lien de téléchargement de la VM

En effet, j'ai corrigé les permissions.

Ajouté le 13/06/2018 à 22:25 :
Et à la réflexion je plussoie Breizh. Vu que si on les met en cache un bout de temps (ça doit pouvoir se régler) on ne charge les icônes que très peu souvent, autant les laisser en plusieurs fichiers externes. Et puis c'est du détail, un SVG c'est pas non plus très lourd à charger par rapport à d'autres trucs.

Enfin, on en reparlera dans les specs et l'archi technique
----------------------------------
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya

Pages: Précédente | 1, 2

Index du Forum > Actualités > Compte-rendu de la réunion de développement de la v5

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2018 | Il y a 319 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire indépendant, géré bénévolement et n'est donc pas affilié à Casio | Toute reproduction de Planète Casio, même partielle, est interdite
Les fichiers, programmes et autres publications présents sur Planète Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des licences ou des copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd