Deploiement en prod

Bonjour,

Je suis nouveau dans 4D, je reprends la suite d’un dev 4D version V16 qui vient de démissionner et avec lequel je n’ai pas eu de transmission de compétence.

J’ai en local sur son PC l’application 4D et le serveur 4D.
Donc j’imagine qu’il travaillait en local sur son PC avant une mise en prod sur le serveur.

Cela fait une semaine que je suis dans la doc 4D V16 et je ne trouve pas une rubrique “deploiement de son application en prod”

Doit-on copier tout le dossier server database sur le serveur de prod ?
Je pense qu’il s’agit de la mauvaise réponse car j’écraserai le fichier qui gère les enregistrements (le .4DD d’après ce que j’ai compris)

Ou bien seulement quelques fichiers (le .4DB ou le .4DC) ?

Merci pour vos réponses et vos explications sur les bonnes pratiques de mise en prod avec 4D

Cordialement,

Bonjour,

Est-ce qu’un premier déploiement a été effectué ?

Avec 4D on peut déployer de plusieurs manières :

  • manuellement avec le fichier structure interprété (.4DB)
  • manuellement avec le fichier structure compilé (.4DC)
  • ou on peut faire un serveur enginé (compilé).

C’est mieux de déployer une application en mode “compilé”.

En général, on déploie les fichiers suivants :

  • maStructure.4DB (ou 4DC)
  • maStructure.4DIndy
  • Plugins (dossier des plugins, si utilisés)
  • Components (dossier des composants, si utilisés)
  • Resources (dossier des resources, si utilisé)
  • WebFolder (dossier racine web, si utilisé)

Après, il faut savoir que quelques “données” sont contenues dans le fichier de structure. Les énumérations et la liste des utilisateurs et mots de passe 4D. Il faut généralement prévoir une gestion d’import/export de ces données lors de la mise à jour de l’application.

HTH
Bruno

Bonjour, et merci pour ce retour rapide.

De ce que je vois sur le serveur de prod, je pense que suis en mode compilé.
J’attache à ce message une impression d’écran des fichiers sur le serveur de prod ou je vois un fichier 4DC, indy, …

Je ne vois pas le 4DB (j’imagine pour des raisons de sécurité)
Mais alors comment je recupère la dernière version du code de prod pour être sur de “repartir” sur mon poste local avec la dernière version ?

[]26192522;“Fichiers de prod”[/]

Le 4DB (le code source) devrait t’être fourni par le propriétaire du programme, celui qui t’a confié la mission. S’il ne l’a pas, c’est au démissionnaire de le lui fournir. Ce 4DB s’accompagne d’un dossier “Resources”, mais ça, au pire, tu peux le récupérer dans la base de prod.

Outre le 4DB, tu peux aussi avoir à récupérer d’éventuels composants ; on peut te dire si c’est le cas à l’aide d’une copie écran du dossier “Components” (même emplacement).

Plus généralement, si tu n’as pas l’habitude de déployer du 4D, une formation te fera gagner beaucoup de temps.

PS : j’avais lu ton 1er message en diagonale, oups.

Apparemment tu as hérité de la machine du développeur (?), le 4DB devrait s’y trouver. Sa date de modification te dira au moins de quand date la dernière modification…

oui j’ai un fichier 4DB en local sur le poste de l’ancien développement.
Après ce qui me fait peur, c’est est ce que ce fichier est à jour par rapport à la version de prod. Peut etre avait-il avancé sur un évolution sans la mettre en prod sans l’avoir terminé.

Et donc si je déploie, je risque de mettre en prod un code non finalisé.

Pour le déploiement il n’existe pas une doc ou un site web ?

Les components :

[]26193351;“Components”[/]

: Fabrice CORNET

Les components :
Cool : ce sont tous des composants 4D, sauf http://www.grahamlangley.co.uklightning> qui est commercialisé. Il ne te manque plus que le source, il doit probablement s’appeler BASE_GESTION_4D.4DB. Tu as essayé de chercher avec l’extension 4DB ?

oui je l’ai trouvé.

Comment mettre en prod ?
J’imagine que je dois appuyer sur le bouton compiler pour qu’il génère le fichier 4DC

Tu me fais peur, là :wink:
Commence par lire tout ça :
http://doc.4d.com/4Dv17/4D/17/Compilation.200-3743424.fr.html
et après on en reparle.

Merci pour le lien, je l’avais lu il y a quelques jours.

  • J’ai vérifié la syntaxe,
  • j’ai compilé,
  • j’ai généré l’application

Il m’a créé 1 dossier “compiled BG4D v16” avec 2 sous-dossiers :

  • “Client Server executable”
  • “Compiled Database”

Dans “Client Server executable”, puis dans le dossier “Server Database”

  • 4dc, 4DIndy (datés du jour) et RSR daté de 2014
  • et un dossier “resources”

J’imagine que c’est mes fichiers et dossiers à écraser en prod ?

Merci

D’après ta copie écran d’origine, c’est déployé en base compilée (“compiled database”) : il faut quitter 4D serveur, bien sauvegarder tout son dossier en cas de pépin, copier les fichiers de ce dossier “compiled database”, les coller avec l’option remplacer si existe dans le dossier de la base, lancer 4D server, ouvrir le nouveau 4DC, indiquer où est le 4DD et c’est bon (si pas bon, se suicider).

Le client serveur exécutable, c’est le chapitre suivant : ça consiste à “fusionner” les applicatifs 4D avec ton développement dans des exécutables, l’un pour le serveur (il remplacera 4D Server.exe), le ou les 2 autres (ça dépend si tu as des clients mac, windows ou les deux) pour les postes clients. Ce type de déploiement permet la mise à jour automatique des postes clients lorsque le serveur est modifié - en gros, le client “ancien” se connecte, le serveur détecte qu’il n’est pas à jour et propose de télécharger le nouveau client, la suite se fait toute seule.

Bonjour,

Vu le contexte (reprise de projet sans transfert de compétences, inexpérience, etc…), le mieux serait peut-être d’organiser un coaching pour avoir quelqu’un qui t’assistes pour le démarrage et t’éviter de faire des bêtises.

Sinon, ce genre de situation ça se termine par “ben, c’est la faute de 4D”…

Bonjour,

D’après la copie d’écran, le fichier de données (".4DD") est dans le répertoire de la base “enginée”, donc il faut bien faire attention à ne pas l’écraser.

Salut Bruno,
à quoi vois-tu que c’est de l’enginé ?

: Arnaud DE MONTARD

Salut Bruno,
à quoi vois-tu que c’est de l’enginé ?

Ceci :

: Fabrice CORNET


Il m’a créé 1 dossier “compiled BG4D v16” avec 2 sous-dossiers :

  • “Client Server executable”
  • “Compiled Database”

Dans “Client Server executable”, puis dans le dossier “Server
Database”

  • 4dc, 4DIndy (datés du jour) et RSR daté de 2014
  • et un dossier “resources”

Qu’en penses-tu ?

Bonjour,

Remarque : tout est mis dans le même dossier, ce qui n’aide pas trop à s’y retrouver…

J’ai adopté ce type d’organisation depuis quelques années pour y voir plus clair :

[]26199355;“Dossier application”[/]

On y trouve les fichiers standard de l’application. Le répertoire “current” contient l’archive zip de la version en production a avec la date de la version et la version.
Le répertoire “previous” contient les précédentes versions (archives zip).
Le répertoire “Préférences” contient les préférences de sauvegardes (dossier “Backup”) et éventuellement le fichiers des propriétés “utilisateur” de la base (fichier “settings.4DSettings”).

[]26199359;“Dossier données”[/]
Le répertoire “data” contient le fichier de données .4DD, le fichier des index .4DX. (sera re-créé automatiquement si nécessaire), le fichier de “mariage” .Match. (sera re-créé automatiquement si nécessaire).
Le fichier journal peut être placé dans ce réperoire (ou dans le répertoire “backups”)

NOTE : le répertoire backups doit si possible être sur un disque différent (pour faciliter la remise en route en cas de perte du disque principal).

@ Bruno,
les réglages de compilation produisent le compilé et l’enginé, mais ça ne me dit pas si la version en prod est déployée sous l’un ou l’autre. Pas plus que la première copie écran où je ne vois pas de “exe”. Non ?

@ Fabrice
la base en production, elle tourne avec 4D Server.exe ou avec NomDeLaBase Server.exe ?

@arnaud

Je ne sais pas. Comment pourrais-je le savoir ?

J’ai un fichier BASE_GESTION_4D.exe dans le dossier BASE_GESTION_4D Server en production.
La date de dernière modification est du 15/03/2018

[]26210101;“Base gestion 4D server”[/]

Ça va mieux : cette icône violette est un serveur enginé (pour mémoire, fusion de la structure compilée 4DC avec l’exécutable 4D server.exe ; application autonome ou Client Server executable dans la doc). Si elle est exploitée en prod, tu dois voir cette icône dans la barre des tâches (des taches, ha ha ha) du poste serveur de production. Auquel cas, après que tu aies compilé+généré, les éléments fournis par le générateur d’application dans le dossier “Client Server executable” sont ceux qui doivent remplacer les éléments de même nom en production.

La doc sur le déploiement enginé est http://doc.4d.com/4Dv16/4D/16.4/Finaliser-et-deployer-les-applications-finales.200-3998696.fe.htmlici>.