Jump to content

Wikifunctions:FAQ

From Wikifunctions
This page is a translated version of the page Wikifunctions:FAQ and the translation is 98% complete.
Outdated translations are marked like this.
Raccourci :
WF:FAQ

Ceci est une page dédiée à la Foire Aux Questions sur les Wikifunctions. N'hésitez pas à poser votre propre question sur la page de discussion, si votre question n'est pas listée ici !

Veuillez également consulter notre FAQ sur Meta pour des questions plus générales sur Wikifunctions et/ou sur la Wikipédia abstraite.

Introduction

Sur quoi porte ce projet ?

Wikifunctions est un nouveau projet de Wikimedia qui fournit un catalogue de toutes sortes de fonctions que n'importe qui peut appeler, écrire, maintenir, et utiliser. Elle fournit aussi la technologie de base qui permettrait éventuellement la traduction des articles indépendants de la langue d' Abstract Wikipedia vers la langue de n'importe quel projet de Wikipédia. Ceci permettra à tout le monde de contribuer et lire des articles dans leur langue préférée.

Qu’est-ce qu’une fonction ?

Les fonctions sont une forme de connaissance qui peut répondre à des questions, telles que le nombre de jours qui se sont écoulés entre deux dates ou la distance entre deux villes. Des fonctions plus complexes peuvent répondre à des questions plus complexes, comme le volume d'une forme tridimensionnelle, la distance entre Mars et Vénus à une certaine date, ou si deux espèces étaient vivantes en même temps.

Nous utilisons déjà des fonctions dans de nombreux types de requêtes sur la connaissance, comme poser une question à un moteur de recherche. Les modèles, tels que Template:Convert et Template:Age sur la Wikipédia anglaise, sont également des exemples de fonctionnalités déjà utilisées dans de nombreuses Wikipédias, écrites en wikitext et en Lua et copiées manuellement sur chaque wiki où elles sont nécessaires.

Qu'est-ce qu'une implémentation ?

Une implémentation est une façon particulière d'exécuter une fonction. Une implémentation est une recette qui énumère les étapes nécessaires pour exécuter la fonction. Il peut s'agir d'un morceau de code dans un langage de programmation ou d'une combinaison d'appels à d'autres fonctions. Une fonction peut avoir de nombreuses implémentations, qui devraient toutes être équivalentes.

Qu'est-ce qu'un test ?

Un test est un moyen de déterminer si une fonction donnée fait ce qu'il faut. Une fonction aura généralement plusieurs testeurs, chacun spécifiant une certaine entrée de la fonction et les conditions que la sortie pour l'entrée donnée doit remplir.

Par exemple, les testeurs pour une fonction "title case" peuvent inclure : "abc" devrait devenir "Abc" ; "war and peace" devrait devenir "War and Peace" ; "война и мир" devrait devenir "Война и мир" ; et "123" devrait rester "123".

Quelles sont les fonctionnalités disponibles aujourd'hui, celles qui le seront bientôt et celles qui le seront plus tard ?

  • Lors du lancement :
    • Chaînes et booléens.
    • Wikifunctions sera entièrement internationalisé dès le départ. Il peut être utilisé dans n'importe quelle langue.
  • Développement en cours :
    • les types génériques et les fonctions génériques ne sont pas entièrement pris en charge.
    • L'ajout de types sera, pour l'instant, limité à l'équipe de développement. À l'avenir, la communauté pourra ajouter elle-même de nouveaux types. Il y a beaucoup de travail à faire dans l'avenir pour que les types se comportent de manière beaucoup plus fluide.
      • Un type particulièrement intéressant sera les données binaires, et en particulier les fichiers.
    • Nous prenons actuellement en charge deux langages de programmation pour les implémentations, JavaScript et Python. À l'avenir, nous voulons en supporter beaucoup d'autres.
    • Il n'est actuellement pas possible d'appeler d'autres fonctions à partir d'implémentations écrites dans un autre langage de programmation.
  • A l'avenir :
    • Il sera possible d'appeler les fonctions de Wikifunctions à partir d'autres projets Wikimedia et d'intégrer leurs résultats dans la sortie de la page.
    • Il sera possible d'utiliser les données de Wikidata dans les fonctions.
    • Il sera possible d'appeler des ensembles de données à partir de l'espace de noms Data de Commons.

Comment Wikifunctions est multilingue ?

Wikifonctions et la Wikipédia abstraite sont multilingues de différentes manières qui n’ont pas d’impact l’une sur l’autre :

  • Wikifonctions est multilingue en termes de contenu et d’interface utilisateur. Les utilisateurs peuvent lire et appeler des fonctions sur Wikifonctions dans n’importe quelle langue naturelle. Voici la fonction « combinaison de chaînes » en anglais, polonais, et hébreu ; elle est disponible dans de nombreuses autres langues.
  • Les contributeurs peuvent éditer et améliorer les Wikifonctions dans leur langue. Même les implémentations peuvent être éditées dans la langue naturelle du contributeur. Par exemple, la composition de la fonction « et » peut être éditée en allemand, en anglais, ou dans n’importe quelle autre langue parmi les 300 proposées.
  • Les fonctions de Wikifunctions peuvent être utilisées pour créer des résultats dans n’importe quelle langue naturelle. La communauté crée un nombre grandissant de fonctions permettant de générer des textes dans de nombreuses langues naturelles. Nous avons des fonctions pour le breton, rohingya, anglais, et bien d’autres langues.
  • 'Les fonctions de Wikifunctions peuvent être implémentées dans différents langages de programmation. Par exemple, la fonction combinaison de chaînes est implémentée à la fois en JavaScript et en Python.

Quels langages de programmation sont actuellement dans Wikifunctions ? Quels langages de programmation seront pris en charge à l'avenir ?

Actuellement, Wikifunctions accepte les implémentations écrites en JavaScript et en Python. Nous prévoyons d’ajouter d’autres langages de programmation à l’avenir. Nous espérons ajouter au moins un autre langage de programmation en 2024 (mais nous n’avons pas encore décidé lequel).

Comment Wikifunctions sera-t-il intégré dans d'autres projets ?

Wikifunctions est la première étape de la construction d'Abstract Wikipedia. À court terme, nous nous attacherons à soutenir la communauté et à apporter des améliorations sur la base des commentaires reçus. Parallèlement, nous entamerons le processus d'intégration avec Wikipédia et Wikidata, ce qui permettra d'élargir les applications réelles et de nous rapprocher de la vision d'Abstract Wikipedia.

Les contributeurs pourront appeler des fonctions de Wikifunctions à partir de leurs wikis. Pour les lecteurs du wiki, le résultat de l'appel de la fonction sera affiché. Cela peut être utilisé, par exemple, pour calculer l'âge d'une personne, la densité de population basée sur les données de population et de superficie de Wikidata, ou pour dessiner un graphique et l'intégrer dans un article donné.

Une autre option pour intégrer Wikifunctions consistera à intégrer une interface interactive d'appel de fonctions dans leur wiki. Cette interface pourrait être utilisée, par exemple, dans un article de Wikipédia pour calculer dynamiquement le résultat d'une équation physique en fonction des paramètres fournis par le lecteur, dessiner et interagir avec des fonctions mathématiques, etc.

Ce que Wikifonctions n’est pas

Veuillez consulter Wikifunctions:Ce que WikiFunctions n'est pas pour plus d'informations à ce sujet.

Sous quelle licence seront les fonctions et le contenu dérivé ?

Conformément à la discussion qui s'est déroulée sur Meta entre novembre et décembre 2021, toutes les contributions à Wikifunctions et aux projets plus larges de la Wikipédia abstraite seront publiées sous licence libre. En particulier :

Certains points devront encore être abordés à l'avenir, comme la licence du contenu généré à partir du contenu abstrait. Nous prévoyons de rédiger un document plus complet avec le département juridique sur la façon dont les gens peuvent réutiliser le code des Wikifunctions aussi facilement que possible, tout en adhérant à la licence.

Contribuer

Je suis nouveau ici. Que dois-je faire et comment puis-je aider ?

Bienvenue ! Nous sommes très heureux de vous accueillir ici ! Il existe de nombreuses possibilités de contribuer à Wikifunctions, qu'il s'agisse de créer de nouvelles fonctions ou d'améliorer et de traduire la documentation. Si vous cherchez des moyens de vous impliquer, nous vous recommandons, selon votre niveau d'aisance, de suggérer une nouvelle fonction sur un sujet qui vous intéresse. Ou même de créer une telle fonction. Proposez des tests. Essayez-vous à une implémentation. Aidez à la traduction. Lisez et améliorez notre documentation. Aidez à organiser la communauté.

Comment créer une nouvelle fonction, une nouvelle implémentation ou un nouveau test ?

Pour voir comment créer une nouvelle fonction, une implémentation ou un test, voir Wikifunctions:Introduction.

Pour voir plus en détail comment créer une implémentation, voir Wikifunctions:Comment créer des implémentations.

Que devrais-je éditer en premier ?

Si vous parlez plusieurs langues, recherchez les fonctions qui n'ont pas encore d'étiquettes et de descriptions dans vos langues et aidez à les ajouter.

Si vous êtes intéressé par un domaine qui pourrait proposer des fonctions dans Wikifunctions, mais que ce n'est pas encore le cas, ou si vous avez d'autres idées de fonctions, rendez-vous sur la page suggérant de nouvelles fonctions et présentez vos idées.

Si vous êtes un développeur en JavaScript ou en Python, vous voudrez peut-être rechercher des fonctions qui n'ont pas encore d'implémentation en JavaScript ou en Python, et essayer de les écrire.

Où puis-je trouver de l'aide ?

Votre premier arrêt devrait être le Portail d'aide où vous trouverez toute la documentation relative à l'utilisation et à l'édition des Wikifunctions. Si vous êtes toujours bloqué, postez un message sur le Chat du projet, quelqu'un répondra à votre question.

Comment trier ou catégoriser les fonctions ?

Tracked in Phabricator:
Task T285424

Pour l'instant, la meilleure façon de trier ou de catégoriser les fonctions est de le faire à la main à travers les pages de l'espace de noms Wikifunctions. Une autre option serait de passer par la page de discussion de la fonction en question. Nous surveillerons ces efforts et discuterons avec la communauté des changements à apporter au système pour faciliter cette tâche.