OVH Cloud OVH Cloud

[long]comment créer des interfaces utilisateurs ?

19 réponses
Avatar
zlm_zlm2004
Bonjour,

je veux assurer l'administration d'un site web distant, en utilisant
en local, comme interface principale, un navigateur. Les pages
d'administration résideront sur le site web à administrer.

L'environnement de travail en local:
Windows XP pro. J'ai le contrôle complet de toute la machine.
Serveur ftp en local.
Navigateur: je préfererais IE6, mais je suis prêt à utiliser d'autres
navigateurs si ceux-ci représentaient un avantage décisif.

Le système d'administration (pages écrites en html,php et javascript)
doit permettre, entre autres, l'échange de nombreux fichiers entre les
deux sites, ces fichiers étant à des emplacements variables d'une fois
sur l'autre.

Aucune difficulté pour réaliser ces transferts en utilisant ftp sous
php.

Je suis en revanche complètement démuni sur tous les aspects touchant
aux interfaces utilisateurs. Par exemple comment aborder, du point de
vue du GUI (Graphical User Interface), la navigation dans le système
local de fichiers? Comment présenter des formulaires en sortant de la
problématique des formulaires HTML ?

Je pense qu'il y a de nombreuses solutions faisant appel à des
plug-in, mais je n'ai aucune notion concernant cet aspect des choses.
Est-il envisageable par exemple, que je conçoive une librairie de GUI
avec Delphi, en ayant la possibilité de les "connecter" en local à mes
pages.
Existe-t-il un protocole qui réalise cette connexion?
Je précise enfin que je suis très réticent à utiliser Java pour cette
application.

Quelles sont les références techniques à consulter qui me donneront
les moyens de réaliser ces interfaces utilisateurs ?

Je vous remercie d'avance pour votre aide (et de m'avoir lu jusqu'au
bout).

Claude Animo,
claude point animo at free point fr

9 réponses

1 2
Avatar
Jack
Le 15/10/2004 18:19, :

Claude ANIMO wrote:

Le système d'administration (pages écrites en html,php et javascript)
doit permettre, entre autres, l'échange de nombreux fichiers entre les
deux sites, ces fichiers étant à des emplacements variables d'une fois
sur l'autre.




Je suis en revanche complètement démuni sur tous les aspects touchant
aux interfaces utilisateurs. Par exemple comment aborder, du point de
vue du GUI (Graphical User Interface), la navigation dans le système
local de fichiers? Comment présenter des formulaires en sortant de la
problématique des formulaires HTML ?




Tu as regardé du côté de XUL ? (http://www.xulfr.org)

Il y a un projet de gestionnaire de fichiers distants en XUL :
http://filemanager.mozdev.org/




Un autre projet vous permettant d conserver l'IHM:
http://webdavclient.mozdev.org/index.html

Est ce votre objectif?
Avatar
zlm_zlm2004
"Pierre Goiffon" wrote in message news:<4174e66f$0$23255$...

Euh... il s'agit de 2 pages, dont l'une avec un input type=file (qui permet
à l'utilisateur de sélectionner un fichier sur son poste, via les boites de
dialogue habituelles). J'ai du rater quelque chose ?



Ce type de transfert avec "input type=file" ne traite qu'un seul
fichier à la fois.
Dans mon cas j'ai besoin de transférer de nombreux fichiers et de ne
pas rappeler n fois la même boîte de dialogue. Donc utiliser une
selection multiple.
Claude Animo
Avatar
Peter Pan
Claude ANIMO a écrit :
Ce type de transfert avec "input type=file" ne traite qu'un seul
fichier à la fois.



Juste à ce propos :
Avec <input type='file' name='fichier[]'> on peut faire du multi...

Dans mon cas j'ai besoin de transférer de nombreux fichiers et de ne
pas rappeler n fois la même boîte de dialogue. Donc utiliser une
selection multiple.



... mais pour ça je te propose http://jupload.biz/en_0.html
Génial et configurable à souhait (testé et approuvé !).

--
Pierre
http://dev.ppan.net/
Avatar
Jean-Marc Desperrier
Franck Guillaud wrote:
Comme ça vite fait, je verrais 2 solutions :

- Un browser embarqué dans un client lourd (type IE appelé en COM).

Comme ça tu les avantages du client HTTP & du client lourd. Tu dois
pouvoir intercepter les événements sur certains éléments de la page pour
déclancher des actions dans ton client. Mais le client (commercial) est
obligé d'utiliser ton appli.



En multi-plateforme open source, il y a par exemple jrex :
http://jrex.mozdev.org/ pour cela.
Et aussi jdic : https://jdic.dev.java.net/
Avatar
Pierre Goiffon
"Peter Pan" a écrit dans le message de
news:41753528$0$15749$
Ce type de transfert avec "input type=file" ne traite qu'un seul
fichier à la fois.





Avec <input type='file' name='fichier[]'> on peut faire du multi...



Quel est le support ? Jamais vu ça en oeuvre...

Dans mon cas j'ai besoin de transférer de nombreux fichiers et de ne
pas rappeler n fois la même boîte de dialogue.





Le produit proposé par PeterPan a l'air fort convenable. Sinon il reste à
développer un ActiveX, applet Java, ... Bref utiliser une technologie de
traitement côté client, plus lourde qu'un simple JavaScript !
Avatar
Franck Guillaud
Pierre Goiffon wrote:

"Peter Pan" a écrit dans le message de
news:41753528$0$15749$

Ce type de transfert avec "input type=file" ne traite qu'un seul
fichier à la fois.






Avec <input type='file' name='fichier[]'> on peut faire du multi...





Plutôt en utilisant plusieurs <input type="file"/> dans le formulaire.

Franck,e-
Avatar
Peter Pan
Pierre Goiffon a écrit :
Quel est le support ? Jamais vu ça en oeuvre...



$nbrFile = 5; // implémentation possible via menu
for ($i = 1; $i <= $nbrFile; $i++) {
echo "<input type='file' name='fichier[]' size='20'>";
}

Et ensuite :

$thefile = $_FILES['fichier'];
foreach ($thefile['name'] as $key => $name) {
$fileTemp = $thefile['tmp_name'][$key];
if (strlen($thefile['name'][$key])) {
[...]
}
}

Dans mon cas j'ai besoin de transférer de nombreux fichiers et de ne
pas rappeler n fois la même boîte de dialogue.





Le produit proposé par PeterPan a l'air fort convenable. Sinon il reste à
développer un ActiveX, applet Java, ... Bref utiliser une technologie de
traitement côté client, plus lourde qu'un simple JavaScript !


Avatar
Peter Pan
J'ai écrit :
foreach ($thefile['name'] as $key => $name)



Oups ! Erreur d'interface chaise/écran !
Bien sûr, comme le signale Franck, la première partie du code est le pilotage
du formulaire lui-même.

Le produit proposé par PeterPan a l'air fort convenable.





Franchement, très bien ; et je vous assure que j'ai cherché ce type de script
longtemps ! Un peu lourd pour du RTC toutefois.

--
Pierre
http://dev.ppan.net/
Avatar
newdb
Pierre Goiffon wrote:
"Peter Pan" a écrit dans le message de
> Avec <input type='file' name='fichier[]'> on peut faire du multi...
Quel est le support ? Jamais vu ça en oeuvre...



ça fonctionne partout.
et te retourne un tableau de variables fichier[0] à fichier[n]

pititexemple :

<input name="uploadfile[]" id="uploadfile0" type="file" size="70">
<br>
<input name="uploadfile[]" id="uploadfile1" type="file" size="70">
<br>
<input name="uploadfile[]" id="uploadfile2" type="file" size="70">
<br>

//-------------------------------------------------//
// vérification des noms des fichiers //
//-------------------------------------------------//
function verif() {
var le_form = document.forms[0].elements;
var boucle = 0;
var vide = 0;
for (boucle = 0; boucle < 3; boucle++) {
var l_id = 'uploadfile'+boucle;
var le_nom = document.getElementById(L_id).value;
if (le_nom != '') {
var x1 = /+/;
if (x1.test(le_nom) != 0) {
alert('Nom de fichier ( ' +
le_nom +
' ) ne doit pas comporter de ');
document.getElementById(l_id).style.color='red';
return false;
}
var x2 = /[.]{1}[jpg|jpeg]{3,4}$/i;
if (x2.test(le_nom) == 0) {
alert('Nom de fichier ( ' +
le_nom +
' ) doit se terminer par .jpg ou .jpeg');
document.getElementById(l_id).style.color='red';
return false;
}
document.getElementById(l_id).style.color='#003366';
} else {
vide = vide + 1;
document.getElementById(l_id).style.color='#003366';
}
}
if (vide == 3) {
alert('Aucun fichier xE0 transfxE9rer');
return false;
}
return true;
}

le test sur la présence de l'antislash nécessaire
(au cas où tu as besoin de récupérer le vrai nom
du fichier que tu upload) parce que sous macos < X
tu peux nommer un fichier : trucbidule-machin.jpeg
et du coup tu upload bidule-machin.jpeg

à noter aussi que sous (certains) ie, la propriété
document.getElementById(l_id).style.color concerne
TOUS les input (le bloc complet) ;
alors que sous mozilla (par exemple)
elle ne concerne que LE input concerné.
--
@@@@@
E -00 comme on est very beaux dis !
' `) /
|_ =="
1 2