Wikipédia abstraite/Phases
Cette page est conservée pour son intérêt historique. Les règles mentionnées peuvent ne plus être d’usage. Si vous voulez relancer le sujet, vous pouvez utiliser la page de discussion ou commencer une nouvelle discussion sur le forum de la communauté. |
Le développement de la Wikipédia abstraite se déroulera en deux parties majeures, qui comprennent chacune un grand nombre de tâches. La première partie concerne le développement du wiki des fonctions, la seconde concerne le contenu abstrait et la génération en langue humaine. Sur cette page, nous redécoupons le début de la première partie en phases. Les phases sont reflétées dans Phabricator et liées depuis cette page, de même que les tâches et redécoupages des tâches.
Cette page pourrait rester inactive. L’emplacement canonique des informations concernant les tâches peut être trouvé dans Phabricator. Consultez l’état actuel dans Phabricator.
Nous nous attendons à environ dix phases avant le lancement du wiki des fonctions.
Toutes les tâches ci-dessous appartiennent à la tâche P1.2 : développement initial, sauf mention contraire.
Partie P1 : le wiki des fonctions
Phase α (alpha) : stocker, afficher et modifier l’entête — Terminé 2020-08-25
- Mise en place de l’environnement de développement réplicable. — tâche T258893
- Terminé Commencement de l’extension. — tâche T258893
- Terminé Travaux de configuration, téléversement du contenu de démarrage initial.
- Terminé Réutilisation du Gestionnaire de contenu JSON existant. — tâche T258893
- Terminé Permettre d’entrer des objets JSON par l’interface de modification brute. — tâche T258893
- Terminé Extension et codage en dur des objets JSON pour vérifier qu’un Z-Objet est bien formé. Rien de ce qui n’est pas bien formé ne devrait être traité ou stocké. La forme correcte devrait probablement être vérifiée à la fois dans le code PHP et le code JavaScript (ce devrait de toute façon être facile à écrire).
- Terminé en PHP. — tâche T258894
- Forme correcte : la syntaxe des clés, les clés autorisées, les valeurs sont des chaînes ou des proto-objets ou des listes de valeurs. — tâche T258894
- Terminé Chaque Z-Objet de premier niveau stocké doit être un Z2/Objet persistant. — tâche T258897
- Terminé Créer Z1/Objet, offrir une clé, Z1K1/type.
- Terminé Étendre le validateur codé en dur pour vérifier Z1K1/type.
- Terminé Créer Z2/Objet persistant. — tâche T258897
- Terminé Z2/Objet persistant a les clés Z2K1/ID, Z2K2/valeur et Z2K3/proto-libellé, ce dernier étant contrefait, juste une simple chaîne sans information de langue. — tâche T258897
- Terminé Étendre le validateur codé en dur pour Z2/Objet persistant jusqu’ici. — tâche T258897
- Terminé Fournir l’affichage codé en dur pour Z2/Objet persistant (c’est-à-dire l’entête) (c’est une tâche assez large). — tâche T258898
- Terminé Fournir une vue générique pour l’objet Z2K2/valeur. — tâche T258898
- Terminé Transformer le Z2K3/proto-libellé en un Z2K3/libellé approprié pour du texte multilingue.
- Terminé Étendre la vue pour Z2K3/libellé avec du texte multilingue.
Condition d’achèvement de la phase : en tant qu’utilisateur d’[un site avec l’extension MediaWiki installée], je peux créer et stocker une chaîne comme un nouveau Z-Objet, p.ex. « Bonjour au monde ! ».
Phase β (bêta) : création des types et des instances — Terminé 2021-02-04
- Terminé Validateurs codés en dur pour les Z4/proto-types et Z3/proto-clés. — tâche T258900
- Un Z4 a un champ Z4K2/clés avec une Liste JSON de Z3.
- Une proto-clé a un Z3K1/ID avec Z3K2/type et Z3K3/libellé (recopier le développement du libellé pour Z2K3 ?).
- Terminé Créer Z4/Type et Z3/Clé (Task P1.14).
- Terminé Recherche des Z-Objets par libellé. — tâche T260750
- Terminé pour cette phase. Utiliser les données de type Z4 et les déclarations de clés pour valider les objets. — tâche T260861
- Terminé Utiliser les données de type Z4 et les déclarations de clés pour une vue générique des objets. — tâche T258901
- Terminé Utiliser les données de type Z4 et les déclarations de clés pour la modification ou la création des objets. — tâche T258903 & tâche T258904
- Terminé Fournir un affichage codé en dur et une interface de modification pour le type Z4. — tâche T258900
Condition d’achèvement de la phase : en tant qu’utilisateur, je peux créer et stocker un objet qui met en œuvre tout type défini sur le wiki, p.ex. l’entier positif un.
Phase γ (gamma) : fonctions, mises en œuvre, erreurs — Terminé 2021-04-02
- Terminé Introduire un objet simple d’erreur. — tâche T261464
- Terminé Introduire une fonction simple. — tâche T258957
- Terminé Introduire une mise en œuvre simple, pour le moment seulement intégrée. — tâche T258958
- Terminé Créer quelques fonctions et mise en œuvre intégrées. — tâche T261474
- Terminé Introduire un appel de fonction simple. — tâche T261467
- Terminé Type de test (Tâche P1.10). — tâche T261465
Condition d’achèvement de la phase : en tant qu’utilisateur, je peux stocker un appel de fonction, une fonction et un testeur (seulement les objets, pas encore leur évaluation réelle), p.ex. si(vrai, faux, vrai)
(lire « si vrai alors faux sinon vrai », c.-à-d. la négation).
Phase δ (delta) : mises en œuvre intégrées — Terminé 2021-05-11
- Terminé Système d’évaluation pour les mises en œuvre intégrées. — tâche T260321
- Terminé Permettre aux utilisateurs web d’appeler l’évaluation par un module d’API (Tâche P1.5). — tâche T261475
- Terminé Page spéciale pour appeler l’évaluation (Tâche P1.11). — tâche T261471
Condition d’achèvement de la phase : en tant qu'utilisateur, je peux utiliser une page spéciale pour évaluer une fonction intégrée avec des entrées fournies, p.ex. pour vérifier si la liste vide est vide.
Phase ε (epsilon) : appels de fonction natifs — Terminé 2021-06-30
- Terminé Mises en œuvre en JavaScript (Tâche P1.12). — tâche T275944
- Terminé Mises en œuvre en Python (Tâche O6). — tâche T273517
- Terminé Permettre aux formulaires d’être inclus pour l’évaluation. — tâche T261472
Condition d’achèvement de la phase : en tant qu’utilisateur, je peux utiliser une page spéciale pour évaluer une fonction écrite par l’utilisateur dans l’un des langages pris en charge, p.ex. appeler une fonction écrite par l’utilisateur en Python pour additionner deux nombres.
Phase ζ (zêta) : composition — Terminé 2021-08-27
- Terminé Permettre les mises en œuvre par composition (Tâche P1.6). — tâche T261468
Condition d’achèvement de la phase :
- en tant qu’utilisateur, je peux mettre en œuvre une fonction qui utilise la composition d’autres fonctions au lieu de l’écrire moi-même, p.ex.
négation(Booléen → Booléen)
; — Terminé - (condition étendue) en tant qu’utilisateur, je peux voir les résultats des testeurs sur la page appropriée de mise en œuvre d’une fonction. [Ceci pourrait nécessiter d’être remis à une phase ultérieure car tous les pré-requis pourraient ne pas encore être remplis à ce point. Cela devra être fait pour la phase ι (iota).] — Terminé
Phase η (êta) : types génériques — Terminé 2022-04-08
- Terminé Permettre les types génériques, particulièrement pour Z10/Liste ou Z8/Fonction, et remplacer Z10/Liste et Z8/Fonction. ― tâche T275941
- Terminé Les erreurs peuvent être traitées en tant que Z-Objets.
- Terminé Les types définis par l’utilisateur fonctionnent avec les validateurs.
Condition d’achèvement de la phase :
- être capable de mettre en œuvre la
curryfication
comme une composition sur the wiki, mais sans nécessiter une analyse statique stricte ; — Terminé - rendre possible la création des trois types « définis par l’utilisateur » sur le wiki :
entier positif
,signe
etentier
; — Terminé - être capable de créer un type emballeur générique au moyen de la composition sur le wiki. — Terminé
Voir également le bulletin d’actualité publié au sujet de cette phase.
Phase θ (thêta) : gel et dégel — Terminé 2023-06-19
- Terminé Gel et dégel de contenu (Tâche P1.7). ― tâche T275942
- Terminé Tâche P1.9 : passage en revue de la sécurité. — tâche T274682, …
- Terminé Lancement du système public de test (Tâche P1.4). — tâche T261469
Condition d’achèvement de la phase :
- en tant qu’administrateur, je peux geler et dégeler tout objet écrit par l’utilisateur (apparenté à, ou peut-être la même chose que le système de protection de MediaWiki) ; tous les objets fournis par le système sont gelés de façon permanente ;
- en tant qu’utilisateur modifiant une page gelée, je peux changer le libellé, mais pas la mise en œuvre, alors que sur une page non gelée, les deux sont possibles ;
- les ZObjets sont stockés en utilisant la nouvelle forme canonique pour les listes typées et toutes les parties fonctionnent encore ;
- la visualisation et la modification de fonction est mise en œuvre et testée avec succès ;
- quand plusieurs mises en œuvre sont disponibles, la « meilleure » est choisie (la détermination de l’adéquation sera potentiellement modifiée ultérieurement) ;
- nous mesurons l’utilisation du temps d’horloge et de la mémoire à chaque exécution de fonction et l’affichons sur les résultats d’exécution et dans le tableau des mises en œuvre et des tests ;
- les modifications de ZObjets définis par le système sont restreintes aux seuls utilisateurs ayant les droits corrects ; des différences compréhensibles sont émises ; les résultats sont mis en cache ;
- le texte avec repli, les références, les chaînes et les listes sont mis en œuvre et testés avec succès ;
- une compréhension partagée avec la communauté sur la façon dont l’équipe contribuera à Wikifonctions, et pourquoi, est documentée ;
- les conceptions pour la visualisation et la modification de la documentation multilingue sur les appareils mobiles et de bureau est approuvée ; l’expérience utilisateur est instrumentée et les données collectées.
Phase ι (iota) : documentation des objets
- Ceci est une affectation préliminaire, déplaçant les tâches de documentation ici.
- Fournir la modification pour l’entête (en plus de la modification du code brut complet) (ceci est une tâche assez large) – ceci ne se réfère qu’aux libellés, en fait.
- Étendre la modification pour Z2K3/libellé avec du texte multilingue.
- Étendre l’entête avec Z2K4/documentation. — tâche T260954 & tâche T260956
- Étendre la modification pour s’occuper de la Z2K4/documentation. — tâche T260955
Condition d’achèvement de la phase : en tant qu’utilisateur, je peux documenter un Z-Objet dans n’importe lequel des langages de programmation pris en charge, en utilisant du wikitexte.
Phase κ (kappa) : nettoyage
- Affinage et nettoyage des tâches, pour clôturer toutes les tâches de prélancement.
Condition d’achèvement de la phase : au sein de l’Équipe de la Wikipédia abstraite, nous nous sentons prêt au lancement, y compris avec l’approbation de tous les collègues concernés.
Phase λ (lambda) : lancement
- La phase λ (lambda) est destinée au lancement. S’il y a des tâches préalables au lancement qui empêche de le faire, il faudra que ce soit fait, évidemment.
- Mettre en place un nouveau projet Wikimédia.
- Déplacer certaines pages wiki de Méta-Wiki à Wikifunctions.
Condition d’achèvement de la phase : en tant que personne sur le Web, je peux visiter et utiliser Wikifunctions.org pour écrire et exécuter des fonctions directement sur le site.
Tâches hors phases
Les tâches préalables au lancement qui doivent arriver mais qui ne sont pas encore planifiées en phases :