CodingForOOo4Kids/fr
From OOo4Kids
|
Programmer pour OOo4Kids |
Introduction
OOo4Kids est basé sur le code source d'OpenOffice.org, from DEV300 Master Workspace.
Ceci signifie que lorsque vous écrivez du code pour OOo4Kids, vous apprenez à écrire du code pour OpenOffice.org. En d'autres termes, vous apprenez progressivement à contribuer aussi à OpenOffice.org : OOo4Kids a été pensé pour attirer les développeurs d'OpenOffice.org, sans perturber le développement d'OpenOffice.org.
Build simplification
OpenOffice.org est un "framework", et son architecture normale repose autour de 170 modules. Puisque nous n'avons besoin ni de construire, ni de "packager" tout, nous n'allons pas tous les intégrer.
Tout d'abord, il a été décidé de n'inclure ni Base ni Starmath, ni Java dans OOo4Kids.
L'idée majeure est de fournir une plus petite archive (environ 100MB, sachant qu'actuellement elle oscille entre 101 sous Linux Intel et 114 sous Mac OS X), avec moins de fonctionnalités, car les enfants entre 7 et 12 ans n'en ont pas réellement l'utilité (comme pas mal d'adultes aussi ;-) ).
Pour la version actuelle (la 0.3 pour l'instant), nous avons modifié environ 50 modules (parmi les 170 qui constituent OOo) pour créer OOo4Kids. Et ces changements suffisent à comprendre très précisément la façon dont est construit OpenOffice.org,
Autres intérêts pédagogiques :
- modifier/ajouter/enlever une boîte de dialogue fait appel à une bonne compréhension du local, mais pas seulement du code,
- il faut avoir un niveau de compréhension élevé du code source de OpenOffice.org lorsque l'on supprime des lignes de code,
- ajouter une fonctionnalité sans perturber tout le reste, demande une bonne connaissance du local code,
- etc.
Tout cela rend ce projet particulièrement intéressant.
Principes
How to add a new environment variable
Packaging
Principes
Enlever des bibliothèques
Enlever des binaries
Enlever des resources
Problèmes connus et approches différentes
Améliorations (code relative to)
- Vitesse (meilleures performances)
- Taille réduite de l'archive (packaging)
- Barres d'outils simplifiées (UX, utilisabilité)
- Des palettes de couleurs plus adaptées aux enfants (UX, utilisabilité)

