Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages