Banderole-itw-métier-Amine-Inforca

Interview avec Amine, Lead Développeur PHP : expertise et gestion de projets

Amine, Lead Développeur PHP chez Inforca, nous partage son parcours et ses ambitions. De la gestion des projets pour le Gouvernement monégasque à l’évolution vers un rôle d’Architecte Technique, il évoque sa place au sein de l’équipes, la mise en œuvre de solutions techniques avancées et son engagement pour l'innovation au sein de l'entreprise.
Publié le 9 sept. 2024
Banderole-itw-métier-Amine-Inforca

Bonjour Amine, merci de me recevoir. En quelques mots, peux-tu décrire ton rôle en tant que Lead Développeur PHP et ses responsabilités associées ?

En tant que Lead Développeur PHP, mon rôle englobe plusieurs tâches. Tout d'abord, il s'agit de procéder à la conception fonctionnelle et technique des solutions, en réponse aux besoins des clients. Pour cela, il faut trouver les solutions les plus optimales pour implémenter ces besoins. Je participe également activement au développement, ce qui me permet de rester en phase avec les défis techniques et de m'assurer de la qualité du code produit.
Parmi mes autres responsabilités, il y a la formation et le support auprès de l'équipe. Si un collaborateur a besoin d'une piste ou d'une clarification, je considère que cela fait partie de mon travail de l'aider. Il est également important de ne pas oublier la revue de code, qui consiste à examiner les modifications apportées par mes collègues avant de les fusionner dans la branche principale du projet (Merge Requests).
De plus, le lead doit effectuer une veille technologique afin de partager avec l'équipe les dernières nouveautés et tendances du secteur.

"En résumé, mon rôle regroupe la gestion technique, le support et la formation de l'équipe, ainsi que le développement actif. La livraison des solutions de haute qualité qui répondent aux besoins de nos clients est ainsi assurée."

Peux-tu partager quelques exemples de projets PHP (sites web ou applications créés avec le langage de programmation PHP) dont tu es particulièrement fier ? Quels étaient les objectifs de ces projets et comment les as-tu atteints ?

Depuis mon arrivée en septembre 2022, j'ai travaillé sur plusieurs projets pour le Gouvernement de Monaco. Parmi eux, je peux citer les projets UrbaMonaco, MonoBNL, et plus récemment le projet Culture, sans oublier d'autres initiatives.

Plus de détails sur ce projet :

réalisation site urbamonaco

Création application web UrbaMonaco

Institutionnel

Découvrez comment Inforca a accompagné le Gouvernement Monégasque dans le développement de l'application web liée à l’outil cartographique Urbamonaco, pour rendre la consultation des informations parcellaires conviviale et interactive pour les architectes, notaires, géomètres.

Prenons par exemple le projet Culture. Le projet Culture est un exemple typique et une référence pour les autres sites. Nous avons travaillé sur divers aspects techniques, notamment :

- Utilisation d'API externes : nous avons utilisé des API (interface qui permet à différents logiciels de communiquer et d’échanger des données entre eux) pour connecter le site à des services externes. Cela a permis d’enrichir le site de nouvelles fonctionnalités.

- Proposition d'une API : nous avons développé et exposé une API pour permettre à d'autres systèmes d'interagir avec notre application.

- Mise en place d'une connexion SSO : nous avons implémenté une solution de Single Sign-On (permet à un utilisateur de se connecter une seule fois pour accéder à plusieurs applications sans avoir à se reconnecter) pour simplifier l'authentification des utilisateurs à travers différents services.

- Utilisation des fonctionnalités de back office dans le front office : nous avons utilisé les outils du back office pour créer une section professionnelle accessible depuis la partie visible du site (front office). L’interface était ainsi plus facile à utiliser.

Ce projet a été un véritable travail d’équipe, avec une organisation rigoureuse. Nous avons appliqué les principes de Scrum (presque) à la lettre (règles qui aident les équipes à travailler de manière flexible et collaborative pour livrer des projets par petites étapes). Cela a permis de bien structurer notre travail et de respecter les délais fixés.

"Pourquoi je considère ce projet comme une réussite ? Parce que nous avons non seulement atteint les objectifs techniques et fonctionnels, mais nous avons également amélioré notre processus de développement."

L'application des méthodologies agiles, en particulier Scrum, a facilité la coordination de l'équipe et assuré la livraison de fonctionnalités de haute qualité dans les temps impartis. Ces projets montrent notre capacité à gérer des tâches complexes et à travailler de manière collaborative pour fournir des solutions efficaces et innovantes.

Je suis curieuse de savoir comment tu t’assures que le code que tu écris reste non seulement fonctionnel mais aussi maintenable à long terme. Pourrais-tu expliquer comment tu procèdes pour garantir des standards de codage élevés et une performance optimale des applications PHP que tu développes ? Quels outils ou pratiques mets-tu en place pour atteindre ces objectifs ?

Nous travaillons principalement avec PHP, en utilisant Ibexa comme Digital Experience Platform (DXP) et Symfony comme framework. Symfony (framework PHP le plus utilisé en France) fournit une structure robuste et des recommandations de bonnes pratiques que nous suivons rigoureusement. De même, Ibexa propose des standards de qualité que nous intégrons systématiquement dans nos développements.
Pour assurer la qualité du code, nous avons mis en place plusieurs pratiques :

- Utilisation des Standards de Symfony et Ibexa : nous suivons les recommandations et bonnes pratiques proposées par Symfony et Ibexa, ce qui nous aide à maintenir un code propre, performant et sécurisé.

- Revue de Code (Code Review) : chaque modification de code passe par une Merge Request (MR) sur différentes branches. Cette étape permet à plusieurs collaborateurs de revoir le code, ce qui aide à identifier et corriger les erreurs potentielles et à partager les connaissances au sein de l’équipe.

- Tests Unitaires et d’Intégration : nous écrivons des tests unitaires pour vérifier que chaque composant fonctionne correctement. De plus, nous effectuons des tests d'intégration pour nous assurer que les différents modules interagissent correctement. Cela permet de détecter et de prévenir les régressions avant que le code ne soit fusionné dans la branche principale.

- Automatisation des tests : nous utilisons des outils d'intégration continue (CI) pour automatiser les tests. À chaque modification du code, une suite de tests est exécutée automatiquement pour garantir que les nouvelles modifications n'introduisent pas de bugs.

- Suivi des performances : nous surveillons régulièrement les performances de nos applications en production et effectuons des optimisations lorsque cela est nécessaire. Des outils de monitoring et de profiling nous aident à identifier points de blocage et à améliorer l'efficacité de nos applications.

"En adoptant ces pratiques, nous nous assurons de maintenir des standards de codage élevés et de livrer des applications performantes et fiables."

Maintenant que tu as établi ces bonnes pratiques avec brio, je me demande comment tu envisages l’évolution de ton rôle en tant que Lead Développeur PHP dans les prochaines années. As-tu des objectifs spécifiques en termes de responsabilités ou d’expertise que tu souhaiterais atteindre ?

À moyen terme, mon objectif est de capitaliser sur mon expérience en tant que Lead Développeur PHP pour me positionner comme Architecte Technique. Je vise à élargir mes responsabilités au-delà de la gestion quotidienne des projets et de l'équipe, en me concentrant davantage sur la conception et l'implémentation de solutions techniques avancées.

J'aspire à jouer un rôle clé dans la définition des architectures logicielles robustes et évolutives. Comment ? En alignant étroitement nos choix technologiques avec les objectifs stratégiques de l'entreprise.
Cela inclut une forte implication dans la recherche et l'adoption des nouvelles technologies, ainsi que dans la supervision de l'architecture globale des projets.

Itw-métier-Amine-Inforca

Amine, Lead Développeur PHP au sein de l’agence digitale d’Inforca

"À long terme, je suis motivé à accroître mes compétences et mon influence en tant qu'Architecte Technique Cela me permettra de contribuer de manière significative à l'innovation et à la croissance technologique de notre organisation."

En résumé, je suis déterminé à évoluer vers ce rôle afin de mettre à profit mon expertise technique et mon leadership pour soutenir la réussite durable de notre entreprise.

Comment Inforca, soutient tes ambitions et t’accompagne dans ton développement ? Comment l’entreprise te permet elle de progresser dans tes missions au quotidien ?

L’entreprise fournit un environnement de travail stimulant et des ressources technologiques avancées.
Au quotidien, je bénéficie d'un soutien technique solide qui me permet de résoudre efficacement les défis rencontrés dans mes projets. De plus, l'entreprise investit dans la formation continue, ce qui me permet de maintenir mes compétences à jour et de m'adapter aux évolutions du secteur.
Enfin, la culture d'entreprise axée sur la collaboration et l'innovation favorise un esprit d'équipe dynamique, ce qui me parait essentiel pour atteindre nos objectifs ensemble.

Propos recueillis par Alisée Forray, Responsable Développement Digital et Événementiel chez Inforca, auprès de Amine Betari, Lead Développeur PHP au sein de l’agence digitale d’Inforca.

Votre projet de développement web avec Inforca

Vous avez un projet de développement web ? Nous sommes en mesure de vous accompagner dans le développement de votre site ou de votre application.