Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>zDevOps MFNew to Visual Studio Code? Get it now.
zDevOps MF

zDevOps MF

Generali France

|
1 install
| (0) | Free
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

zDevOps MF - Extension VS Code pour Mainframe

Version VS Code License

📋 Vue d'ensemble

zDevOps MF (MainFrame) est une extension Visual Studio Code développée par Generali France pour moderniser et automatiser les workflows DevOps des applications mainframe. L'extension transforme VS Code en un IDE mainframe moderne avec intégration native GitLab, spécialement conçue pour les environnements d'entreprise sécurisés.

🎯 Objectifs

  • Simplifier le développement mainframe (COBOL, JCL)
  • Automatiser les workflows Git/GitLab
  • Standardiser les pratiques DevOps entre équipes
  • Réduire les temps de setup et déploiement

🏢 Environnement cible

  • Clients supportés : GFA, GVIE, EA, GPROX
  • Infrastructure : GitLab Enterprise on-premise
  • Sécurité : Certificats SSL personnalisés Generali

🚀 Installation

Installation via Marketplace (Recommandée)

  1. Ouvrez Visual Studio Code
  2. Accédez aux Extensions (Ctrl+Shift+X)
  3. Recherchez "zDevOps MF"
  4. Cliquez sur Installer

Installation manuelle

  1. Téléchargez le fichier .vsix depuis le repository interne
  2. Dans VS Code : Extensions → Install from VSIX...
  3. Sélectionnez le fichier téléchargé

⚙️ Prérequis

Logiciels requis

  • Visual Studio Code : v1.59.0 minimum
  • Node.js : v12.x ou supérieur
  • Git : Version récente avec support SSL

Accès et sécurité

  • Compte GitLab Generali avec permissions lecture/écriture
  • Token GitLab (Personal Access Token avec scopes: api, read_repository, write_repository)
  • Certificat SSL Generali installé : C:\Users\[username]\generali_ca\ca.crt

Réseau

  • Accès HTTPS vers gitlab.groupe.generali.fr
  • Ports ouverts : 443 (HTTPS), 22 (SSH optionnel)

🔧 Configuration

Configuration initiale obligatoire

  1. Ouvrez les paramètres VS Code (Ctrl+,)
  2. Recherchez zdevops
  3. Configurez les paramètres suivants :
{
  "zdevops.user.gitToken": "glpat-xxxxxxxxxxxxxxxxxxxxx",
  "zdevops.user.gitUrl": "https://gitlab.groupe.generali.fr/gitlab/api/v4/",
  "zdevops.user.workspace": "C:\\dev\\mainframe",
  "zdevops.git.parentGroupId": "660"
}

Paramètres avancés (optionnels)

{
  "zdevops.git.sharedPanvaletGFA": "https://gitlab.groupe.generali.fr/gitlab/zdevops/gfa/DEP_PANVALET.git",
  "zdevops.git.sharedPanvaletEA": "https://gitlab.groupe.generali.fr/gitlab/zdevops/ea/DEP_PANVALET.git",
  "zdevops.git.sharedPanvaletGVIE": "https://gitlab.groupe.generali.fr/gitlab/zdevops/gvie/DEP_PANVALET.git",
  "zdevops.git.sharedPanvaletGPROX": ""
}

🔐 Obtention du Token GitLab

  1. Connectez-vous sur GitLab Generali
  2. Profil → Settings → Access Tokens
  3. Créez un nouveau token avec :
    • Name : VS Code zDevOps
    • Expiration : 1 an
    • Scopes : api, read_repository, write_repository
  4. Copiez le token (commençant par glpat-)

🛠️ Fonctionnalités

📂 zOpen - Ouverture de projet

Commande : zDevOps: zOpen

Workflow multi-étapes :

  1. Sélection du client (GFA, GVIE, EA, GPROX)
  2. Choix du projet mainframe
  3. Sélection de la branche (existante ou nouvelle)
  4. Clone automatique + ouverture VS Code

Fonctionnalités avancées :

  • Gestion automatique des dépendances (DEP_PANVALET)
  • Création de workspace structuré
  • Support branches de développement

💾 zSave - Sauvegarde intelligente

Commande : zDevOps: zSave

Pipeline automatisé :

git add . → git commit -m "message" → git push

Sécurisations :

  • Validation message commit non-vide
  • Gestion d'erreurs réseau et authentification
  • Feedback temps réel dans l'Output Channel

🚀 zDeploy - Déploiement multi-environnements

Commandes disponibles :

  • zDevOps: zDeploy to V - Validation
  • zDevOps: zDeploy to F - Formation
  • zDevOps: zDeploy to M - Migration (Production)

Processus sécurisé :

  • Vérification des branches autorisées
  • Création automatique de Merge Request
  • Workflow d'approbation intégré

Restrictions :

  • Branches V, P, F, R, M protégées contre le merge
  • Validation titres de Merge Request

📊 zStatus - Suivi multi-branches

Commandes :

  • zDevOps: zStatus - Fichier actuel (branches principales)
  • zDevOps: zStatus All - Fichier actuel (toutes branches)

Tableau de comparaison :

|branche     |commit   |auteur        |date                  |
|------------|---------|--------------|----------------------|
|ma_feature  |a1b2c3d4 |Jean Dupont   |2025-08-20T10:30:00Z  |
|V           |e5f6g7h8 |Marie Martin  |2025-08-19T14:20:00Z  |
|F           |x9y8z7w6 |Paul Bernard  |2025-08-18T16:45:00Z  |

🔄 zDelta - Comparaison de fichiers entre branches

Commande : zDevOps: zDelta

✨ Fonctionnalités principales

  • Comparaison visuelle interactive entre deux branches GitLab
  • Sélection de branches via interface QuickPick avec informations détaillées
  • Récupération parallèle des contenus via API GitLab pour optimiser les performances
  • Ouverture automatique de l'éditeur diff VS Code
  • Gestion robuste des fichiers inexistants dans certaines branches
  • Feedback temps réel avec métriques et progress comme les autres fonctions

🎯 Workflow d'utilisation

  1. Prérequis : Avoir un fichier ouvert dans l'éditeur VS Code
  2. Lancement : Ctrl+Shift+P → zDevOps: zDelta
  3. Sélection branche 1 : Choisir la première branche à comparer
  4. Sélection branche 2 : Choisir la seconde branche (liste filtrée)
  5. Comparaison : Analyse automatique et ouverture du diff visuel

📊 Interface de sortie

🚀 === zDelta - Comparaison de Versions ===
📂 Projet : MonApplication
📄 Fichier analysé : src/main.cobol
🔍 Recherche du projet GitLab...
📋 Récupération des branches disponibles...
🔄 Comparaison : feature/auth ↔ develop
📥 Récupération des contenus des fichiers...
✅ Contenu récupéré pour feature/auth (145 lignes)
✅ Contenu récupéré pour develop (132 lignes)

🔍 === ANALYSE DES DIFFÉRENCES ===
📊 feature/auth: 145 lignes
📊 develop: 132 lignes
📊 Différence: 13 lignes
📊 Lignes différentes: 27/145

🎉 === zDelta terminé avec succès ===
⏱️ Durée totale : 1.847ms

🎨 Interface de sélection

┌─ zDelta - Première branche ──────────────────────┐
│ > master          Dernier commit: abc1234        │
│   develop         Dernier commit: def5678        │
│   feature/auth    Dernier commit: ghi9012        │
│   hotfix/bug-123  Dernier commit: jkl3456        │
└───────────────────────────────────────────────────┘

🔬 Cas d'usage détaillés

1. Développement de features

  • Comparer la branche de développement avec master
  • Examiner les modifications avant une merge request
  • Vérifier les conflits potentiels

2. Debug et maintenance

  • Comparer les versions de production avec développement
  • Analyser les régressions entre versions
  • Tracer l'évolution d'un fichier critique

3. Code review

  • Validation visuelle avant approbation de merge request
  • Analyse d'impact des modifications sur le code COBOL/JCL

🛡️ Gestion des cas spéciaux

Fichier inexistant dans une branche :

⚠️ Le fichier n'existe que dans develop
📊 Fichier créé : 145 lignes

Fichier supprimé :

⚠️ Le fichier n'existe que dans feature/auth
📊 Fichier supprimé : 132 lignes

Fichiers identiques :

✅ Les fichiers sont identiques dans les deux branches

⚡ Performance et robustesse

  • Appels API parallèles : Récupération simultanée des deux versions
  • Timeout intelligent : Protection contre les API lentes (15s par requête)
  • Gestion d'erreurs complète : Continue même si un fichier n'existe que dans une branche
  • Cache potentiel : Réutilisation possible des requêtes API récentes
  • Logs détaillés : Debugging facilité avec masquage des tokens de sécurité

🔧 Spécifications techniques

  • API utilisées :
    • GET /projects/:id/repository/branches - Liste des branches
    • GET /projects/:id/repository/files/:path - Contenu des fichiers
  • Formats supportés : Tous les formats supportés par GitLab
  • Décodage : Base64 automatique avec encodage UTF-8
  • Limites : Taille de fichier limitée par l'API GitLab (1MB), maximum 100 branches
  • Intégration VS Code : Utilise l'éditeur diff natif avec syntax highlighting

📖 Guide d'utilisation

🌟 Workflow développeur complet

1️⃣ Initialisation du projet

Ctrl+Shift+P → "zOpen"
├── Sélectionner client : GFA
├── Choisir projet : MON_PROJET_COBOL  
├── Branche : créer "feature/nouvelle-fonction"
└── ✅ Projet ouvert dans VS Code

2️⃣ Développement

📝 Modifier fichiers COBOL/JCL
📁 Fichiers suivis automatiquement
🔍 Syntax highlighting mainframe

3️⃣ Sauvegarde

Ctrl+Shift+P → "zSave"
├── Message : "Ajout nouvelle fonction calcul"
├── ✅ git add . (automatique)
├── ✅ git commit -m "..." (automatique)  
└── ✅ git push (automatique)

4️⃣ Déploiement

📋 Tests locaux terminés
↓
Ctrl+Shift+P → "zDeploy to V"
├── Titre MR : "Déploiement fonction calcul en validation"
├── ✅ Merge Request créée
└── 👥 En attente approbation équipe

🔄 Environnements et workflow

graph LR
    DEV[Branche Dev] --> V[Validation]
    V --> F[Formation]  
    F --> M[Production]
    
    DEV -.-> |zSave| DEV
    DEV --> |zDeploy V| V
    V --> |zDeploy F| F
    F --> |zDeploy M| M

🚨 Résolution des problèmes

❌ Problèmes d'authentification

Erreur : "Échec de l'authentification GitLab"

Solutions :

  1. Vérifiez le token dans les paramètres VS Code
  2. Régénérez un nouveau token si expiré
  3. Vérifiez les scopes : api, read_repository, write_repository
  4. Testez l'accès : https://gitlab.groupe.generali.fr/

❌ Problèmes de certificats SSL

Erreur : "Certificate verify failed"

Solutions :

  1. Vérifiez le certificat : C:\Users\[username]\generali_ca\ca.crt
  2. Réinstallez le certificat CA Generali
  3. Contactez l'équipe infrastructure si persistant

❌ Problèmes de workspace

Erreur : "Le chemin du workspace n'existe pas"

Solutions :

  1. Créez le répertoire manuellement : C:\dev\mainframe
  2. Vérifiez les permissions d'écriture
  3. Utilisez un chemin sans espaces ni caractères spéciaux

❌ Problèmes de branches

Erreur : "Déploiement non autorisé"

Solutions :

  1. Vérifiez la branche courante (ne doit pas être V,P,F,R,M)
  2. Créez une branche de développement depuis P
  3. Respectez la convention de nommage : feature/nom-fonction

❌ Problèmes de réseau

Erreur : "Network timeout" ou "Connection refused"

Solutions :

  1. Vérifiez la connectivité : ping gitlab.groupe.generali.fr
  2. Contrôlez les proxy/firewall d'entreprise
  3. Testez depuis un autre réseau si possible
  4. Contactez l'équipe réseau Generali

🔧 Configuration avancée

Variables d'environnement

# Optionnel : Configuration proxy
HTTP_PROXY=http://proxy.generali.fr:8080
HTTPS_PROXY=http://proxy.generali.fr:8080
NO_PROXY=localhost,127.0.0.1,gitlab.groupe.generali.fr

Paramètres VS Code workspace

{
  "files.associations": {
    "*.cbl": "cobol",
    "*.cob": "cobol", 
    "*.jcl": "jcl"
  },
  "git.confirmSync": false,
  "git.autofetch": true
}

📞 Support et contact

🏢 Équipe de développement

  • Développeur principal : Équipe DevOps Generali France
  • Repository : https://gitlab.groupe.generali.fr/gitlab/zdevops/zdevops

🐛 Signaler un problème

  1. Consultez cette documentation en premier
  2. Vérifiez les logs dans l'Output Channel "zDevOps"
  3. Créez une issue sur GitLab avec :
    • Description du problème
    • Étapes de reproduction
    • Logs d'erreur complets
    • Version VS Code et extension

📝 Demandes d'évolution

  • GitLab Issues : Nouvelles fonctionnalités
  • Merge Requests : Contributions code acceptées
  • Discussions : Retours d'expérience

📋 Notes de version

v0.0.9 (Actuelle)

  • ✅ Support multi-clients (GFA, GVIE, EA, GPROX)
  • ✅ Interface multi-étapes intuitive
  • ✅ Gestion automatique DEP_PANVALET
  • ✅ Déploiement multi-environnements
  • ✅ Suivi commits multi-branches

Prochaines versions

  • 🚀 Support authentification SSO
  • 🚀 Interface graphique améliorée
  • 🚀 Intégration outils de build mainframe
  • 🚀 Templates de projets prédéfinis

📱 Extension développée avec ❤️ par l'équipe DevOps Generali France

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft