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: , , , , , , ,

Ce projet est un reboot de mon ancien moteur Eden en Java. Le but est de faire un moteur pour jeux 2D qui est multiplateformes dont le bureau (Windows, Linux, Mac), applet et Android avec un éditeur extensible.

Spécificités:

  • Couche pour la portabilité entre les différentes plateformes (Metal) qui se doit d’être la plus mince possible.
  • Couche pour les modèles communs, dont les formes de base (rectangles et gradient) ainsi que la gestion des textures.
  • Éditeur qui peut créer/modifier n’importe quelle classe qu’elle provienne de jModder ou du jeu spécifique et les éditer de manières différentes et extensibles.
  • Quelques classes de base pour faire des jeux vus de haut.
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: , , , , , , , , , ,