Dans une Suisse divertie par la passion cinématographique, notre développeur apprenti entreprit un projet novateur pour le compte d'une entreprise ambitieuse. En alternance (dual), il s'est plongé dans ce projet de simplification de transfert de films entre distributeurs et cinémas. Il était débutant, avide d'apprendre et de créer.

Son parcours autodidacte lui donnait une longueur d'avance, alors que ses camarades naviguaient dans les méandres de l'apprentissage d'une nouvelle manière de parler, il dansait déjà avec lui, maladroit mais enthousiaste grâce à sa jeunesse. En entreprise, grâce à ce projet, il put fusionner son savoir-faire technique avec la curiosité typique d'un autodidacte.

Ainsi commença son aventure de développeur web full-stack en herbe.

Introduction

Le projet

DCMedia est une application web privée qui sert d'intermédiaire entre des distributeurs de contenus audiovisuels (bandes-annonces et films ou opéras) et des cinémas. Le but de DCMedia est d'automatiser l'envoi de trailers et de films, en utilisant le protocole ASPERA d'IBM comme support sécurisé. Jusqu'alors, le support phare étant l'envoi des KDM et DCP par la Poste.

Selon l'étude de marché faite en 2016, avec pour marché la Suisse entière, 300 cinémas représentent le public cible. Un seul concurrent était déjà en place mais l'idée de DCSolution était d'apporter une tarification plus avantageuse ainsi qu'une autre plateforme, du nom de DCPlayer.

Mon travail

Mon rôle au sein de ce projet était de développer cette application et de créer puis gérer son auto-hébergement au sein de l'entreprise.

J'ai travaillé seul sur ce projet durant mes études en alternance puis en CDI, durant 17 mois, avec le soutien de mon employeur.

Compétences

Formation et Veille technologique
  • Formation autodidacte de meilleures pratiques de développement, remise en question régulière
  • Veille technologique régulière pour apprendre et comprendre ce qui change et donc ce que je devrais apprendre de nouveau
Développement
  • Frontend
    • Javascript et bibliothèque JQuery : manipulation et animation du DOM, d'évènements ; méthode de requête Ajax
    • Framework Bootstrap : manipulation d'une grille responsive ; de différents composants permettant de construire le site, de le styliser et de l'animer
  • Backend
    • Architecture MVC PHP orientée procédurale : CMS administrateur (gestion de contenus et de clients) ; Boutique e-commerce (listing et page produit, compte client, panier, commande…)
    • Framework Symfony : vue, controller, twig, route, yaml, log et gestion d'erreur, cookie, authentification, hachage, exception, mail, upload de fichier, traduction.
  • Base de données
    • SQL MariaDB : création de base de données, de tables, jointure, contrainte de relations, import et export.
  • Tests
    • Test manuel pour validation de fonctionnalité et recherche de failles / bugs
Serveur
  • Environnement : Développement (local, hors ligne, versionné)
    • WampServer, TortoiseSVN
  • Environnement : Test (serveur, hors ligne)
    • Auto hébergement au sein de l'entreprise sur des serveurs Linux, avec un système HAProxy (High Availability) + HeartBeat
Source de l'illustration : digitalocean.com
Graphisme, UI et UX design
  • Création de maquettes permettant une intégration frontend
  • Réflexion et optimisation UI / UX design
Gestion de projet
  • Relation hiérarchique
    • Organisation de différentes réunions
      • Brainstorming, pour discussion et compréhension des besoins ainsi que de leurs adaptations techniques
      • Présentation, pour démonstration de fonctionnalités
  • Planification
    • Planification des missions à réaliser pour mener à bien le projet, segmentation en sous-missions pour avoir des objectifs réalistes
  • Cahier des charges
    • Réalisation de cahier des charges techniques pour définir avec précision et réalisme en fonction des moyens du client, les besoins du projet
Mots-clés

Application web privée ; full-stack, sur mesure, en alternance pendant mes études supérieures (dual)