logo

Suite de logiciels pour gérer des serveurs Ubuntu.

Ce projet est pour me permettre d’offrir plusieurs services partagés.

C’est un changement de la version utilisant Chef à un logiciel 100% interne fait en Java.

Applications de base installées sur tous les serveurs:

  • Page de maintenance commune lorsqu’un site est retiré.
  • Surveillance des services (httpd, mysql, …) pour qu’ils soient automatiquement redémarrés s’ils plantent.
  • Application de sauvegarde quotidienne de tous les utilisateurs, bases de données, job cron et services upstart.

Ressources gérées par le site web:

  • Gère
    • les utilisateurs,
    • les certificats et clés SSL,
    • les sites web,
    • les bases de données,
    • les services upstart,
    • les tâches cron.

Logiciels complémentaires:

  • Système d’envoi d’entrées DNS au serveur DNS
    • Association automatique de l’adresse IP de la machine qui contient le site.
    • Création automatique des entrées DNS basées sur les sites Apache configurés et les adresses courriel utilisées.
    • Permet de facilement migrer un site sur un nouveau serveur sans avoir à manuellement changer le DNS.
    • Permet de distribuer la charge d’un site sur plusieurs machines: ajout et retrait automatique si une machine s’ajoute ou quitte.
  • Système surveillance
    • Envoie les statistiques de chaque machine régulièrement.
    • [En cours] Envoie l’espace disque utilisé par chaque utilisateur (sites web, courriel, bases de données, …)
  • Site web pour gérer les comptes par l’administrateur et les utilisateurs
    • Gérer les sites.
    • Gérer les courriels.
  • Redirection des connexions locales à MySQL vers un autre serveur MySQL centralisé
    • Permet de déployer le même code sur plusieurs machines en conservant localhost comme base de données.
    • La connexion est cryptée entre les serveurs.
Technologies: , , , , , , , , , , , , , ,

Suite de logiciels pour gérer des serveurs Ubuntu.

Ce projet est pour me permettre d’offrir plusieurs services partagés.

Scripts d’administration:

  • Installation et configuration d’Apache HTTPD, de MySql, de Postfix et de Dovecot.
  • Ajout et suppression:
    • De site Apache HTTPD en PHP ou en proxy à une application (Rails, Tomcat, …) en HTTP et HTTPS.
    • De tâches cron.
    • De bases de données et d’utilisateurs MySql.
    • De bases de données et d’utilisateurs PostgreSQL.
    • De services upstart.
    • De comptes utilisateurs.
    • De certificats SSL.
  • Ségrégation des sites web par utilisateur en utilisant suPHP.

Applications de base installées sur tous les serveurs:

  • Page de maintenance commune lorsqu’un site est retiré.
  • Surveillance des services (httpd, mysql, …) pour qu’ils soient automatiquement redémarrés s’ils plantent.
  • phpMyAdmin
  • roundcube
  • Application de sauvegarde quotidienne de tous les utilisateurs, bases de données, job cron et services upstart.

Recettes et livre de recettes pour Chef:

  • Gère
    • les utilisateurs,
    • les certificats et clés SSL,
    • les sites web,
    • les bases de données,
    • les services upstart,
    • les tâches cron.

Logiciels complémentaires:

  • Système d’envoi d’entrées DNS au serveur DNS
    • Association automatique de l’adresse IP de la machine qui contient le site.
    • Création automatique des entrées DNS basées sur les sites Apache configurés et les adresses courriel utilisées.
    • Permet de facilement migrer un site sur un nouveau serveur sans avoir à manuellement changer le DNS.
    • Permet de distribuer la charge d’un site sur plusieurs machines: ajout et retrait automatique si une machine s’ajoute ou quitte.
  • Site web pour gérer les comptes par l’administrateur et les utilisateurs
    • Gérer les sites.
    • Gérer les courriels.
  • Redirection des connexions locales à MySQL vers un autre serveur MySQL centralisé
    • Permet de déployer le même code sur plusieurs machines en conservant localhost comme base de données.
    • La connexion est cryptée entre les serveurs.
Technologies: , , , , , , , , ,

Dans le cadre de mon travail chez CGI, j’ai participé à la création du nouveau site de L.L.Bean direct to business. Ce service permet aux entreprises d’acheter des vêtements de cette entreprise et d’y ajouter leur logo.

Spécificités:

  • Gestion de l’utilisateur
    • inscription, connexion, déconnexion, changement de mots de passe
    • liste des adresses pour livraison
  • Page de sous-catégories
    • Affichage des produits et de leurs prix
    • Pagination
  • Page de produits
    • Choisir une couleur
    • Afficher une grille des grandeurs et des modèles (hommes/femmes) pour choisir des quantités
  • Page des cartes cadeaux
    • Gérer les valeurs disponibles dynamiquement
  • Gestion des logos des utilisateurs
    • Téléverser des images
    • Appliquer les logos sur des emplacements sur les produits
    • Réception de logos numérisés par un flux XML
  • Gestion des frais de personnalisations
    • Frais de création de nouveaux logos
    • Frais d’application de logos
  • Courriel d’estimation (envoyer le contenu du panier par courriel)
  • Page de contenu statique gérable dynamiquement
  • Promotion personnalisée par volume
  • Gestion de l’inventaire
  • SEO
    • Métadonnées de descriptions
    • Google Remarketing Ads
    • Génération automatique du sitemap.xml
  • Optimisation des performances
    • en utilisant jProfiler
    • en utilisant le cache d’ATG
    • en utilisant le Transaction Droplet sur les pages JSP
  • Documenter les licences des librairies utilisées

Le site web

Technologies: , , , , , , , , , , , , ,

Créer un site web sur lequel enregistrer des hôtes où il y a une installation de logiciel (tel WordPress, Piwik, phpMyAdmin) pour qu’ils reçoivent les mises à jour automatiquement (push update).

Spécificités:

  • Créer un site web pour enregistrer les installations
  • Créer un script pour obtenir les mises à jours sur une installation
  • Créer un système de patch qui n’envoie que les fichiers qui sont différents et non la nouvelle version en entier
Technologies: , , , , , , , , , , , ,

Créer une application web qui permet de créer un entrepôt Subversion et de gérer ses utilisateurs pour des permissions de lecture et d’écriture. Cette application a été faite pour le STEP.

Spécificités:

  • Pouvoir créer et gérer les entrepôts
  • Uniquement les gens de l’école Polytechnique peuvent créer des entrepôts, mais ils peuvent ajouter des gens de l’extérieurs pour lire ou écrire
  • Pouvoir transférer un entrepôt à une autre personne dans Polytechnique
  • Avoir un quota maximum d’espace et pouvoir l’augmenter
  • Avoir un système d’expiration des comptes pour nettoyer automatiquement
  • Laisser le choix aux utilisateurs de recevoir ou non les « commit » par email

Le site web

Technologies: , , , ,