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

Contribuez Discussion :

Mode d'emploi pour le déploiement automatique de mise à jour


Sujet :

Contribuez

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur Qualité (Microtechnique)
    Inscrit en
    Février 2016
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur Qualité (Microtechnique)
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 188
    Points : 265
    Points
    265
    Par défaut Mode d'emploi pour le déploiement automatique de mise à jour
    Bonjour,
    Voici un technique que j’utilise pour automatiser le déploiement de mes bases Access sur les postes utilisateurs.

    1. Créer une table TVersion avec les champs suivants :
      1. PC, Texte courte, Clef primaire
      2. DateMaJ, Date/Heure

    2. Créer un module avec le code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Public Const FichierRAR = " z:\BD\ MaBaseFrontale.exe" ‘chemin du fichier .exe détaillé en point 7
    Public Const FichierBAT = " z:\BD\ MonBatch.bat"  ‘chemin du fichier batch détaillé en point 9
     
     
    Option Compare Database
     
    Public Sub VerificationVersion()
    Dim Rst As DAO.Recordset
    Dim ssQl As String
        ssQl = "SELECT * FROM TVersion where PC=" & Chr(34) & Environ("COMPUTERNAME") & Chr(34)
        Set Rst = CurrentDb.OpenRecordset(ssQl)
        If Rst.EOF = True Then
            Rst.AddNew
            Rst!PC = Environ("COMPUTERNAME")
            Rst!DateMaJ = FileDateTime(FichierRAR)
            Rst.Update
            Call MaJ
        Else
            If FileDateTime(FichierRAR) <> Rst!DateMaJ Then
                Rst.Edit
                Rst!DateMaJ = FileDateTime(FichierRAR)
                Rst.Update
                Call MaJ
            End If
        End If
    Rst.Close
    End Sub
     
     
    Public Sub MaJ()
        MsgBox ("Une nouvelle version du logiciel à été trouvé et va être installée. Veuillez relance le programme une fois le telechargement terminée")
     
        Shell FichierBAT, vbNormalFocus
        Application.Quit
    End Sub
    1. Créer un formulaire Verif_Version vide avec le code suivant sur ouverture

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_Open(Cancel As Integer)
        Call VerificationVersion
        DoCmd.OpenForm "Accueil" ‘Accueil étant la fenêtre principale de ma base
        DoCmd.Close acForm, "Verif_Version"
    End Sub

    1. Aller dans les Options Access, Base de données active et dans le champ Afficher le formulaire, indiquer Verif_Version. Cela va permettre d’ouvrir la fenetre Verif_Version au démarage.
    2. Scinder la base de données
    3. Mettre la base frontale sur un poste en local (c:\MaBaseFrontale .accdb), Je la met en principe à la racine de disque dur car c’est commun à tous les postes
    4. Je créer un fichier autoextractable de ce fichier avec WinRAR
      1. Ouvrir WinRAR
      2. Ajouter le fichier MaBaseFrontale .accdb à l’archive
      3. Onglet Général, cocher Créer une archive SFX
      4. Onglet Avancé, cliquer sur le bouton Option SFX
      5. Dans la fenêtre « Options SFX avancées », onglet Général, ajouter le chemin d’accès ( c:\ dans mon cas)
      6. Onglet Modes, Mode silencieux = Tout masquer
      7. Onglet Mettre à jour, Mode de remplacement = Remplacer tous les fichiers
      8. Valider avec le bouton OK la fenêtre Options SFX avancées
      9. Valider avec le bouton OK la fenêtre principale

    5. Copier ce fichier .exe sur un disque réseau (z:\BD\ pour mon exemple)
    6. Dans le même dossier, créer un fichier MonBatch.bat, le modifier et y mettre le texte suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    exemple: 
    :boucle  
    set /a count = count + 1  
    if %count%==1000 goto finboucle  
    goto boucle  
    :finboucle 
    @echo off
    cd " z:\BD\" & Start MaBaseFrontale.exe -s

    1. Pour l’installation sur un nouveau poste, il vous suffit de lancer le fichier MonBatch.bat qui va automatiquement créer un fichier c:\MaBaseFrontale .accdb
    2. Mettre un raccourci sur le bureau
    3. Lancer la base (il va refaire automatiquement une mise à jour car le nouveau poste n’est pas inscrit dans la table TVersion


    Pour déployer une nouvelle version, il suffit de refaire le fichier MaBaseFrontale.exe et de le remettre dans le dossier z:\BD\ (point 7-8)
    Tous les postes se mettrons à jour automatiquement lors de la prochaine connexion.

    Rien de plus simple !!!!
    Avant de poser une question avez-vous testé l’enregistreur de macro ?
    http://fauconnier.developpez.com/tut...istreur-macro/
    Merci de passer vos discussion en
    Et sinon un est toujours le bienvenue.

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur Qualité (Microtechnique)
    Inscrit en
    Février 2016
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur Qualité (Microtechnique)
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 188
    Points : 265
    Points
    265
    Par défaut
    J'ai fait une erreur dans le batch.
    Il faut remplacer la dernière ligne par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    start "essai" "z:\BD\MaBaseFrontale.exe" /s
    Avant de poser une question avez-vous testé l’enregistreur de macro ?
    http://fauconnier.developpez.com/tut...istreur-macro/
    Merci de passer vos discussion en
    Et sinon un est toujours le bienvenue.

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    Bonjour.

    Et merci de ta contribution détaillée.

    Une façon de faire pour les petites applications qui se copient vite est de faire un batch du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    copy "z:\unCheminResau\UneBD.accdb" "c:\UnCheminLocal\UneBD.Accdb"
    call "c:\UnCheminLocal\UneBD.Accdb"
    Qui va copier systématiquement la version réseau sur le poste local.
    Puis lance l'application.

    Si le temps de copie est faibles (quelques secondes), c'est une solution super-simple pour garder des postes utilisateur à date.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. [Lazarus] Super mode d'emploi pour installer Lazarus depuis SVN!
    Par thierryc dans le forum Lazarus
    Réponses: 1
    Dernier message: 25/10/2009, 10h53
  2. [eXo Portal] Mode d'emploi pour la communauté francophone
    Par benjmestrallet dans le forum Portails
    Réponses: 0
    Dernier message: 24/01/2009, 22h15
  3. Réponses: 8
    Dernier message: 27/07/2007, 15h08
  4. Mode d'emploi pour un site redimensionnable ?
    Par jehhej dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 09/03/2007, 18h32
  5. [SSL] Mode d'emploi pour passer en https
    Par PierrotY dans le forum Apache
    Réponses: 1
    Dernier message: 26/07/2006, 13h36

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