Wikipédia abstraite/Phases

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search
This page is a translated version of the page Abstract Wikipedia/Phases and the translation is 89% complete.
Outdated translations are marked like this.

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 — Yes check.svg Terminé

  1. Mise en place de l’environnement de développement réplicable. — tâche T258893
    • Yes check.svg Terminé Commencement de l’extension. — tâche T258893
    • Yes check.svg Terminé Travaux de configuration, téléversement du contenu de démarrage initial.
    • Yes check.svg Terminé Réutilisation du Gestionnaire de contenu JSON existant. — tâche T258893
    • Yes check.svg Terminé Permettre d’entrer des objets JSON par l’interface de modification brute. — tâche T258893
  2. Yes check.svg Terminé Extension et codage en dur des objets JSON pour vérifier qu’un Objet-Z 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).
    • Yes check.svg 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
  3. Yes check.svg Terminé Chaque Objet-Z de premier niveau stocké doit être un Z2/Objet persistant. — tâche T258897
  4. Yes check.svg Terminé Créer Z1/Objet, offrir une clé, Z1K1/type.
  5. Yes check.svg Terminé Étendre le validateur codé en dur pour vérifier Z1K1/type.
  6. Yes check.svg Terminé Créer Z2/Objet persistant. — tâche T258897
  7. Yes check.svg 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
  8. Yes check.svg Terminé Étendre le validateur codé en dur pour Z2/Objet persistant jusqu’ici. — tâche T258897
  9. Yes check.svg 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
  10. Yes check.svg Terminé Fournir une vue générique pour l’objet Z2K2/valeur. — tâche T258898
  11. Yes check.svg Terminé Transformer le Z2K3/proto-libellé en un Z2K3/libellé approprié pour du texte multilingue.
  12. Yes check.svg Terminé Étendre la vue pour Z2K3/libellé avec du texte multilingue.

Condition d’achèvement de la phase : As a user [of a site with the MediaWiki extension installed], I can create and store a string as a new ZObject, e.g. "Hello world!".

Phase β (bêta) : création des types et des instances — Yes check.svg Terminé

  1. Yes check.svg 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 ?).
  2. Yes check.svg Terminé Créer Z4/Type et Z3/Clé (Task P1.14).
  3. Yes check.svg Terminé Recherche des Objets-Z par libellé. — tâche T260750
  4. Yes check.svg 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
  5. Yes check.svg 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
  6. Yes check.svg 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
  7. Yes check.svg 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 :

As a user, I can create and store an object implementing any on-wiki defined type, e.g. the positive integer one

Phase γ (gamma) : fonctions, mises en œuvre, erreurs — Yes check.svg Terminé

  1. Yes check.svg Terminé Introduire un objet simple d’erreur. — tâche T261464
  2. Yes check.svg Terminé Introduire une fonction simple. — tâche T258957
  3. Yes check.svg Terminé Introduire une mise en œuvre simple, pour le moment seulement intégrée. — tâche T258958
  4. Yes check.svg Terminé Créer quelques fonctions et mise en œuvre intégrées. — tâche T261474
  5. Yes check.svg Terminé Introduire un appel de fonction simple. — tâche T261467
  6. Yes check.svg Terminé Type de test (Tâche P1.10). — tâche T261465

Condition d’achèvement de la phase : As a user, I can store a function call, a function, and a tester (only the objects, no actual evaluation yet), e.g. if(true, false, true) (read "if true then false else true", i.e. negation)

Phase δ (delta) : mises en œuvre intégrées — Yes check.svg Terminé

  1. Yes check.svg Terminé Système d’évaluation pour les mises en œuvre intégrées. — tâche T260321
  2. Yes check.svg Terminé Permettre aux utilisateurs web d’appeler l’évaluation par un module d’API (Tâche P1.5). — tâche T261475
  3. Yes check.svg 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, e.g. pour vérifier si la liste vide est vide.

Phase ε (epsilon) : appels de fonction natifs — Yes check.svg Terminé

  1. Yes check.svg Terminé Mises en œuvre en JavaScript (Tâche P1.12). — tâche T275944
  2. Yes check.svg Terminé Mises en œuvre en Python (Tâche O6). — tâche T273517
  3. Yes check.svg 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, par exemple appeler une fonction écrite par l'utilisateur en Python pour additionner deux nombres.

Phase ζ (zêta) : composition — Yes check.svg Terminé

  1. Yes check.svg Terminé Permettre les mises en œuvre par composition (Tâche P1.6). — tâche T261468

Condition d’achèvement de la phase :

  • As a user, I can implement a function using composition of other functions, rather than writing it myself, e.g. negate(Boolean → Boolean).Yes check.svg Terminé
  • [Condition étendue : les tests sont branchés et montrent les résultats sur les pages de fonction. Ceci pourrait nécessiter d’être remis à une phase ultérieure car tous les pré-requis pourraient ne pas encore être remplis ici. Cela devra être fait pour la phase ι (iota).]Yes check.svg Terminé

Phase η (êta) : types génériques

  1. Permettre les types génériques, particulièrement pour Z10/Liste ou Z8/Fonction, et remplacer Z10/Liste et Z8/Fonction. ― tâche T275941
  2. Errors can be processed like ZObjects.
  3. User-defined types work with validators.
  4. Tâche P1.9 : passage en revue de la sécurité. — tâche T274682, …
  5. Lancement du système public de test (Tâche P1.4). — tâche T261469

Condition d’achèvement de la phase ::

  • As a user, I am given proper validation responses when using items about their type. For example the Head of a list should be checked for safety, i.e. if(head([true]), false, true) validates but if(head(["text"]), false, true) does not. [This condition might be simplified.]
  • [Condition étendue : mettre en œuvre une fonction curry. Cela devra être fait pour la phase κ (kappa).]

Phase θ (thêta) : gel et dégel

  1. Gel et dégel de contenu (Tâche P1.7). ― tâche T275942

Condition d’achèvement de la phase :

  • As a sysop, I can freeze and unfreeze any user-written object (akin to, or maybe the same as, MediaWiki's protection system); all system-supplied objects are permanently frozen.
  • En tant qu'utilisateur modifiant une page gelée, je peux changer l'étiquette, mais pas l'implémentation, alors que sur une page non gelée, les deux sont possibles.

Phase ι (iota) : documentation des objets

  1. Ceci est une affectation préliminaire, déplaçant les tâches de documentation ici.
  2. 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.
  3. Étendre la modification pour Z2K3/libellé avec du texte multilingue.
  4. Étendre l’entête avec Z2K4/documentation. — tâche T260954 & tâche T260956
  5. Étendre la modification pour s’occuper de la Z2K4/documentation. — tâche T260955

Condition d’achèvement de la phase : As a user, I can document a ZObject in any and all supported languages, using a wikitext.

Phase κ (kappa) : nettoyage

  1. Affinage et nettoyage des tâches, pour clôturer toutes les tâches de prélancement.

Condition d’achèvement de la phase : As the Abstract Wikipedia Team, we feel ready for launch, including sign-off from all relevant colleagues.

Phase λ (lambda) : lancement

  1. 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.
  2. Mettre en place un nouveau projet Wikimédia.
  3. 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.

Tâches hors phases

Les tâches préalables au lancement qui doivent arriver mais qui ne sont pas encore planifiées en phases :

Tâches postérieures au lancement de la première partie

Voir aussi