CLI / CI/CD
Choisissez le parcours adapté : CLI direct dans votre terminal, ou CI/CD dans un pipeline avec une licence stockée comme secret. Les deux utilisent le même CLI et le même moteur CoreAnalyzer côté serveur.
Préparation commune
Le CLI CoreDevPro s’installe comme un paquet Node.js global depuis CoreDevPro. Il ne contient pas de moteur d’analyse local : il prépare le projet, vérifie l’accès côté serveur et récupère le rapport demandé.
Ne décompressez pas ce fichier. Installez-le avec npm.
npm install -g https://coredevpro.fr/downloads/coredevpro-scan-0.2.23.tgz
Parcours CLI direct
Dans un terminal, installez la commande coredevpro :
Utilisez toujours la dernière commande d’installation affichée ici : si votre CLI est trop ancien, l’API refusera le scan et demandera une mise à jour.
npm install -g https://coredevpro.fr/downloads/coredevpro-scan-0.2.23.tgz
Confirmez que la commande répond correctement :
coredevpro --help
Placez-vous à la racine du projet à analyser :
cd /path/to/your/project
Si aucun dépôt Git n’est détectable, remplacez project-id par un identifiant stable : il associe la session terminal au bon projet. Le .cdp natif est produit par défaut ; JSON et le .cdp chiffré localement restent disponibles.
export COREDEVPRO_PROJECT_ID=project-id
Lancez la connexion, puis choisissez soit un accès CLI actif pour un usage direct, soit une licence CI active pour un pipeline ou un environnement automatisé :
coredevpro login
Confirmez que la session est active :
coredevpro status
Vérifiez les fichiers inclus sans lancer de scan réel. Aucun YAML n’est requis ; ajoutez seulement des exclusions ciblées si le périmètre doit être ajusté.
Télécharger le YAML facultatif
coredevpro scan . --dry-run
Démarrez l’analyse : le .cdp natif est généré par défaut. Demandez explicitement JSON ou le .cdp chiffré selon votre workflow.
Mode natif · rapport .cdp
coredevpro scan .
Export optionnel · JSON
coredevpro scan . --output coredevpro-report.json
Mode CDP chiffré · mot de passe requis
coredevpro scan . --output coredevpro-report.encrypted.cdp --cdp-password choose-your-password
En mode interactif, le CLI demande confirmation si coredevpro_config.yml est présent. Répondez y. En mode --ci, aucune saisie n’est demandée : le périmètre YAML est appliqué localement et la configuration est transmise à l’analyse serveur.
Une fois le scan terminé, importez le rapport JSON ou CDP dans CoreAnalyzer pour retrouver l’analyse complète, SAI, l’investigation, les filtres et les exports.
https://coredevpro.fr/core-analyzer?mode=import
Parcours CI/CD
Dans le pipeline, ajoutez la licence CI dans un secret nommé COREDEVPRO_LICENCE, installez le CLI CoreDevPro, puis lancez le scan :
npm install -g https://coredevpro.fr/downloads/coredevpro-scan-0.2.23.tgz
Mode natif · rapport .cdp
coredevpro scan . --ci --fail-on critical --output coredevpro-report.cdp
Export optionnel · JSON
coredevpro scan . --ci --fail-on critical --output coredevpro-report.json
Mode CDP chiffré · mot de passe requis
coredevpro scan . --ci --fail-on critical --output coredevpro-report.encrypted.cdp --cdp-password-env COREDEVPRO_CDP_PASSWORD
La licence CI est pensée pour les pipelines et les environnements automatisés. Le .cdp natif est la sortie par défaut ; JSON et le .cdp chiffré restent disponibles selon l’accès actif.
Ouvrez la procédure correspondant à votre pipeline. Chaque guide couvre le secret, le fichier CI, le périmètre et l’import du rapport.
Si votre environnement n’autorise pas npm install -g, installez le paquet dans un dossier temporaire puis appelez le binaire depuis ce dossier.
npm install --prefix .coredevpro-cli https://coredevpro.fr/downloads/coredevpro-scan-0.2.23.tgz
.coredevpro-cli/node_modules/.bin/coredevpro scan . --output coredevpro-report.cdp
Sur Windows, le pack npm contient l’icône CoreDevPro pour les fichiers .cdp. Lancez cette commande une seule fois si vous voulez associer l’extension au bouclier CoreDevPro pour votre session utilisateur :
coredevpro setup-cdp-icon
Le CLI CoreDevPro vérifie vos droits, applique les exclusions, envoie le projet à l’API CoreDevPro puis récupère le rapport .cdp natif ou l’export demandé.
Le .cdp est le rapport natif CoreAnalyzer : son origine CoreDevPro et son intégrité sont vérifiables localement. JSON reste un export structuré ; la passphrase d’un .cdp chiffré reste locale.
Sorties communes
Le .cdp natif contient le rapport CoreAnalyzer et une preuve d’origine CoreDevPro vérifiable avec la clé publique intégrée au CLI. JSON reste disponible ; le chiffrement des rapports sensibles est effectué localement.
..coredevpro-report.cdp. Utilisez .json pour l’export structuré et --cdp-password-env pour un .cdp chiffré localement.Sécurité commune
Avant tout scan réel, le serveur valide l’accès CLI ou la licence CI. Sans accès actif, aucun upload de projet n’est accepté.
Chaque requête de scan utilise un jeton éphémère signé par le serveur. Un accès CLI inactif ou une licence CI invalide bloque le scan avant upload.
Vous pouvez utiliser un accès CLI actif pour un usage direct ou une licence CI active pour les pipelines. La licence CI est pensée pour les pipelines, les environnements automatisés et les usages entreprise sans connexion interactive. Si le serveur ne confirme pas les droits, le CLI affiche le message d’accès refusé et aucun scan réel n’est lancé.
Le CLI applique les exclusions natives CoreDevPro, puis .gitignore, .coredevproignore et les motifs fournis avec --exclude. L’archive envoyée au serveur ne contient pas les dossiers standards inutiles comme node_modules ou .git.
Le résultat CLI natif est un .cdp dont l’origine CoreDevPro et l’intégrité sont vérifiables localement. JSON reste optionnel ; la passphrase d’un .cdp chiffré n’est ni transmise ni stockée par CoreDevPro.
coredevpro-report.cdp, export coredevpro-report.json ou coredevpro-report.encrypted.cdp généré dans le chemin demandé.Le CLI CoreDevPro ne contient aucun moteur d’analyse et ne génère aucun rendu local. Le scan est refusé avant upload si l’accès n’est pas confirmé ; la passphrase CDP reste exclusivement dans le CLI.
Pour toute question ou demande d’assistance, contactez notre équipe via le formulaire de contact.