Alexandre Ayotte
Analyse informatique, Ergonome, Directeur artistique, Graphiste, Scénariste
Javascript, PHP, MySQL, Lua, AS3.0, Director, CSS, afdesign, FH
Jeux, Animation, Éducation, Science, Design, Form is Function, Small is Beautiful


 

Cyberlude inc.

Hop! Étude

Publié en 2007, Hop!Étude est de loin le projet le plus ambitieux de l'histoire de Cyberlude. Pour les pédagogues de notre équipe, il a été vécu comme la quête du Graal de l'enseignement. Il tente de donner tous les moyens, outils et méthodologies pratiques pour réaliser tous les projets et devoirs scolaires.

Pour moi et ma nouvelle petite équipe de programmeurs, il s'est révélé une sorte logiciel « cathédrale », combinant plusieurs paradigmes de manipulation de données en une même interface simplifiée. Pour tous les détails et la publicité du produit, veuillez plutôt visiter le site officiel.

Ampleur informatique

Ce projet est l'aboutissement de plus de quatre ans d'analyse et développement de code spécifique et de code d'infrastructure (librairies, API). Si ça peut vous donner une idée, on parle ici de plus de 500 classes originales dont 75% pour l'infrastucture ou 50000 lignes de code en REALbasic.

Dans ce projet, j'ai eu deux difficultés à affronter et j'ai pris des paris risqués. De un, je voulais un affichage à zoom variable, comme offrent les logiciel de dessin (Illustrator, Flash,...). Mais RB n'offre un affichage qu'en entier via la classe de très très bas niveau "Graphics". [RB offrait à l'époque un échafaudage vectoriel très instable que nous avons dû ignorer]

J'ai donc créé une classe bGraphics, par composition plutôt que par héritance, ce qui me permettait aussi d'afficher la même chose (le même modèle) à deux endroits différents mais soumis à des matrices de transformation différentes. Cependant, les méthodes découplées ne travaillant qu'en matriciel, toute la flexibilité de rotation a dû être mise de côté. Dans notre contexte du logiciel à produire, ce n'était pas vraiment une limitation agaçante.

Dans la plupart des API, la seule façon d'afficher du texte formaté est via un objet EditField qui fait tout, encapsule tout, et empêche toute créativité. Sans compter qu'un usage trop abondant fait vite étouffer la machine. Mon premier pari étant d'utiliser un affichage permettant le zoom, les textes devaient être affichés dans la même hiérarchie d'objets graphiques. Par conséquent mon second pari fut de reprogrammer tout l'affichage de texte formaté basé uniquement sur des DrawString et des StringWidth. Personnellement, je pense avoir réussi... à vous de juger.

Je dois ajouter que mon 3e pari fut de programmer tout un système parallèle de "widget", soumis à une sorte d'engin d'animation et un framerate bien discipliné. 11 ans d'héritage de Director forment le caractère! Allez télécharger la version d'essai et constatez un affichage sans soubresaut, totalement discipliné et fluide.

Pourquoi vouloir tant réécrire la roue?

Pour le plaisir et pour la liberté!

Plus sérieusement, je me savais capable de réaliser un tel système et le contexte s'y prêtait; se résoudre à utiliser les outils offerts nous aurait donné moins d'incertidudes MAIS aurait pris autant de temps. Le résultat eu été immanquablement bancal, j'en étais et j'en suis encore profondément convaincu. (et j'ai convaincu les autres partenaires ;-)

À venir... plus en profondeur

Dans les mois qui viendront, j'essaierai d'explorer plus en détail chacun des sous-systèmes développés et d'offrir certaines parties du code pour le bénéfice de la communauté. Toutes ces années, j'ai souvent utilisé les conseils (et parfois des bouts de code) offerts par des enthousiastes généreux. Dans les années à venir j'aimerais rendre la pareille, «donner au suivant», mais auparavant, il faut absolument terminer une version complète de ce portfolio!!!

(Écrivez-moi pour me presser ;-)

 

Le site lui-même ©2009 Alexandre Ayotte
Souvent le client est le détenteur des droits d'auteur pour le projet présenté.

Tous droits de reproduction strictement interdits sans autorisation écrite émise par les détenteurs des droits.

Pour information :
514 577-0455
luimeme@alexandreayotte.com

 

UQAM

SpatioPet : Apprendre la physique en flatulant

TÉLUQ

Objets de recherches adisciplinaires

CCDMD / CFORP

Les pièges de la langue 2009

DADB

Site et carte d'affaire

CYBERLUDE

Hop! Étude

CYBERLUDE

Hop! Écrire

CHENELIÈRE

Apprendre... avec Réflecto!

CYBERLUDE

Phono Quiz

CHENELIÈRE

Cerveau... mode d'emploi!

TÉLUQ

L'effet photoélectrique (Millikan)

CYBERLUDE

Le Cogigraphe

TÉLUQ

Simulateur de vibration et de rotation de molécules

VAN HOUTTE

25 Jeux pour un programme de fidélisation

TÉLUQ

Laboratoire virtuel de Physique

VAN HOUTTE

Gala virtuel CaffeMondo

TÉLUQ

Cédérom du cours SCI 1021

CYBERLUDE

Picto cuisine!

CYBERLUDE

Machinamot

Impulsion ou idée initiale
Analyse & programmation
Design graphique