Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/02/2011, 21h18   #1
Invité de passage
 
Inscription : février 2011
Messages : 22
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 22
Points : 1
Points : 1
Par défaut Taille limitée pour Javascript ?

Bonsoir à tous,
tout d'abord, ne m'en veuillez pas, car je ne suis pas informaticien
Voilà,
j'utilise un petit programme qui me permet de gérer les "Tags" de tous mes fichiers audio.
Celui-ci peut exporter cette liste de tag vers différent format, notamment vers du format HTML. Une fois exporté vers ce format, tous mes tags devraient apparaitre sous forme de tableau, que l'on peut trier par colonne. "L'intelligence" du tableau est réalisé à l'aide de Javascript, chaque tags est mémorisé dans une variable tableau, et vu que ma bibliothèque de fichier audio comportent plus de 6000 titres, il y a donc au moins une ligne ou l'on assigne à la variable une valeur...
Mais le hic c'est que j'ai l'impression que le code généré est trop volumineux, le tableau n'apparait pas dans la page... Par contre, si dans le code je supprime les 7000 lignes d'initialisation de la variable, le tableau apparait bien dans la page, mais bien sûr celui-ci est vide...
Donc, est ce qu'on est limité en taille pour le Javascript ?
Je vous remercie par avance.

Pascal
pascal_06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 07h35   #2
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
salut

"limité" pas vraiment mais c'est sûr qu'un tableau de cette taille va faire ramer n'importe quel browser;

conseil: stocke en base les données et offre-toi un affichage ppp;
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 12h43   #3
Invité de passage
 
Inscription : février 2011
Messages : 22
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 22
Points : 1
Points : 1
Salut,
je n'ai pas l'impression que le browser "rame", car Firefox et IE me donnent les mêmes résultats... J'ai vraiment l'impression que le code qui est après les milliers de ligne d'initialisation du tableau est "zappé".
Qu'est ce qu'un affichage "ppp" ? Peux tu m'en dire plus ?
Si tu as le temps, et que tu veux avoir une idée du code généré, regarde ici :
http://forums.mp3tag.de/index.php?ac...e=post&id=1911
Merci par avance de ton aide.

Pascal
pascal_06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 20h08   #4
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 930
Points : 4 744
Points : 4 744
Bonjour,
Citation:
J'ai vraiment l'impression que le code qui est après les milliers de ligne d'initialisation du tableau est "zappé".
pas de raison sauf si erreur dans la déclaration des données.

Pourquoi d'ailleurs ne pas les mettre dans un fichier externe pour plus de lisibilité et de maintenance, bien que la ne soit pas le problème.
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 20h14   #5
Invité de passage
 
Inscription : février 2011
Messages : 22
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 22
Points : 1
Points : 1
Citation:
Envoyé par NoSmoking Voir le message
Bonjour,pas de raison sauf si erreur dans la déclaration des données.

Pourquoi d'ailleurs ne pas les mettre dans un fichier externe pour plus de lisibilité et de maintenance, bien que la ne soit pas le problème.
Bonsoir,
bien j'ai essayé de mettre les données du tableau dans un fichier js que j'inclue au fichier principal, mais le résultat est le même.
Je comprends pas !
pascal_06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 20h26   #6
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 930
Points : 4 744
Points : 4 744
Citation:
Mais le hic c'est que j'ai l'impression que le code généré est trop volumineux, le tableau n'apparait pas dans la page
j'ai un peu de mal à appréhender le soucis...
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 20h36   #7
Membre Expert
 
Inscription : septembre 2010
Messages : 1 239
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 239
Points : 1 559
Points : 1 559
A mon avis javatwister voulais dire un affichage page par page.

Faire afficher 7000 lignes c'est vraiment beaucoup (trop). Même si ça fonctionne ça va être lent.

Donc l'idéal serait de stocker ton fichier en bdd et afficher les résultats page par page avec par exemple 100 résultats par page. Et tu pourrais aussi faire une navigation par genre etc.

Si tu veux faire tout en js tu peux regarder ce lien qui fait à la fois de la pagination et du tri.

Le pb de tout faire en js c'est que tu importe toutes tes données en une seule fois et tu va te limiter à la mémoire disponible du matériel du visiteur...
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 21h20   #8
Invité de passage
 
Inscription : février 2011
Messages : 22
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 22
Points : 1
Points : 1
Citation:
Envoyé par ABCIWEB Voir le message

Si tu veux faire tout en js tu peux regarder ce lien qui fait à la fois de la pagination et du tri.

Le pb de tout faire en js c'est que tu importe toutes tes données en une seule fois et tu va te limiter à la mémoire disponible du matériel du visiteur...
Bonsoir,
ton lien est super interressant !
Mais je ne me sens pas le courage de tout éplucher...
En fait, je ne cherche pas à faire un quelconque site internet... Ce que je chercher à faire, c'est graver tout mes fichiers audio sur des disques (dvd ou cd, peu importe), et les accompagner d'un fichier facilement lisible par un quelconque ordinateur, en excluant tout ce qui est tableur (Excel, Open office), BDD, etc, mais tout en ayant la possibilité de faire du tri, du filtrage et de la recherche! Donc à première vue cette possibilité d'export vers un fichier HTML me plaisait bien, car lisible par la plupart des systèmes !
Voyez vous d'autres solutions à mon problème (du coup cela sort un peu du cadre de la programmation) ?
pascal_06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 23h15   #9
Membre Expert
 
Inscription : septembre 2010
Messages : 1 239
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 239
Points : 1 559
Points : 1 559
Tu pourrais nous donner un petit extrait de ce que donne ton programme comme code html ?
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 07h01   #10
Invité de passage
 
Inscription : février 2011
Messages : 22
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 22
Points : 1
Points : 1
Citation:
Envoyé par ABCIWEB Voir le message
Tu pourrais nous donner un petit extrait de ce que donne ton programme comme code html ?
Oui, bien sûr, le code est en pièce jointe (zippé) !
Merci par avance pour ton aide !
Fichiers attachés
Type de fichier : zip preview_html_nickless_color_schemes_directorylist.htm.zip (16,9 Ko, 4 affichages)
pascal_06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 09h53   #11
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 073
Points : 4 073
En termes de volume pour ton code source Javascript, l'exemple que tu as mis en pièce jointe n'est pas "trop gros", rassure-toi ^^

Jette un oeil au JS de mon générateur (voir lien dans ma signature)
N'ayant pas fait le choix de mettre mes données en base pour le moment, j'ai des tableaux littéraux directement insérés dans le JS, qui sont nettement nettement plus volumineux que la page que tu nous as montrée, et ça tourne très bien enfin disons : c'est pas joli, c'est lourd à gérer, mais ça tourne ^^

(par contre il faut que je fasse quelque chose un de ces 4 pour ma fonction de calcul de statistiques.... faire freezer firefox pendant plus de 3 minutes avant l'affichage c'est quand même pas idéal... )
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 10h54   #12
Expert Confirmé Sénior
 
Avatar de le_chomeur
 
Développeur informatique
Inscription : février 2006
Messages : 3 563
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 3 563
Points : 4 025
Points : 4 025
ce qui m'a le plus choqué dans le code source , ce sont les références a des tests pour savoir si on se trouvais sous ie5 ou netscape :-/
__________________
est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
le_chomeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 12h16   #13
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
tiens maintenant qu'on en parle Romain, ça veut dire quoi
"Nous revenions ne jamais jubiler." ?

javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 12h43   #14
Invité de passage
 
Inscription : février 2011
Messages : 22
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 22
Points : 1
Points : 1
Citation:
Envoyé par RomainVALERI Voir le message
En termes de volume pour ton code source Javascript, l'exemple que tu as mis en pièce jointe n'est pas "trop gros", rassure-toi ^^

Jette un oeil au JS de mon générateur (voir lien dans ma signature)
N'ayant pas fait le choix de mettre mes données en base pour le moment, j'ai des tableaux littéraux directement insérés dans le JS, qui sont nettement nettement plus volumineux que la page que tu nous as montrée, et ça tourne très bien enfin disons : c'est pas joli, c'est lourd à gérer, mais ça tourne ^^

(par contre il faut que je fasse quelque chose un de ces 4 pour ma fonction de calcul de statistiques.... faire freezer firefox pendant plus de 3 minutes avant l'affichage c'est quand même pas idéal... )
Salut,
bien pourtant, avec tous mes tags MP3, ça me fait un code supérieur à 1Mo...
Et je t'assure que le code qui est après l'initialisation du tableau n'est pas exécuté, car les thèmes de couleurs ne fonctionnent pas, et la grille du tableau n'apparait pas !
pascal_06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 13h54   #15
Membre expérimenté
 
Duke Jikel
Inscription : mai 2010
Messages : 339
Détails du profil
Informations personnelles :
Nom : Duke Jikel

Informations forums :
Inscription : mai 2010
Messages : 339
Points : 546
Points : 546
Citation:
Envoyé par pascal_06 Voir le message
Salut,
bien pourtant, avec tous mes tags MP3, ça me fait un code supérieur à 1Mo...
Et je t'assure que le code qui est après l'initialisation du tableau n'est pas exécuté, car les thèmes de couleurs ne fonctionnent pas, et la grille du tableau n'apparait pas !
Alors j'ai rapidement parcouru le code et j'ai vu beaucoup d'horreurs :s

Je vais passer que les 2 premières en revu :

L'initialisation du tableau, pourquoi ne pas faire un tableau d'objets. Tu initialises ton tableau comme si c'était du PHP .

alors que tu devrais plutôt faire ça :
Code :
1
2
3
 
var array=[];
array.push(new song('song title', 'song album', 'son propertie1'....));
déjà tu ça sera moins lourd lors de l'initialisation du JS.

Ensuite, c'est au sujet des styles, oublies et jettes tout le code que tu as, passe plutôt par les CSS, c'est 100x plus performant et pour changer les styles pose juste une simple classe sur le tableau ou le <body>. Cela est plus propre et évite des tonnes de lignes de codes JS inutiles.
dukej est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 14h14   #16
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 073
Points : 4 073
Pardon d'avance pour cette réponse hors-sujet avec le post initial
Citation:
Envoyé par javatwister Voir le message
tiens maintenant qu'on en parle Romain, ça veut dire quoi
"Nous revenions ne jamais jubiler." ?

Il existe un usage modal possible du verbe "venir" et de ses dérivés :

Je viens manger.
Nous venions manger.

A ce stade, il y a deux possibilités pour introduire une négation :

Nous ne venions pas manger. (on reste chez nous )
Nous venions ne pas manger. (on vient, mais on a pas faim )

En l'occurrence, j'ai utilisé "manger" pour clarifier un peu l'exemple, mais grammaticalement, c'est la même chose avec "jubiler".
Idem pour la négation, "ne...pas", "ne...jamais", "ne...point" sont équivalents

MAIS : je t'accorde que la phrase obtenue au final est carrément tordue
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 16h50   #17
Expert Confirmé Sénior
 
Avatar de le_chomeur
 
Développeur informatique
Inscription : février 2006
Messages : 3 563
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 3 563
Points : 4 025
Points : 4 025
après mure réflexion , pourquoi ne pas chargé en asynchrone ?
explication : chargé les infos dans un fichier externe , puis les loadé par passe ( genre 50 / 50 ? )
__________________
est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
le_chomeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 20h52   #18
Membre Expert
 
Inscription : septembre 2010
Messages : 1 239
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 239
Points : 1 559
Points : 1 559
Tu as fait des tests pour voir combien de lignes ton éditeur peut encaisser et afficher correctement ?
Dans tous les cas essayes d'enlever les effets visuels lors de l'affichage pour faciliter la création de la page.
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 21h05   #19
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 847
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 847
Points : 1 344
Points : 1 344
Citation:
Envoyé par RomainVALERI Voir le message
Pardon d'avance pour cette réponse hors-sujet avec le post initial
Il existe un usage modal possible du verbe "venir" et de ses dérivés :

Je viens manger.
Nous venions manger.

A ce stade, il y a deux possibilités pour introduire une négation :

Nous ne venions pas manger. (on reste chez nous )
Nous venions ne pas manger. (on vient, mais on a pas faim )

En l'occurrence, j'ai utilisé "manger" pour clarifier un peu l'exemple, mais grammaticalement, c'est la même chose avec "jubiler".
Idem pour la négation, "ne...pas", "ne...jamais", "ne...point" sont équivalents

MAIS : je t'accorde que la phrase obtenue au final est carrément tordue
Mais ce qui m'ennui, c'est le "RE" avec le "jamais".

Car ok pour : Nous ne venions jamais manger.
Par contre pas d'accord pour : Nous ne revenions jamais manger.

car le "re" sous-entend qu'on répète une action qui est censée n'avoir "JAMAIS" eu lieu ?

Comment ça hors-sujet ?
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 21h05   #20
Invité de passage
 
Inscription : février 2011
Messages : 22
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 22
Points : 1
Points : 1
Citation:
Envoyé par le_chomeur Voir le message
après mure réflexion , pourquoi ne pas chargé en asynchrone ?
explication : chargé les infos dans un fichier externe , puis les loadé par passe ( genre 50 / 50 ? )
Salut,
comment ça dans un fichier externe ? Je croyais que le javascript ne permet pas de gérer les fichiers...
Peux tu m'en dires plus stp ?
pascal_06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h49.


 
 
 
 
Partenaires

Hébergement Web