fichier excel et Tomcat

Hardware, software tout l'monde en parle comme on dit chez Ardisson...
Répondre
Avatar de l’utilisateur
Skubidou
Administrateur
Messages : 2367
Inscription : 19 juil. 2003 17:39
Localisation : Lonzée (B)
Contact :

fichier excel et Tomcat

Message par Skubidou »

Hello,

petite question aux spécialistes de l'open source ;)

Au boulot, une société est occupée à nous développer une appli web sous tomcat. Cette application donne des liens vers des fichiers word et excel (des formulaires).

Pour les fichiers word, je n'ai pas de problème (IE6 me propose de l'ouvrir), mais pour les xls, IE me les ouvre en binaire dans la fenêtre IE :? ).

Sachant qu'il va y avoir environ 1000 utilisateurs qui vont se connecter à ce système (et que j'ai pas envie de devoir changer un param dans les 1000 PC), et que IE6 est le standard de la société (donc ça sert à rien de me dire que ça marchera peut-être avec Firefox :P ), et qu'on est en froid avec la société de développement (prévu pour 3 mois, il traine depuis 1 an. Donc si on peut éviter de leur dire qu'il doivent modifier la façon de gérer les liens, ça faciliterait les choses) est-ce qu'il y a moyen de modifier Tomcat (un paramètre pour dire de gérer les xls, ...) pour résoudre ce problème?

Skubidou:~
Avatar de l’utilisateur
Lazarus
Administrateur
Messages : 668
Inscription : 23 juil. 2003 11:40
Localisation : Tampere (Suomi)
Contact :

glop

Message par Lazarus »

Salut,

Je suis presque sûr que c'est possible mais n'étant pas familier de tomcat je ne peux pas répondre vraiment dans le détail.

A mon avis ça se passe dans le fichier web.xml de l'appli (TOMCAT_APP_ROOT/conf/web.xml), où il faut jouer avec mapping mime. Ca devrait se traduire par un truc comme ça dans le fichier en question :

<mime>
<extension>xls</extension>
<mime>application/excel</mime>
</mime>

Ca me paraît la solution la plus efficace et la plus élégante. L'autre solution consisterait à envoyer un header forçant le téléchargement du fichier, mais ça me paraît moins correct.

Le header en question serait :
'Content-Disposition: attachment; filename="NOM_DU_FICHIER_ICI"'

Cette dernière solution n'est possible que dans l'hypothèse où les liens vers les fichiers xls sont générés par une function unique, dans laquelle il suffira d'ajouter le header http en question avant de transmettre le fichier en lui-même.

Voilou :)

Lazzy
Avatar de l’utilisateur
Lazarus
Administrateur
Messages : 668
Inscription : 23 juil. 2003 11:40
Localisation : Tampere (Suomi)
Contact :

Message par Lazarus »

Et puis quand vous voudrez changer de prestataire pour vos applis web ma boîte aussi elle fait des applis, et dans les temps ;)

Et même qu'on est suffisamment tolérants pour que les applis en question soient compatible IE6 :GROUINK:
Avatar de l’utilisateur
Skubidou
Administrateur
Messages : 2367
Inscription : 19 juil. 2003 17:39
Localisation : Lonzée (B)
Contact :

Message par Skubidou »

Heu, je dirais qu'il est préférable (pour toi) qu'on ne fasse pas appel à ta société ;) Le projet est foireu depuis le début, le cahier des charges (fait par mon chef qui n'y connait rien) était 'vide', et la société qui l'a accepté (pour un prix minable en espérant ainsi avoir d'autres contrat) a sous-estimé le boulot : 20 jours prévu, il en ont fait 60 sur le premier développement, par un analyste foireu (qui avait des clés bidon dans toutes les tables, viré de la boîte depuis) et un programmeur dont c'était le premier développement. On en sortait plus dans les bugs, et ils ont décidé de reprendre le truc de zéro (avec un nouvel analyste et un nouveau programmeur). On en est maintenant à nouveau à 60 jours de développement, mais c'est pas encore ça....(y a tellement de truc imbriqués que personne n'avait prévu, sauf moi :mrgreen: mais personne m'écoute, tout le monde trouve depuis le début que c'est une 'petite application que quand il corrige un bug, ça en crée un autre ailleurs)

Faut dire aussi que c'est moi qui fait les tests, et je cherche toutes les petites bêtes :mrgreen:

Résultat, ça fait 8 mois qu'on dit qu'il faudrait abandonner le projet, mais mon chef ne veut pas (il veut le développement pas cher et s'est rendu compte depuis que si on recommence le projet avec un vrai cahier des charges, il l'aura plus au même prix ;) ) et la société non plus (si elle casse le projet, elle ne touchera pas le restant du, et espère toujours d'autres contrats, mais là elle peut toujours rêver...), donc on patauge à essayer de sortir un truc 'utilisable' :roll:

On en est arrivé au point où les bugs (messages d'erreur) ils les corrigent, mais les problèmes fonctionnels (possibilité de faire une demande sans uploader de formulaire alors qu'il n'y a rien d'autre dans la demande qu'un formulaire), ils lance 'demande d'évolution, change request payant'...On peut même faire des demandes de modification où on a fait aucune modification :nawak: (bon, je sais bien que ça existe sur ce forum, on peut modifier son profile sans rien modifier :ced: ), mais bon chez nous, c'est une application de demande d'accès, et quand on demande une modif par exemple, ça doit passer chez le chef de service (pour approbation) et chez le gestionnaire de l'application (pour modifier), et là une modification vide, ça fait un peu con :roll:

Merci pour l'info :D , je regarderai demain.

Skubidou:~
Avatar de l’utilisateur
Lazarus
Administrateur
Messages : 668
Inscription : 23 juil. 2003 11:40
Localisation : Tampere (Suomi)
Contact :

Message par Lazarus »

Héhé ça a l'air d'être un beau bordel en effet ! Ben pour un autre projet alors ;)

Bon courage!

Lazzy
Avatar de l’utilisateur
Skubidou
Administrateur
Messages : 2367
Inscription : 19 juil. 2003 17:39
Localisation : Lonzée (B)
Contact :

Re: glop

Message par Skubidou »

Lazarus a écrit :<mime>
<extension>xls</extension>
<mime>application/excel</mime>
</mime>
:tu cartonnes:

Merci

Skubidou:~
Avatar de l’utilisateur
Lazarus
Administrateur
Messages : 668
Inscription : 23 juil. 2003 11:40
Localisation : Tampere (Suomi)
Contact :

Message par Lazarus »

:vive moi: :pinguinnnnnn powaaa:
Avatar de l’utilisateur
Phoenix
Messages : 106
Inscription : 03 mars 2004 10:34
Localisation : Plant21
Contact :

Message par Phoenix »

ousk'elle est la question jeu là dedans ? :nawak:

:2or:
Avatar de l’utilisateur
Skubidou
Administrateur
Messages : 2367
Inscription : 19 juil. 2003 17:39
Localisation : Lonzée (B)
Contact :

Message par Skubidou »

Hardware, software tout l'monde en parle comme on dit chez Ardisson...
Y a pas que les jeux dans Software :P

Et puis bon, on met ça où on peut , tout le monde n'a pas des liens privilégiés avec le webmaster pour avoir un topic rien que pour ses projets de dev :pfioouuuu:

Skubidou:~
Avatar de l’utilisateur
Lazarus
Administrateur
Messages : 668
Inscription : 23 juil. 2003 11:40
Localisation : Tampere (Suomi)
Contact :

Message par Lazarus »

Phoenix a écrit :ousk'elle est la question jeu là dedans ? :nawak:
Quoi c'est pas un jeu d'avion Tomcat ? :beta:
Avatar de l’utilisateur
Skubidou
Administrateur
Messages : 2367
Inscription : 19 juil. 2003 17:39
Localisation : Lonzée (B)
Contact :

Message par Skubidou »

Histoire de faire migrer le topic dans le coin philo et que Phoenix retrouve ses jeux ;) , voici la dernière trouvaille de mon chef:

Dans le projet actuel (qui contient 67 rapports de bugs, dont certains rapports contiennent plusieurs bugs associés), je me suis rendu compte par hasard que certains anciens bugs avaient refait surface. Sur ce, j'indique à mon chef qu'il va falloir (à nouveau) retester tous les bugs pour voir ceux qui sont revenus...

Sa réponse à été: "Mais non, pas besoin, ce n'est pas comme cela que l'on fait pour tester... Si par exemple tu as 65 rapports de bugs, tu en tire 5 aux hasard et tu les tests. Si tu n'as pas de bugs dans ces 5 tests, tout va bien"

Maintenant je suis sûr d'avoir compris pourquoi tous les projets qu'il lance sont foireux :mrgreen:

Au passage, je viens de trouver un nouveau truc... Si j'encode que le gars arrive le 40/01/2007 (ben oui, on a juste droit à une zone texte, sans masque d'affichage, il test juste que c'est xx/xx/xxxx), il transforme ça en 09/02/2007 (c'est d'une logique implacable :roll: )

Skubidou:~
Avatar de l’utilisateur
Lazarus
Administrateur
Messages : 668
Inscription : 23 juil. 2003 11:40
Localisation : Tampere (Suomi)
Contact :

Message par Lazarus »

Ca laisse rêveur ! :ké boulet:
Avatar de l’utilisateur
clash
Messages : 332
Inscription : 06 août 2004 14:34
Localisation : CrazyLand
Contact :

Message par clash »

Je comprends pas....
la boite a quel age ?
Comment tu fais pour rester la-dedans ?
Comment ils font pour rester solvables ?
Avatar de l’utilisateur
Skubidou
Administrateur
Messages : 2367
Inscription : 19 juil. 2003 17:39
Localisation : Lonzée (B)
Contact :

Message par Skubidou »

Ben heu... Nous on est client, on a commandé le programme. Ma boîte n'est pas une boîte d'informatique, on fabrique du verre :teuf: (enfin non, c'est du verre plat pour faire des carreaux, pas des bouteilles ;) ). Donc nous on est solvable (et si je reste là, c'est parce que ce projet foireux n'est qu'un projet ponctuel, le reste du temps, je fais de l'administration réseau/serveurs, et là ça dépend très peu de mon chef, les directives venant directement de la maison mère...en interne, on ne discute pratiquement plus que du budget pour le hardware)

Eux, ben c'est une grosse boîte (Fujitsu), donc notre petit projet, ce n'est pas ce qui va les couler... ils essayent juste de limiter la casse au niveau financier.

Et si mon chef est si 'impliqué' dans le projet, c'est parce qu'on soupçonne que c'est dans ses objectifs personnels (avec prime à la fin de l'année...), donc il faut que ça se termine, le plus vite possible (c'est presque plus important que d'avoir un programme qui fonctionne... :? ) Il n'arrête pas de me demander si on ne peut pas déjà mettre le prog en fonctionnement, et corriger les bugs restants après.

Tiens, dernière trouvaille, pour les experts en base de données (j'en ai plus dessiné depuis tellement d'année que je suis plus sûr):

Dans les tables, on définit des sociétés.

Chaque société peut avoir plusieurs sites, donc relation 1-n
Chaque société a plusieurs services, qui contiennent plusieurs sous-services, donc relation 1-n à chaque fois.

Un utilisateur est donc rattaché à un sous-service, et un site (en remontant, par les 2 chemins, on retrouve la société)

La question piège: Si la base de donnée est bien dessinée (avec clés primaires correctes, ...), accepte-t-elle que l'on assigne un utilisateur au site de la société A, mais à un sous-service d'une société B? Parce qu'ici, c'est possible :ced:


Autre projet réalisé la semaine passée (et beaucoup plus amusant):

On a un vieux serveur NT4 (1997) avec un programme qui gère les impression d'un autre serveur de prod. Le logiciel n'est plus supporté par la société qui le vendait, donc impossibilité de le réinstaller (clé de licence impossible à ré-enregistrer, ...), le serveur se fait vieux (hardware), la solution de remplacement proposée par la maison mère n'est pas satisfaisante, et on doit supprimer les NT4 du réseau (plus de patchs)

- La solution de départ était de le placer dans un VLAN pour le protéger des attaques virales et ne laisser que les ports d'impression et de prier que le hardware tienne.
- Finalement, je me suis amusé à ghoster le NT4 sur une simple station, désactiver tous les vieux drivers (Compaq Array, ...j'ai trouvé aucun utilisataire pour les désinstaller), le nettoyer de tous les services inutiles, migrer le NT4 en Windows 2003 R2 et corriger les petits problèmes restants :D

Skubidou:~
Avatar de l’utilisateur
Veliouh
Messages : 418
Inscription : 27 juil. 2003 17:40

Message par Veliouh »

Skubidou a écrit : La question piège: Si la base de donnée est bien dessinée (avec clés primaires correctes, ...), accepte-t-elle que l'on assigne un utilisateur au site de la société A, mais à un sous-service d'une société B? Parce qu'ici, c'est possible :ced:
Non. C'est relié soi à l'un, soit à l'autre, suivant les besoins métiers, mais la relation avec le sous-service est plus logique, puisque plus précise. C'est ensuite la jointure sous-service/service/site qui permet de remonter au site.

Le problème de ce qu'ils font, c'est qu'un type appartient à 2 sociétés, du coup... On peut optimiser et relier 2 fois le type, pour accélérer les requête, c'est de la dénormalisation, mais il faut être sur de ce qu'on fait, en utilisant une procédure stocké d'insertion unique ou un trigger.
Répondre