logo

Dans le cadre de mon travail chez CGI, j’ai participé à un projet chez Aimia (Aéroplan) pour aider à créer un service qui évalue la valeur d’un point Aéroplan versus la récompense demandée (vols d’avion). Ceci est la suite de la phase 2.

Responsabilités:

  • Analyser les besoins de l’entreprise versus les données qui peuvent être obtenues et utilisées.
  • Élaborer des règles d’entreprise selon les données disponibles.
  • Concevoir et développer une partie de la solution.

Spécificités:

  • Application Java utilisant Spring Framework.
  • Créer des tests jUnits pour tout ce qui est développé.
  • Améliorer certains tests unitaires écrits précédemment pour utiliser les outils de Spring.
  • Améliorer la gestion des erreurs puisque certains problèmes se sont ajoutés en changeant la tactique entre les phases 1 et 2.
  • Améliorer l’orchestration de la solution puisqu’elle est devenue trop grosses suites aux nombreux ajouts de fonctionnalités.
  • Documenter la possibilité d’avoir un outil qui teste continuellement le nouveau code par rapport à la production.
Technologies: , , , , , , , , ,

Dans le cadre de mon travail chez CGI, j’ai participé à un projet chez Aimia (Aéroplan) pour aider à créer un service qui évalue la valeur d’un point Aéroplan versus la récompense demandée (vols d’avion). Ceci est la suite de la phase 1. La phase 2 consiste à avoir une job qui vérifie toutes les nouvelles réservations de vols et ajoute celles qui n’ont pas fonctionné ou qui n’ont pas été trouvées. Elle ajoute toutes les entrées dans la file.

Responsabilités:

  • Analyser les besoins de l’entreprise versus les données qui peuvent être obtenues et utilisées.
  • Élaborer des règles d’entreprise selon les données disponibles.
  • Concevoir et développer une partie de la solution.

Spécificités:

  • Application Java utilisant Spring Framework.
  • Créer des tests jUnits pour tout ce qui est développé.
  • Créer le DAO de la base de données DB2:
    • Créer les classes liées au domaine.
    • Utiliser JDBC Template avec des RowMappers pour lire les données.
    • Utiliser JDBC Template pour écrire, mettre à jour et effacer les données.
  • Créer des services web REST et des clients qui:
    • liste toutes les réservations à ajouter à la queue.
    • modifie une réservation pour dire qu’elle a été auditée ou non.
  • Modifier quelques règles métiers suite à l’analyse des données par les auditeurs.
  • Ajouter des fonctionnalités à l’application web pour aider à tester manuellement:
    • Permettre d’obtenir les données en production en groupe et les zipper pour les utiliser avec un Mock.
    • Afficher le contenu de la nouvelle table listant les réservations à auditer

À côté:

  • Créer un script Perl pour générer un fichier qui liste les aéroports et leurs villes pour résoudre un bogue d’un autre système qui affecte l’audit.
Technologies: , , , , , , , , ,

Dans le cadre de mon travail chez CGI, j’ai participé à un projet chez Aimia (Aéroplan) pour aider à créer un service qui évalue la valeur d’un point Aéroplan versus la récompense demandée (vols d’avion).

Responsabilités:

  • Analyser les besoins de l’entreprise versus les données qui peuvent être obtenues et utilisées.
  • Élaborer des règles d’entreprise selon les données disponibles.
  • Concevoir et développer une partie de la solution.

Spécificités:

  • Application Java utilisant Spring Framework.
  • Créer des tests jUnits pour tout ce qui est développé.
  • Créer des outils pour aider à tester avec jUnit:
    • Outil de chargement de données JSON pour comparer les résultats désirés.
    • Outil pour valider les formats des requêtes et réponses REST.
    • Outil pour valider le contenu de la base de données après un test.
  • Créer le DAO de la base de données DB2:
    • Créer les classes liées au domaine.
    • Utiliser JDBC Template avec des RowMappers pour lire les données.
    • Utiliser JDBC Template pour écrire les données.
  • Créer les classes métier et les mappers de ces classes aux classes de base de données.
    • Possède la logique des règles d’entreprises pour calculer les données pertinentes.
  • Accéder à des services web en utilisant RestTemplate pour obtenir des informations tels les points équivalents à un voyage et les informations sur les prix des trajets.
  • Créer des XSLT pour transformer une requête JSON en message SOAP et l’inverse pour la réponse.
  • Créer une application web pour aider à tester manuellement:
    • Voir toutes les valeurs des tables pour une entrée spécifique dans la base de données.
    • Effacer toutes les valeurs des tables pour une entrée spécifique dans la base de données pour pouvoir essayer de la réinsérer.
    • Comparer les vues et les tables dans la base de données.
    • Poster une requête dans les queues (le point d’entré du service développé).
    • Voir les messages dans les queues.
Technologies: , , , , , , ,

Dans le cadre de mon travail chez CGI, j’ai participé à la création d’une application web pour permettre aux étudiants gradués de postuler à la maîtrise ou au doctorat.

La version 2 couvre tout le processus:

  • Permettre aux administrateurs de créer des formulaires à remplir par les applicants selon le programme
  • Permettre aux applicants de créer leur profil et de soumettre des applications
  • Permettre à des personnes d’appuyer la candidature d’un appliquant en téléversant un fichier
  • Permettre aux réviseurs d’applications internes à McGill et aussi externes de faire des recherches et de visualiser les applications selon leurs permissions
  • Permettre aux administrateurs de McGill de gérer les permissions

Responsabilités:

  • À l’occasion
    • Créer les fichiers pour l’installation de la base de données, les configurations et le paquet à déployer
    • Déployer l’application sur les environnements de tests
    • Guider et répondre aux questions des testeurs

Spécificités:

  • Application Grails
  • Créer et accéder à des services web avec CXF et Groovy wslite
  • Créer des tâches quotidiennes de maintenances activables par un appel à un service web
  • Coder des points d’intégrations:
    • Avec des services web
    • Avec des stored proc dans la base de données Oracle
    • En créant des vues dans la base de données Oracle
    • Créer des stubs à utiliser pour le développement et l’environnement de tests
    • Avec CAS via SAML pour obtenir des attributs de l’utilisateur connecté
  • Générer des PDF avec Flying Saucer
  • Créer des pages applicatives avec ZKUI
    • Gestion des modèles de courriels et de documents PDF contenant des variables
    • Gestion des règles pour l’approbation automatique d’une application
  • Créer des scripts SQL pour faire une migration de la structure et des données de la version 1 à la version 2 de l’application
  • Créer un filtre pour vérifier qu’un administrateur a la permission requise pour effectuer certaines tâches. Chaque contrôleur et action peut choisir sa permission avec une annotation
Technologies: , , , , , , , , , ,

Dans le cadre de mon travail chez CGI, j’ai participé à la création d’une application web pour permettre aux étudiants gradués de postuler à la maîtrise ou au doctorat.

La version 0 est un développement rapide pour couvrir quelques parties du processus:

  • Permettre à des personnes d’appuyer la candidature d’un appliquant en téléversant un fichier
  • Permettre aux réviseurs d’applications internes à McGill et aussi externes de faire des recherches et de visualiser les applications selon leurs permissions
  • Permettre aux coordinateurs de McGill de gérer les permissions

Responsabilités:

  • Gérer et faire le suivit des tâches pour l’équipe
  • Créer les fichiers pour l’installation de la base de données, les configurations et le paquet à déployer
  • Déployer l’application sur les environnements de tests
  • Guider et répondre aux questions des testeurs

Spécificités:

  • Application Grails
  • Sécuriser l’accès à l’application en utilisant Spring security (base de données locale et LDAP pour les réviseurs internes)
  • Implémenter un système qui bloque les gens qui essayent de se connecter avec plusieurs mots de passe invalides de suite. Ils sont bloqués pendant une heure
  • Crypter tous les mots de passe dans le fichier de configuration
  • Permettre de gérer des réviseurs externes (créer, assigner des applications à regarder, changer leur mot de passe)
  • Communiquer avec un service web SOAP pour sauvegarder les documents téléversés à Documentum
  • Tâches exécutées quotidiennement pour notifier et rappeler les personnes références pour des applications par courriels que le système attend leur réponse
  • Les réviseurs internes et externes peuvent chercher et afficher les applications qui leurs sont assignées par département et par liste d’applications

Le site web (besoin de se connecter)

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