Salut les Loulous ! Déjà trois mois passés depuis le dernier article. C’est fou ce que le temps passe vite. Je suis à fond dans pleins de trucs, ce qui explique les micros-sommeils du projet ! Pour autant, je n’abandonne pas mon bébé 😉
Dans ce billet, je vous expliquerai pourquoi j’ai été occupé à d’autres choses ces derniers mois puis, nous ferons un petit état des lieux de l’avancée du projet qui vient tout de même de souffler sa troisième bougie ^^ (bah oui, ça n’avance pas vite mais je n’ai pas beaucoup de temps).
Contenus de la page
Pourquoi en stand-by cette fois ?
Comme certains le savent, je suis encore étudiant (et en alternance qui plus est). Cela explique qu’il ne me reste pas beaucoup de temps pour moi après des journées souvent bien chargées. Alors quand en plus certains enseignants ont la bonne idée de nous donner des projets demandant beaucoup de temps et d’investissement personnel … Je n’y peux rien, je veux toujours en faire plus, essayer de faire de mon mieux :p Cela prend donc des heures, beaucoup d’heures (de nuits) …
Le projet en question, cette fois ci : une gestion de cave à vins à développer entièrement avec les technologies Microsoft. Bref pas trop ma tasse de thé à priori mais il faut avouer qu’après avoir plongé la tête la première dans la MSDN Library, ça va quand même mieux (prévoir tout de même un tube d’aspirine, c’est plus prudent !).
Si vous voulez avoir un petit aperçu de ce qu’il est possible de faire avec le Framework .NET 4.0, C# comme langage de programmation, Entity Framework pour l’accès aux données, Linq comme langage de requêtage et SQL Server 2008 comme SGBDR, vous pouvez toujours jeter un oeil au dépôt Github que j’ai inauguré pour fêter la fin de ce projet qui aura été extrêmement chronophage.
Hé coco, ça en est où Opencomp ?
Excellente question moussaillons 😛
Depuis trois mois, même si c’est le silence complet sur le blog, les choses avancent tout de même en coulisse. D’ailleurs, j’aimerais pouvoir écrire davantage ici mais malheureusement, je pense qu’il vaut mieux que je consacre le peu de temps qu’il me reste au développement plutôt qu’à blablater 😉
Passage à CakePHP 2.3
CakePHP est le framework PHP utilisé sous le capot pour faire tourner Opencomp. Il a été mis à jour en version 2.3. Chose rare cette version est entièrement rétro-compatible avec la précédente … ce qui n’est pas souvent le cas avec CakePHP ! Il faut donc le souligner et ça a été un plaisir pour moi de ne pas avoir a réadapter le code 🙂
Vous trouverez davantage d’informations sur ce qui change dans le Cookbook.
Début de l’expérimentation grandeur nature
Même si je ne vous en avais pas parlé, l’expérimentation sur le terrain a commencé. Opencomp est désormais utilisé pour réaliser les bulletins d’une classe pilote. Les tests montrent d’excellents résultats. Il faudra cependant gérer la montée en charge dans le cas d’une utilisation simultanée par de nombreux utilisateurs (ce qui n’est sans doute pas encore pour tout de suite) !
Nombreuses corrections d’anomalies
La bête noire de tout programmeur qui se respecte, ce sont les anomalies de fonctionnement, les coquilles et autres petits désagréments qui pourrissent dans certains cas la vie des utilisateurs. Dans les dernières versions, plusieurs problèmes ont été corrigés. L’ergonomie de certains écrans a aussi légèrement évolué.
Et ensuite ? What’s next ?
Le plus gros du boulot a maintenant été abattu. C’est un excellent début et j’en suis très content. Mais il faut relativiser car cela reste un début. En effet de nombreuses choses restent à affiner/terminer (certaines aussi à commencer !) 😀
Parmi la Todo List, nous avons (entre autres choses) :
- Réécriture du système de génération de bulletins (pour l’optimiser), cela marche actuellement même si ça reste perfectible.
- Gestion des sauts de pages lors de la génération des bulletins élève (une grosse analyse sera nécessaire là dessus pour voir comment gérer la chose).
- Personnalisation des bulletins (en-têtes/pieds de page).
- Gestion des droits/gestion multiutilisateur (pour l’instant, tout le monde a accès à l’ensemble des modules/actions/données).
- Gros travail sur les fonctionnalités de reporting (donner la possibilité à l’enseignant d’analyser les résultats d’une évaluation, d’un élève, suggérer des groupes de niveau en ciblant les lacunes des élèves par rapport à leurs résultats aux évaluations déjà saisies, suivre l’évolution d’un élève sur différentes périodes, etc.).
Le mot de la fin
Je tiens à vous dire que je n’ai pas oublié que je vous avais promis de parler un peu de la génération de pdf. Je garde cette idée dans un coin de ma tête pour un futur article. En attendant, n’hésitez pas à réagir par le biais des commentaires 😉
À très vite 🙂
Je te souhaite beaucoup de courage et que tu continues de croire en ton projet ! J’ai l’impression que tu as fait le plus gros .. à savoir, bien entamé ton sujet !!!
Bisous !
Merci pour tes encouragements !
En effet je commences à entr’apercevoir la lumière au bout du tunnel 🙂
bonjour, Jean Traullé.
Je suis ton projet depuis quelque temps, parce-que j’apprends CakePhp, et j’aime bien décortiquer ton code, comme celui de groogo. J’ai appris énormément =).
de version en version tu change complétement les structures des fichiers et je trouve vraiment dommage de devoir me taper un puzzle a chaque fois pour faire marcher ton script.
Je pense que pour un projet ou tu laisses les sources, tu devrais respecter les conventions et garder la structure de cakephp.
Bref mon point de vue ! =)
Peut être que un jours j’aurais le niveau pour t’aider.
Bon courage a toi.
Bonjour Jul,
J’avoue que je ne comprends pas trop quand tu parles de changer la structure des fichiers. Mis à part pour le passage de la version 1.x à la version 2.x de CakePHP, je n’ai pas du tout changé la structure des fichiers. Il en est de même pour la structure des données qui n’a que très légèrement évolué depuis le début du projet.
Lors d’un changement de version majeur de CakePHP, une réécriture de code est cependant forcément nécessaire vu que les classes du framework évoluent elles aussi.
Tu parles aussi de respect des conventions et je ne comprends pas vraiment en quoi je ne les respecte pas ? Éclaire moi là dessus 😉
Bref, pour ce qui est du puzzle, je suis désolé, c’est vrai que l’application est en développement actif et que beaucoup de choses bougent constamment mais il ne faut pas oublier qu’on est encore loin d’une version dite « stable » 😉
Si tu as besoin d’aide pour tes tests, je me ferais un plaisir de t’aider, dis moi juste sur quoi tu butes !
Bon désolé, une incompréhension quand j’ai dézzipé les fichiers…
tu respectes bien les conventions chaque fichier et a sa place … =) je me suis perdu quelque pqrt
Le site sur mon local marche parfaitement maintenant.
Je vois que tu n’as toujours pas corriger le problème de date et période..! =)
ou le problème viens peut être des chez moi ?
J’avance bien dans l’apprentissage de CakePhp, et j’avais gardé ton cms dans mes favoris pour y revenir plus tard. Pour l exemple parfaite des relations des model de ton cms:
belongsTo
hasMany
hasAndBelongsToMany
En avant il est temps de bien comprendre le concept =)
Si j’arrive a corriger des choses ou améliorer quelque chose. j’essayerai de t’aider si tu as besoin.
Mais je ne pense pas encore avoir le level pour celq =)
merci a toi de partager les codes =) et bon courage.
De rien, ça me fait plaisir si je peux aider quelques personnes à comprendre les concepts de développement avec CakePHP 🙂
Pour le problème avec les périodes et les dates, quel est le soucis exactement ?
Ping : Personnalisation et génération des bulletins en PDF. | Opencomp.fr – Carnet de développement