Skip to content

frederichebrard/ssl-checker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SSL Certificate Checker

Une application complète pour vérifier la validité et les dates d'expiration des certificats SSL de sites web.

Technologies

  • Backend: NestJS (Node.js)
  • Frontend: Angular 17
  • Styling: CSS personnalisé avec design moderne

Fonctionnalités

  • Vérification d'un seul domaine
  • Vérification de plusieurs domaines simultanément
  • Affichage des informations du certificat:
    • Statut de validité
    • Dates de validité (début et fin)
    • Nombre de jours restants avant expiration
    • Émetteur du certificat
    • Sujet du certificat
  • Alertes visuelles pour les certificats:
    • Valides (vert)
    • Expirant bientôt - moins de 30 jours (orange)
    • Invalides ou expirés (rouge)

Structure du projet

ssl-checker/
├── backend/               # API NestJS
│   ├── src/
│   │   ├── ssl/          # Module SSL
│   │   │   ├── dto/      # Data Transfer Objects
│   │   │   ├── interfaces/  # Interfaces TypeScript
│   │   │   ├── ssl.controller.ts
│   │   │   ├── ssl.service.ts
│   │   │   └── ssl.module.ts
│   │   ├── app.module.ts
│   │   └── main.ts
│   ├── package.json
│   ├── tsconfig.json
│   └── nest-cli.json
├── frontend/             # Application Angular
│   ├── src/
│   │   ├── app/
│   │   │   ├── models/   # Modèles de données
│   │   │   ├── services/ # Services HTTP
│   │   │   ├── app.component.ts
│   │   │   ├── app.component.html
│   │   │   └── app.component.css
│   │   ├── styles.css
│   │   ├── index.html
│   │   └── main.ts
│   ├── angular.json
│   ├── package.json
│   └── tsconfig.json
└── package.json          # Scripts racine

Installation

Prérequis

  • Node.js (version 18 ou supérieure)
  • npm ou yarn

Installation complète

# Cloner le repository
git clone <votre-repo>
cd ssl-checker

# Installer toutes les dépendances (backend + frontend)
npm run install:all

Installation séparée

# Backend uniquement
npm run backend:install

# Frontend uniquement
npm run frontend:install

Démarrage

Mode développement (recommandé)

Lance le backend et le frontend simultanément:

npm run dev

Démarrage séparé

# Backend seul
npm run backend:dev

# Frontend seul
npm run frontend:dev

API Endpoints

GET /ssl/check?domain=exemple.com

Vérifie un seul domaine via query parameter

Réponse:

{
  "domain": "exemple.com",
  "valid": true,
  "validFrom": "2024-01-01T00:00:00.000Z",
  "validTo": "2025-01-01T00:00:00.000Z",
  "daysRemaining": 45,
  "issuer": "Let's Encrypt",
  "subject": "exemple.com"
}

POST /ssl/check

Vérifie un seul domaine via body

Request:

{
  "domain": "exemple.com"
}

POST /ssl/check-multiple

Vérifie plusieurs domaines

Request:

{
  "domains": ["exemple1.com", "exemple2.com", "exemple3.com"]
}

Réponse:

[
  {
    "domain": "exemple1.com",
    "valid": true,
    "validFrom": "2024-01-01T00:00:00.000Z",
    "validTo": "2025-01-01T00:00:00.000Z",
    "daysRemaining": 45,
    "issuer": "Let's Encrypt",
    "subject": "exemple1.com"
  },
  ...
]

Utilisation

  1. Lancez l'application avec npm run dev
  2. Ouvrez votre navigateur sur http://localhost:4200
  3. Choisissez entre:
    • Un domaine: Vérifiez un seul site
    • Plusieurs domaines: Entrez plusieurs domaines (un par ligne)
  4. Cliquez sur "Vérifier" ou "Vérifier tous"
  5. Consultez les résultats avec toutes les informations du certificat

Build de production

# Build complet
npm run build

# Build backend uniquement
npm run backend:build

# Build frontend uniquement
npm run frontend:build

Notes techniques

  • Le backend utilise le module tls natif de Node.js pour récupérer les certificats
  • Timeout de 10 secondes pour chaque vérification
  • CORS configuré pour permettre les requêtes depuis http://localhost:4200
  • Interface responsive et moderne
  • Gestion d'erreurs complète

Améliorations possibles

  • Ajouter une base de données pour l'historique
  • Notifications par email pour les certificats expirant bientôt
  • Export des résultats en CSV/JSON
  • Planification de vérifications automatiques
  • Dashboard avec statistiques
  • Support HTTPS pour le backend
  • Authentification utilisateur
  • API rate limiting

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •