Développement

Aider Hypra

Cette section s’adresse aux personnes ayant une bonne connaissance technique des systèmes libres. Vous y trouverez des informations sur le fonctionnement du Système à Accès Universel, les sources pour y contribuer ou les partager. Vous trouverez également des éléments plus généraux sur l’accessibilité et les logiciels libres.

Hypra développe des logiciels entièrement libres, c’est à dire utilisables librement, entièrement modifiable, et repartageables.

Nous utilisons le système d’exploitation libre Debian, et nous appuyons donc sur une communauté d’ordre mondiale solidaire et de qualité.

Pour tester Hypra, vous pouvez utiliser l’image ISO suivante :
http://hypra.fr:8080/debian/hypra-live-amd64-non-free.iso

Cette image est :

  • à graver sur une clé ou un DVD ;
  • basée sur le liveCD de Debian ;
  • non représentative du Système à Accès Universel : elle en inclut les fonctions, mais peut être moins stable qu’un système installé par Hypra.

En effet, le liveCD Debian et, partant, notre image ISO, comportent 3 bugs connus mais aléatoires :

  • la synthèse vocale ne se lance pas automatiquement au lancement : si cela vous arrive, appuyez sur alt-f2, et tapez : orca
  • l’installeur n’est pas accessible aux personnes déficientes visuelles si on le lance depuis le bureau d’essai ;
  • la fin du processus d’installation peut échouer, GRUB pouvant avoir du mal à s’installer. C’est particulièrement vrai sur les ordinateurs équipés d’EFI.

Si vous avez déjà Debian sur votre ordinateur et que vous voulez profiter des améliorations d’accessibilité sous mate-desktop, c’est possible, en ajoutant les lignes suivantes à votre fichier /etc/apt/sources.list

deb http://debian.hypra.fr/debian jessie main contrib non-free
deb-src http://debian.hypra.fr/debian jessie main contrib non-free

Vous pouvez ensuite mettre à jour votre cache de paquets disponible, et installer mate-accessibility-full.

Pour inclure la clé de signature des paquets, lancer la commande suivante :

wget debian.hypra.fr/key.pub -O- | apt-key add -

ATTENTION : ceci marche d’autant mieux que votre Debian est propre et fraîchement installée. Sur un système déjà ancien, vous pourriez rencontrer des problèmes. Ces paquets ont été testés sur Debian Stable uniquement.

Pour rapporter un problème, ou voir les futures améliorations d’Hypra, rendez vous sur notre gestionnaire de bugs Redmine

Et pour accéder aux sources d’Hypra, et potentiellement contribuer, c’est par là : sources d’Hypra

Articles généraux

Ici se trouvent des liens vers des articles, en français ou en anglais, produits par Hypra sur des sujets techniques. Ces articles sont publiés dans la rubrique plus générale, Hypra réfléchit.

Liens utiles

Cette page rassemble les éléments utiles pour renseigner les développeurs sur l’accessibilité en matière d’informatique. Nous distinguons quatre catégories d’outils dans cette notion :

  • les technologies d’assistance : outils développés par des experts, idéalement en lien avec des personnes en situation de handicap, leur permettant de compenser une déficience dans leur lecture de l’écran ou leur interaction avec l’ordinateur. La plus symbolique en matière de cécité est NVDA (pour Windows), développé par NVAccess, et Orca pour GNU/Linux (développé par Igalia).
  • les outils assurant la communication entre les aides techniques et les toolkits : ces outils, d’assez bas niveau, sont développés pour transmettre les informations aux aides techniques. Sur GNU/Linux, on parle surtout de AT-SPI, ou ATK. Pour en connaître les différences : https://en.wikipedia.org/wiki/Accessibility_Toolkit https://en.wikipedia.org/wiki/Assistive_Technology_Service_Provider_Interface
  • les toolkits : les applications graphiques s’appuient aujourd’hui sur des toolkits. Il est alors importants de savoir relier le toolkit et ses widgets au bus d’accessibilité. Les spécialistes du toolkit (GTK, Qt, Java, WxWidgets) sont les plus à même d’intervenir.
  • les logiciels : ici, chacun peut aider. Tout simplement en codant correctement ses widgets.

Pour les personnes pressées, voici une synthèse en anglais de ce qui suit :
https://www.freedesktop.org/wiki/Accessibility/

Comment et pourquoi coder accessible sans expertise ?
http://brl.thefreecat.org/ explique à travers des présentations illustrées et en vidéo les enjeux de l’accessibilité et comment chaque développeur, sans compétence particulière, peut aider à y répondre.

Pour ré appliquer ces concepts à Qt, ceci peut vous aider :
http://techbase.kde.org/Development/Guidelines/HCI/Checklists

Pour tester le résultat de vos efforts, un outil existe :
https://git.gnome.org/accerciser

Si vous vous occupez plutôt de l’accessibilité d’une interface Web, vous apprécierez sans doute :
http://references.modernisation.gouv.fr/rgaa-accessibilite/

Comment m’impliquer davantage

Si vous voulez coder l’ensemble de votre application GTK pour qu’elle soit accessible, quitte à acquérir des compétences, ce guide vous plaira :
https://developer.gnome.org/accessibility-devel-guide/stable/

Le pendant de GTK existe pour Qt :
http://techbase.kde.org/Development/Tutorials/Accessibility

Si votre but est de rendre votre propre toolkit accessible (Enlightment, XFCE), cette ressource est pour vous :
https://developer.gnome.org/atk/

Notez que c’est ATK que nous utilisons pour implémenter notre loupe, notamment le suivi du focus, ou caret. C’est également ATK qu’utilisent des applications comme LibreOffice ou Mozilla pour rendre accessible leur interface graphique.

Elle vous montrera comment re ;ier votre toolkit à ATK, la couche d’accessibilité GNU/Linux générique reliant AT-SPI et les toolkits.

Si vous avez envie d’aider les outils reliant GTK aux technologies d’assistance, vous serez attiré par :
https://www.freedesktop.org/wiki/Accessibility/AT-SPI2/

D’autres toolkits ont aussi développé des choses plus récemment :

Comment me spécialiser

L’expertise exige la connaissance, au moins globale, de ce qui précède. Ces fondamentaux vous permettront de travailler sur divers outils comme le lecteur d’écran :
https://wiki.gnome.org/Projects/Orca/HowCanIHelp

ou pour Windows :
https://github.com/nvaccess/nvda

Ou Compiz :
https://launchpad.net/compiz

Ces outils, à l’exception de Compiz, captent l’information venant du bus d’accessibilité et l’envoient vers une sortie. Elle peut être braille :
http://brltty.com

ou vocale :
http://devel.freebsoft.org/doc/speechd/speech-dispatcher.html

Ces 2 plate formes relient les aides techniques à un ensemble de pilotes d’afficheurs braille ou de synthèses vocales.

Il existe d’autres projets, plus dédiés à des situations de handicap :
- clavier virtuel :
https://git.gnome.org/dasher

- transcription braille :
http://natbraille.free.fr/

Sans compter ceux généraux mais utiles à tous comme les synthses vocales (Espeak), l’OCR (tesseract).

Pour toute question, nous vous recommandons de vous adresser à l’association Liberté 0 : http://liberte0.org