Jump to content

Communauté technique Wikimedia Afrique/Portée du projet

From mediawiki.org
This page is a translated version of the page Africa Wikimedia Technical Community/Project Scope and the translation is 100% complete.

AWMT Community Banner

Problème

Nous désirons construire une équipe de bénévoles de Wikimedia issus d'Afrique en raison des problèmes suivants que nous avons rencontrés sur notre continent :

  • Il y a très peu de développeurs issus d'Afrique dans la Fondation Wikimedia (le mouvement). Nous voulons augmenter notre nombre pour atteindre les objectifs du mouvement.
  • Des développeurs bénévoles pour ajouter plus de fonctionnalités aux projets MediaWiki et à leurs extensions, y compris les APIs, etc. en provenance d'Afrique et en plus, pour développer des outils ou des projets pour résoudre les problèmes communs dans le contexte africain afin de promouvoir les activités du mouvement par une approche technique. Par exemple, des projets comme Wiki Loves Africa ou Wiki Loves Women pourraient voir le développement d'un outil permettant d'analyser les données afin de classer et de déterminer les résultats des gagnants de cette année, etc.
  • Éviter d'attendre qu'un petit groupe biaisé de développeurs résolve les nombreux problèmes techniques du mouvement, notamment les problèmes particuliers des bénévoles sur notre terrain.
  • Le manque de participation des bénévoles africains dans les événements globaux orientés vers la technique comme le Google Summer of Code, Google Code-In, le programme de diffusion vers les femmes, etc.

Solution proposée

Nous sommes actuellement une équipe de deux personnes prêtes à travailler avec toute personne expérimentée aussi bien dans le mouvement qu'à l'extérieur de celui-ci, afin de concrétiser cette idée. Nous prévoyons de recruter des développeurs bénévoles et d'utiliser l'occasion pour défendre la cause du mouvement.

Le plan consiste actuellement à obtenir ce qui suit ;

  • Une liste de discussion de développeurs bénévoles situés en Afrique afin de partager les idées et les sujets de discussion avec d'autres personnes, pour les intéresser.
  • Se connecter aux affilés de la Fondation Wikimedia et des groupes d'utilisateurs de différents mouvements (GDG, groupes Python, groupes Linux, etc.) dans chaque pays pour voir si nous pouvons intéresser certaines personnes à contribuer à MediaWiki. Nous sommes persuadés que ceci est raisonnable dans le sens ou il est souvent facile pour des développeurs qui contribuent déjà dans le monde de l'open source à rejoindre de nouveaux projets similaires.
  • Utiliser le bouche à oreille dans les institutions universitaires (vers les étudiants en sciences, en programmation et en informatique) et voir si nous pouvons susciter de l'intérêt pour les activités du mouvement et des contributions (ceci pourrait être réalisé par pays, en partageant des statistiques).
  • Assurer la formation des groupes de programmeurs potentiels dans les pays sélectionnés et les motiver à poursuivre leurs efforts de manière continue via la liste de discussion.
  • Organiser un événement ou hackathon une fois par an pour consolider et montrer leur travail.
  • Pays par pays, nous pourrions conserver les bonnes énergies en nommant certains bénévoles, afin de construire des communautés de développeurs dans leurs diverses communautés et faire se rejoindre ces communautés, ce qui produirait une grande communauté basée sur les développeurs en Afrique.

Objectifs

Disposer d'une communauté de développeurs africains.

  • Parvenir à un total de 20 développeurs actifs sur l'ensemble du continent.
  • Faire participer au moins 10 personnes issues d'Afrique lors du Summer of Code (GSoC) en 2018.
  • Créer une solution pour au moins un des problèmes techniques majeurs, depuis l'Afrique.
  • Participer à résoudre des problèmes issus de la liste des demandes de la communauté.
  • Organiser au moins un hackathon sur le continent.

Importance du projet

Ceci bénéficierait à la communauté africaine dans la mesure où ils seraient à même de contribuer à MediaWiki et à son développement (en étudiant comment MediaWiki et le développement fonctionne à la Fondation et dans le mouvement).

Obtenir un sentiment d'appartenance aux projets Wikimedia chez les développeurs et peut-être commencer à penser à des projets visant à aider la communauté africaine et le mouvement en tant que tout. Pour commencer, nous allons travailler sur des projets généraux et/ou sur des projets existants, en corrigeant des bogues et en aidant à construire un écosystème de plus en plus ample. Cependant, nous visons à démarrer certains projets dans le futur et à résoudre des problèmes réels qui appartiennent au continent.

Avec une équipe de développeurs africains, nous pourrions mettre en place des projets qui pourraient résoudre des problèmes habituels sur le continent. Ces projets auront un long chemin à parcourir pour résoudre nos problèmes courants. Ceci améliorera la prise de conscience à propos des activités du mouvement en Afrique et incitera plus de personnes issues d'Afrique à devenir bénévoles sur les projets de la communauté, conduisant à une augmentation du nombre non seulement de contributeurs, mais aussi de développeurs africains.

Le fait de faire participer les africains aux programmes globaux va leur profiter, tout comme la Fondation, au fur et à mesure qu'ils construiront des outils pour résoudre des problèmes et des tâches concrètes (tout en enrichissant leur parcours professionnel) en tant que développeurs. Les programmes tels que Outreach for women (sans aucune participante africaine), GCI (pas de participant africain) ou GSoC (avec un seul participant africain en 2016). De plus, cela fera acquérir aux développeurs des compétences concrètes dans le cadre du mouvement open source et les aidera à apprendre à utiliser une plateforme complètement nouvelle.

En quelques mots, notre objectif premier consiste à faire entrer des développeurs bénévoles africains dans le mouvement (des personnes actives pour travailler sur les projets Wikimedia et sur des projets liés à l'Afrique adaptés aux objectifs du mouvement).

Proposition

Calendrier de formation

Nous avons l'intention d'assurer la formation de mars à juin (4 mois). Ceci comprendra des formations par pays pour au moins 3 pays, mais idéalement pour 4 pays. Plan A, deux fois par mois, mais tenus tous les autres mois. Ceci laisse un mois pour planifier et finaliser la logistique entre les sessions d'événements qui se tiendront à chaque endroit. Plan B, un événement par pays chaque mois. Liste des pays proposés :

Phase 1

  • Ghana - Nous avons essaimé au Ghana car il existe un groupe d'utilisateurs et la Open Foundation West Africa (OFWA) pour soutenir cette activité dans le pays. Il s'agit d'un pays puissant en matière d'implication concernant Wikimedia sur le continent africain et nous avons de bonnes chances d'utiliser ce levier avec des institutions partenaires pour commencer, afin de faire grandir cette cause.
  • Côte d’Ivoire - La Côte d’Ivoire est un pays important dans le mouvement, avec un intérêt pour l'informatique et la programmation. Nous sommes parfaitement conscients de l'enthousiasme pour les programmes en rapport avec les développeurs de Google et d'autres entreprises qui comptent dans le pays. Nous désirons tirer parti de leurs forces et de leur intérêt dans le cadre de leur intégration dans le groupe d'utilisateurs pour exploiter l'occasion de renforcer leurs liens et d'annoncer leur présence.
  • Nigeria - Une communauté très active dans la région de l'Afrique de l'ouest ; les activités de cette région attireront les foules et apporteront une prise de conscience massive à propos de Wikipédia et des possibilités de devenir développeur pour des bénévoles.
  • Cameroun

Phase 2

  • Tanzanie - Nous venons juste d'initier une communauté qui croît dans le pays, dont une majorité de membres sont des étudiants en informatique ; de plus nous disposons déjà d'un partenariat avec une plateforme qui désire mettre à la disposition du projet son local, son public et son soutien. La plateforme est en lien avec le gouvernement et crée de fortes connexions pour défendre cette cause.
  • Afrique du Sud - Elle dispose du seul chapitre existant sur le continent et le fait de travailler avec ce dernier lui apportera le genre de personnes que nous envisageons d'avoir comme développeurs pour le continent. Il y a actuellement un couple que nous connaissons et qui réalise des choses vraiment extraordinaires sur MediaWiki, avec qui il sera très intéressant de se lier.
  • Botswana*-
  • Kenya*-

Programme

Premier jour

Session 1 : Introduction à Git, GitHub, Gerrit et installation de MediaWiki.

  • Bienvenue et activités pour briser la glace - 9:00 - 9:20
  • Introduction aux projets Wikimedia - 9:20 - 9:40
  • Introduction à Git/GitHub et à Gerrit - 9:40 - 10:40
  • <Pause avec en-cas et café> -- 10:40 - 11:00
  • Tutoriels sur Gerrit pour l'installation de MediaWiki dans un environnement local : 11:00 - 12:30

Tutoriels sur Gerrit (tutoriels sur Gerrit pour configurer mediawiki : configuration de Git, des clés SSH, téléchargement de MediaWiki, etc.)

  • <Pause repas> -- 12:30 - 13:10
  • Échauffement - 13:10 - 13:15
  • Pourquoi devenir bénévole en tant que développeur 1? - 13:15 - 13:40
  • Installation d'une extension de MediaWiki sur MediaWiki et comment utiliser ces extensions (les deux points ci-dessus fonctionnent en tandem, dans la mesure où les tutoriels de Gerrit et l'installation de mediawiki ont été réalisés) - 13:40 - 14:40
  • <Pause avec en-cas et café> -- 14:40 - 15:00

Session 2 : Comment utiliser IRC pour communiquer avec les autres développeurs de Wikimedia

  • Introduction à IRC et aux commandes d'IRC - 15:20 - 16:30
    Tutoriels (Utilisation d'IRC - tutoriels)

Deuxième jour

  • Bienvenue - 09:00 - 09:10

Session 3 : La construction d'extensions de MediaWiki et un exemple de hackage en pratique

Session 4 : comment utiliser Wikimedia Phabricator en tant que développeur

  • Comment utiliser Phabricator (signaler des bogues, résoudre des problèmes, etc.) - 13:10 - 14:30
    Phabricator (suivi des bogues)
  • <Pause avec en-cas et café> -- 14:30 - 15:00
  • Pourquoi devenir bénévole en tant que développeur 2? - 15:00 - 15:40
  • Récapitulatif et clôture - 15:40 - 16:00

Les points ci-dessus devraient couvrir au moins 85% de ce que les développeurs devraient savoir avant de travailler sur du code en lien avec les projets de la Fondation Wikimedia.

Nous ne leurs enseignons pas la programmation dans la mesure où ils doivent apprendre cela par eux-mêmes. Nous ne faisons que leur indiquer la liste des langages de programmation qu'ils sont supposés connaître pour être à même de contribuer aux projets Wikimedia.

Ci-dessous figure une liste des langages les plus utilisés par la Fondation Wikimedia :

  • PHP et Hack (PHP étant le plus recommandé)
  • JavaScript, JSON et jQuery
  • SQL comme langage pour les requêtes
  • MariaDB/MySQL comme système de gestion de bases de données

Groupes cibles / Mode de recrutement

Nous avons l'intention de communiquer via des groupes et des communautés de développeurs déjà existants, tels que :

  • Groupes de développeurs de Google
  • Groupes d'utilisateurs de Linux
  • Les clubs Mozilla
  • Les institutions universitaires et des grandes écoles
  • Les développeurs indépendants
  • Les membres de la communauté open source

Événements sur le continent

  • Résoudre les vrais problèmes de l'Afrique avec les ressources de Wikimedia pour le mouvement et pour le bénéfice des africains ou des participants eux-mêmes - Conférence régionale (fin 2017)
  • Outreach for Women - Octobre 2017
  • Google Code-In program - décembre - février (2017/2018)
  • Hackathon avant, après ou autour de Wikimania au Cap - 2018
  • Participation à la résolution de certains problèmes communiqués sur la liste des demandes de 2018
  • Google Summer of Code - 2018

Programming Sessions on PHP and Python in 2022

Python Programming Track: Led by Ayobami Tewogbade( User: Roybylon)

The Python programming track was an intensive three-month course designed to provide participants with a thorough understanding of Python and its applications. Sessions were held every Friday from 3 PM to 4 PM, offering a blend of theoretical knowledge and practical experience where participants were taken through the Python Essentials course https://pythoninstitute.org/python-essentials-1.

Course Overview

Duration: 3 months

Schedule: Fridays, 15:00 UTC - 16:00 UTC

Week 1-4: Introduction to Python

  • Understanding Python syntax and basic constructs
  • Variables, data types, and basic operations
  • Control structures: loops and conditionals

Week 5-8: Intermediate Python

  • Functions and modularity
  • Error handling and exceptions
  • Working with files and directories

Week 9-12: Advanced Python

  • Introduction to libraries and modules
  • Using popular libraries: NumPy, pandas, and matplotlib
  • Working with APIs and data manipulation

Practical Projects

  • Real-world applications and projects
  • Hands-on coding sessions to apply the concepts learned
  • Collaborative project development

PHP Programming Track: Led by Caleb Nanigah (User:calebbubune)

The PHP programming track was a comprehensive six-month course aimed at equipping participants with the skills needed for dynamic web development using PHP. Sessions were held every Saturday from 3 PM to 5 PM, combining in-depth lessons with practical web development projects.

Course Overview

Duration: 6 months  

Schedule: Saturdays, 15:00 UTC - 17:00 UTC

Monthly Breakdown:

Month 1: Introduction to PHP - 0.1-Introduction to PHP.mov

Month 2: Web Development with PHP

Month 3: Advanced PHP Techniques

Month 4: Building a CRUD Application

  • Designing a database schema
  • Connecting to a database
  • Retrieving, inserting, updating and deleting data
  • Creating a user-friendly interface for the application

Month 5: Advanced Topics

  • Working with APIs
  • Creating and consuming web services
  • Security best practices
  • Deployment of PHP applications

Month 6: Project work

  • Students will work on a project that utilizes the concepts learned throughout the course
  • The facilitator will provide guidance and support as needed
  • Students will present their projects to the class and receive feedback

Both the Python and PHP tracks were designed to build a solid foundation in programming, helping participants become proficient in these languages and apply their skills to Wikimedia projects. We look forward to the innovative contributions these newly trained developers will bring to the community.

Onboarding Session at Goethe Institute: Empowering Wikimedia Contributors

In 2019, we held an onboarding session at the Goethe Institute in Ghana, where participants were trained on essential tools for contributing to Wikimedia developer projects. This session focused on equipping new contributors with the skills and knowledge needed to effectively use Git, GitHub, Gerrit, and Phabricator.

Training Highlights:
  • Git & GitHub: Participants learned the fundamentals of version control using Git and how to collaborate on projects through GitHub. They were guided through the process of forking repositories, making commits, and submitting pull requests.
  • Gerrit: We provided an in-depth introduction to Gerrit, a code review tool that is integral to Wikimedia's development workflow. Attendees gained hands-on experience in reviewing and merging changes, ensuring code quality and collaboration.
  • Phabricator: The session also covered Phabricator, a suite of open-source tools for peer code review, task management, and project planning. Participants learned how to create and manage tasks, track project progress, and collaborate effectively with other developers.

This training was designed to build a solid foundation for new contributors, helping them navigate the technical landscape of Wikimedia projects and become active participants in the Wikimedia developer community. We look forward to seeing the innovative contributions that these newly trained developers will bring to Wikimedia.

Wikimedia Tech Safari Program

Wikimedia Tech Safari Program

The Wikimedia Tech Safari was an immersion program organised to provide practical experience and guidance for participants in the Wikimedia technical community. It was aimed to promote creativity and teamwork through various technical projects, allowing participants to contribute significantly to the Wikimedia digital world. The program emphasized experiential learning, allowing participants to improve their technical proficiency and understand Wikimedia platforms. By participating, individuals contribute to strengthening Wikimedia's technological capabilities and ensuring free knowledge accessibility.

Training Highlights:
  • Charting Your Course with Kiwix Development & Localization: Kiwix is free, open-source software that enables users to access offline content without an internet connection. It supports multiple languages, uses the ZIM file format for storage, and is portable across different operating systems. It also allows users to create an offline library and contributes to the global mission of making knowledge accessible. Users can contribute by searching for educational content on platforms in their local language, translating wiki content to their local language, and contributing to the platform's development. Developers can contribute by improving code, enhancing features, and providing scalability solutions. Graphic designers can also enhance Kiwix's visual content by creating user interfaces, brand elements, and responsive design principles.
  • Building Bridges with Code: Contribute to wikifunctions and Connect the World: wikifunctions is a collaboratively edited catalogue of computer functions to enable the creation, modification, and reuse of source code. It is closely related to Abstract Wikipedia, an extension of Wikidata to create a language-independent version of Wikipedia using its structured data.
  • Tool Forge Pass Deep Dive: What is it? how do you deploy your code on it?

Wikimedia Toolforge is a Wikimedia Foundation-provided hosting environment that enables developers to create and deploy tools and applications for Wikimedia projects. Key features include web hosting, shell access, database access, version control, integration with Wikimedia projects, community collaboration, open-source philosophy, and dynamic resource allocation. Tools developed on Toolforge can be integrated with various Wikimedia projects, promoting collaboration and improving the Wikimedia experience. The platform encourages developers to contribute to the improvement of Wikimedia projects worldwide, reflecting the Wikimedia Foundation's collaborative and open nature.

  • Cut, Craft, Captivate: Building the Future of Wiki Videos with VideoCutTool: VideoCutTool is a revolutionary tool that revolutionizes the way Wiki videos are crafted. It offers cutting-edge editing, allowing users to refine video content with precision. The tool focuses on crafting engaging narratives with creative features like smooth transitions and impactful overlays. It also provides customizable visuals, allowing users to infuse personality into their videos. The user-friendly design ensures accessibility for all, and it fosters collaboration by allowing users to share projects and receive feedback. VideoCutTool is a vision for the future of wiki videos, empowering creators to transcend traditional boundaries and create extraordinary narratives.
  • Akwaaba to Commons for Android: Code the App that Lets Your World Share on Wikimedia:
  • Type, Translate, Transform: Unlock Languages with Scribe's Code Magic: Scribe's Code Magic is a tool that uses the magic of code to unlock the mysteries of languages, transforming the way we interact with them. It allows users to effortlessly type in their native language, break language barriers, and create a linguistic tapestry that transcends borders. This enables users to communicate, create, and code in languages that resonate with their cultural identity, breaking down barriers and fostering a global community. As Scribe continues to weave its code magic, the future holds endless possibilities for digital linguistics, where languages converge, cultures intertwine, and the magic of expression knows no bounds.
  • Cloud Code Conquest: Build the Future of the Wikiverse with Wikimedia Cloud Services: Cloud services offer free hosting tools for users to deploy websites, applications, and projects without incurring costs. Popular options include GitHub Pages, Netlify, Vercel, Heroku, Firebase Hosting, Glitch, Amazon S3, and Microsoft Azure Static Web Apps. GitHub Pages allows users to host static websites directly from their repositories, while Netlify offers continuous deployment, automatic HTTPS, and serverless functions. Vercel is a front-end deployment platform with serverless functions and basic hosting services. Firebase Hosting offers fast, secure hosting with CDN delivery and automatic SSL. Glitch is a collaborative web app hosting platform suitable for projects built with Node.js. Amazon S3 is a scalable storage service for hosting static websites, while Microsoft Azure Static Web Apps integrates with GitHub for seamless deployment.
  • Building Wikifunctions with WikiLambda's Power: Wikifunctions is a collaborative platform within the Wikimedia ecosystem that redefines information curatedness and empowers users to create and share dynamic functions. It is driven by the power of WikiLambda, a powerful programming environment that transcends traditional boundaries. WikiLambda offers a function catalogue, collaborative editing, multilingual capabilities, embedding functions, and an educational impact. The catalogue serves as a repository for users to discover, contribute to, and enhance diverse algorithms. It also supports content creation and consumption in multiple languages, ensuring knowledge is accessible to a global audience. WikiLambda enables users to embed functions directly into Wikimedia projects, enhancing the interactive nature of content. Its user-friendly interface facilitates learning and understanding of programming concepts. Wikifunctions is a transformative force shaping the future of collaborative programming and knowledge sharing.

To read more about The Wikimedia Tech Safari Program, kindly visit the meta page; Wikimedia Tech Safari Program