La solution Scol sous Linux est aujourd'hui incomplète. La version cliente n'est pas à jour et un travail d'approche est nécessaire pour la rendre compatible avec les autres plateformes.
Neywen ouvre une piste très intéressante pour tenter de combler ce déficit ...
Messieurs-Dames, Bonjour!
Depuis le développement du client Scol 4.5 Windows, j'ai décidé de raccrocher, vu que j'avais envie de passer à autre chose. J'ai proposé à ce moment de refiler le bébé à d'autres personnes, mais n'ayant eu aucun écho, je relance l'appel auprès de la scol association.
Ensuite, j'ai été contacté par une entreprise qui fait du développement scol. Elle a été elle-même contactée par un gros acteur du monde linux (on m'a demandé de la discrétion concernant le nom de cet acteur) qui se trouve etre très interessé par le client scol linux. On m'a donc demandé une expertise sur le travail à accomplir pour produire un client susceptible d'être commercialisé.
C'est une oppoturnité très interessante : c'est typiquement le genre d'occasion qu'attendait le projet pour se développer, ça permettrait peut-être de relancer l'interet de scol pour des applications systèmes linux.
Ce projet se déroulerait dans le cadre d'un contrat commercial à définir, mais doit bien sûr être d'abord confirmés par les deux acteurs en contact. Ca dépendra bien entendu de l'appréciation de l'évaluation que j'ai fait de l'état actuel du projet (que je joints à la fin de ce présent mail), et ça dépendra des ressources humaines qui voudront bien se déclarées interessées par le reprise du projet. En ce qui me concerne, encore une fois, me relancer dans le projet scol n'est pas une option, mais je veux bien prendre un peu de temps pour former les nouvelles recrues.
Voilà, si vous êtes développeur C/C Linux, et que ça vous interesse d'en savoir plus, vous pouvez me joindre par mail : loic.berthelot #AT# free.fr ou neywen #AT# free.fr
bye. loïc
ps : il pourrait être interessant de mettre cette annonce sur le site web de scol-techno, mais le site étant en berne pour l'instant, c'est impossible. Peut-être que les gestionnaires du site pourront le faire ultérieurement? Merci :)
___________________________________________________________________
Concernant l'état du projet en lui-même, voici une évaluation :
D'une manière généralle, je conseille un minimum de deux personnes pour travailler sur le projet, vu qu'il est complexe, dense (y a de tout : 2D, 3D, réseau, noyau de calcul, ect...), et qu'on peut facilement perdre la tête si on ne travaille pas en équipe dessus.
Il faudra une bonne pèriode d'adaptation : il n'y a pas de documentation de développement, et il faut comprendre le code en lui-même, ainsi que le fonctionnement de la machine virtuelle scol. Je pense que trois semaines à plein temps est une marge suffisante pour appréhender les sources (pour des gens expérimentés à la programmation c, C , linux).
Pour un projet à long terme sensé se développer, il faudra redévelopper une couche 2d (API 2D Système, API 2D Graphique, et une petite partie de l'API 3D et Vidéo) avec une technologie plus moderne que Gtk/Gdk. Certains besoins de scol sont "hauts-niveaux" (création de fenêtres, création de contrôles utilisateurs), d'autres sont "bas-niveaux" (taper dans les pixels d'un bitmap, modifier les comportements par défaut des contrôles utilisateurs, ect...). L'utilisation de la librairie Gtk/Gdk était donc indiquée à l'époque. Mais Gtk est une librairie finallement assez bordélique, et les objets Gtk n'ont pas forcément les mêmes comportements que leurs équivalents de l'API Windows. Si l'on veut que Scol sous linux adopte les mêmes comportements que Scol sous Windows, on est donc obligé de faire un certain nombre de "hacks" dans l'API 2D, avec Gtk et Gdk. D'une part, c'est pas très joli, et puis ça fragilise potentiellement l'execution du client.
Donc pour conclure sur la 2d : on peut produire une première version qui fonctionne à partir du code existant. Ca demandera environ un mois et demi je pense pour comprendre le code, traquer les bugs et corriger les failles qui persistent. Le cas échéant, il faudra aussi compléter l'API 2D : quelques fonctions n'ont pas été implémentées, parce qu'elles ne sont que rarement (voire pratiquement jamais) utilisées dans les programmes scol, et leur développement étaient donc secondaires. Mais un projet à long terme, le mieux (voire le nécessaire) sera de redévelopper une couche 2D plus propre avec une nouvelle API. Là, il y a une expertise à faire. Perso, j'aurais voulu regarder de près les lib du projet enlightenement (www.enlightenment.org), mais je n'en ai jamais eu le temps.
Prévoir également deux ou trois bonnes semaines de débuggage pour l'API 3D, à priori, ça sera le plus simple à faire puisque la plus grosse partie du code est générique.
Il faudra inclure une API son (il y a plusieurs API son dans Scol, les anciennes et les nouvelles, je pense qu'on peut se contenter des nouvelles). Sur ce plan, je ne sais rien, je ne me suis jamais penché sur le sujet. Mais j'ai cru comprendre qu'il existait de lib faciles d'accès qui pourront servir à un développement rapide de l'API son. Prévoir un bon mois et demi au moins. Avec l'API son vient l'API vidéo. Cette partie n'est pas obligatoire, mais si l'on souhaite pouvoir disposer des vidéos dans la 3D, bah faut la faire :) Il me semble me rapeller que Helix produit une librairie pour les fichiers real video sous linux. Le son et la vidéo, ça devrait être la plus grosse partie du boulot.
Voilà si l'on fait le calcul, ça nous amène entre à une période de développement d'environs 4 mois pour faire un package commercial. Bien sûr, si les développeurs sont des experts, ca peut aller beaucoup plus vite. Mais encore une fois, le projet est très vaste, et il y a beaucoup de choses à faire.







