IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

création d'un rollback au sein d'un application


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 2
    Par défaut création d'un rollback au sein d'un application
    Bonjour tout le monde,

    je vous donne le contexte, puis ce que j'aimerais faire et les solutions auquel j'ai pensé, puis échanger

    le contexte : j'ai développé une appli 100% JS et JQuery (6000 lignes) avec gestion du clique droit, selectable, drag&drop, évènement à gogo.... bref une petite usine à gaz pour un intranet. Je charge un JSON et lorsqu'une modification, ajout ou suppression est faite je met à jour ce JSON, puis toutes les 30 sec, s'il y a eu une modif au json j'envoie en ajax mon nouveau JSON qui est ensuite traité derrière en php, tout fonctionne à merveille.

    l'idée : un utilisateur m'a demandé si la possibilité de faire un rollback sur l'appli de nos dernières modifs serait possible, comme j'aime les challenges et que je trouve son idée intéressante...

    les solutions :
    1 ère solut - un peu "lourde" mais simple et rapide à mettre en place, à chaque mise à jour du json, je le clone et l'ajoute dans un tableau et à chaque rollback je recharge l'appli avec le json précédent.
    Inconvénient, côté client le navigateur va râler et le rechargement risque de ne pas toujours être optimisé.

    2 ème solut - chirurgical, enregistré chaque action, sur quel élément ou groupe d'éléments, les propriété ajouté, les styles à la volée (la position ou la taille par exemple), donc long à mettre à place.
    type d'action : ajout, suppression, modification, déplacement, étirement
    (de colonnes,de lignes, d'éléments, de groupes d éléments, de contenu)
    sans parler de la personnalisation... bref c'est pas simple
    voir j'y pense en même temps de l'écrire, pour certains type d'élément, enregistré tout l'élément puis le remplacer lors du rollback.

    si quelqu'un m'a lu jusque là, déjà merci

    donc l'idée est posé après la question est "par quel bout le prendre"
    je suis seul sur ce projet et donc personne avec qui échanger sur le sujet , et là avant de me lancer, j'aimerais bien avoir une vision plus global de la fonctionnalité théorique.

    Donc à votre bon coeur

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    si quelqu'un m'a lu jusque là, déjà merci
    de rien.

    l'idée : un utilisateur m'a demandé si la possibilité de faire un rollback sur l'appli de nos dernières modifs serait possible, comme j'aime les challenges et que je trouve son idée intéressante...
    le jeu en vaut-il la chandelle? même si tu considères que c'est un beau challenge

    ...j'aimerais bien avoir une vision plus global de la fonctionnalité théorique.
    il te faut passer par une spécification des besoins des plus détaillée.

    Peut être gérer cela comme le ferait une base de donnée avec des points de sauvegarde, mais j'y connaît rien...

    Peut être travailler avec du temporaire coté client et une sauvegarde qu'en fin...

    Peut être, mais je doit admettre que le 1st c'est de bien structurer avant de démarrer.

    Bon courage !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 2
    Par défaut
    en fait pour être plus précis car j'ai mal détaillé la fonctionnalité, je parlais de mettre en place un historique de manipulation du DOM.

    après avoir bien réfléchit le chirurgical me parait le plus censé. J'ai pensé à un proccess, reste à tester s'il est viable, ce que j'aimerais c'est trouvé une appli en JS qui le fait pour la décortiquer et voir si je pars dans la bonne direction

    exemple :
    je déplace un élément d'un point a à un point b donc lors du déplacement ajouter à un tableau la position avant le déplacement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {'type':'style','style':{'top':120,'left':60},'id':'#el_1224'}
    ou étirer un élément -> donc remplacer ses styles par ceux précédemment en place
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {'type':'style','style':{'width':'200px','height':'16px'},'id':'#el_1224'}
    ajouter un élément -> donc l'action sera un remove
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {'type':'add','id':'#el_1224'}
    éffacer un élément -> donc l'action sera de le remettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {'type':'delete','element':'<div id="el_1224" class="tt xx">contenu</div>','parent':'#id_parent','append':'appendTo'}
    là ça se corse car il faut en plus lui rajouter les event adéquat mouseover, onclick, onContextMenu... quoique avec la method live()

    et ainsi de suite en fonction de toutes les actions possibles et y'en a un paquet + les combos et la mise à jour du JSON en temps réel.

    je vais essayer un truc simple et si cela est concluant, j'essaierais plus compliqué. Je vous tiens au courant.

    Merci à ceux qui ont répondu, ça m'a permit de mieux réfléchir à comment mieux l'expliquer et au final à m'écrire un bout de réponse

  4. #4
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Certainement pas la première solution.

    Soit la deuxième ou au mieux un mélange des deux où tu clones uniquement l'élément modifié. (arg, en relissant ton poste, je vois que t'y avais pensé <<" pour certains type d'élément, enregistré tout l'élément puis le remplacer lors du rollback.">> ^^)

    Sinon, peut-être regarder du coté de la fonction "watch" (et "unwatch").

    Mais bon, je pense quand même que le plus simple est de sauver tout l'élément modifié. (ainsi qu'une reference vers son parent en cas de move ou de delete et une référence vers l'objet original pour garder la main dessus et le supprimer s'il est bougé ultérieurement et pouvoir le restaurer à sa bonne place sans le dupliquer.).

Discussions similaires

  1. [JavaService] Création d'un service a partir d'une application java en Jar)
    Par maxxper59 dans le forum EDI et Outils pour Java
    Réponses: 6
    Dernier message: 09/11/2010, 10h50
  2. Réponses: 9
    Dernier message: 22/02/2008, 14h21
  3. utiliser une webcam au sein de mon application
    Par crjo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 24/01/2007, 18h42
  4. Réponses: 2
    Dernier message: 01/06/2006, 08h52
  5. Création d'une pause au milieu d'une application
    Par Henri dans le forum Windows
    Réponses: 3
    Dernier message: 23/03/2006, 16h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo