Imprimer

Description des tâches

Objectif du stage

Sont envisagées deux alternatives complémentaires de production documentaire pour contourner les limites des navigateurs actuels concernant les impressions paginées :

  1. Une variante "server-side à-la-GoogleDocs" : le contenu est toujours produit dans le navigateur web mais le résultat paginé est généré côté serveur par un système d'impression virtuelle dans un document PDF (DOM to PDF).
  2. Une variante "client-side" utilisant OpenOffice? : l'injection de données est transférée vers un modèle de document OpenOffice par le navigateur via une Applet Java, le contenu texte est produit et imprimé par l'application OpenOffice et sauvegardée par le serveur.

Planning prévisionnel

Semaine
Résumé
Semaine 1 à 3 : Familiarisation avec Mediboard et son framework. Création d'un module de test. Travail en pair programming : sur le module de dPpersonnel, ajout de deux onglets pour la gestion des plages de vacances et leur affichage.
Semaine 4 à 6: Familiarisation avec dompdf via la trace d'une exécution. Également, la résolution d'un bug important : non gestion des éléments en position fixe définis en CSS. Intégration de dompdf comme librairie dans Mediboard, et étude de l'intégration dans le framework.
Semaine 7 à 11 : Intégration dans l'édition d'un document attaché à une consultation, avec la partie droite réservée à un aperçu en vignette du document rafraichi lorsque l'utilisateur clique sur un bouton. Remplacement de l'action du bouton d'impression : elle sera associée à la génération PDF du document (+ sauvegarde du fichier PDF lié au document texte grâce à l'association d'un CCompterendu à un CFile).
Semaine 12 : Gestion du cache pour la librairie PhpThumbs? chargée de générer les vignettes d'aperçu afin d'éviter la surcharge du serveur lors de l'affichage de celles-ci.
Semaine 13 : Comparaison des documents générés par le module existant et dompdf. Correction des bugs si de grosses différences sont notées. Plusieurs itération de ces deux étapes sont à prévoir compte tenu des bugs reportés sur le site de dompdf.
Semaine 14 à 15 : Tests fonctionnels pour vérifier le bon déroulement de la génération PDF des documents et étude d'un script cron pour la génération automatique des PDF (document + vignettes) pendant la nuit.
Semaine 16 à 20 : Étude de la possibilité de gérer l'édition de document côté client avec l'utilisation d'OpenOffice.

Planning réel

  • Semaine 1 : Installation et découverte du framework
  • Semaine 2 : Programmation d'un module en pair programming
  • Semaine 3 : Fin de programmation d'un module en pair programming
  • Semaine 4 : Début de la mission principale : DomPdf.Résolution du problème de div en position fixed.
  • Semaine 5 : Rédaction du bilan intermédiaire. Nouveau bug découvert.
  • Semaine 6 : Intégration de DomPdf dans Mediboard, et résolution d'autres bugs reportés
  • Semaine 7 : Poursuite de l'intégration de DomPdf, étude de la gestion du cache de PhpThumbs?. Evolution des choix de conception dans l'intégration
  • Semaine 8 : Ajout de l'option de mise en page pour les modèles et les documents
  • Semaine 9 : Résolution de bugs dans DomPdf
  • Semaine 10 : Evolution des choix dans l'intégration de dompdf. Revert de quelques modifications de la semaine 9.
  • Semaine 11 : Quelques bugs résolus et découverts dans mediboard. Modifications esthétiques de l'intégration.
  • Semaine 12 : Commit d'une première version. Avancement dans DomPdf
  • Semaine 13 : Correction de quelques bugs de la première version. Elaboration d'une fonction de nettoyage.
  • Semaine 14 : Modifications et corrections diverses dans la gestion des plages de congés?. Fin de la fonction de nettoyage, et correction d'un bug dans DomPdf
  • Semaine 15 : Mise en test dans une clinique, et création d'un script cron pour la génération PDF.
  • Semaine 16 : Amélioration de scripts shells et problème de mémoire avec certaines versions de php.
  • Semaine 17 : Retour d'utilisateurs.
  • Semaine 18 : Fuites mémoires et autre bug

Dernièrement modifié par flavien4016 points  , Basé sur le travail de lryo12809 points  et system .
Modifiée dernièrement le mardi 01 de juin, 2010 19h15m02.

Sponsors privilégiés

Mediboard project