Introduction

Apprendre la programmation ne devrait pas être une épreuve, mais plutôt un plaisir. Il est vrai qu’il existe beaucoup de styles de programmation, de la programmation procédurale à la programmation logique en passant par la Programmation Orientée Objet. Chacun peut avoir un avis sur le sujet mais peut importe le style choisie apprendre à programmer devrait être le plus simple possible pour ouvrir ce merveilleux monde au plus grand nombre.

C’est dans cette optique que j’ai accepté de refaire pour mon projet de mise en situation professionnelle la bibliothèque graphique utilisée par l’IUT de Reims pour l’apprentissage de la Programmation Orientée Objet (POO). Avec elle un débutant en programmation apprend en interagissant avec des entités visuelles ou tangibles via un programme préalablement écris par ce dernier. Le principe de la POO est de pouvoir manipuler dans son programme les concepts de la “vraie vie”, étant donné que voir le résultat de ses travaux fait partie des meilleurs moyens d’apprentissage il est évident d’allier ces deux visions pour aboutir à un enseignement efficace. Ainsi avoir un ensemble de fonctions qui permettent de créer et manipuler des objets graphiques aplanirait grandement la tâche d’enseignement des professeurs en favorisant l’autonomie des étudiants.

Cependant le développement d’une bibliothèque en générale fait intervenir différentes questions à ne pas prendre à la légère. Il faut s’interroger sur comment la réaliser mais surtout s’il est possible de la réaliser. Par exemple il était inimaginable de développer une application hors environnement web en PHP jusqu’à la sortie de sa version 7.4. En effet l’arrivée de l’extension FFI a ouvert les possibilités du langage car elle emmène avec elle le moyen d’inclure des librairies C directement en PHP sans avoir besoin de préalablement créer des extensions PHP en C, ce qui allège la courbe de développement.

Alors comment pouvons nous créer une bibliothèque PHP C via FFI qui nous donnerais la possibilité de manipuler nos objets abstraits de programmation graphiquement ? C’est la question à la quelle j’ai essayé de répondre tout au long de ma mise en situation professionnelle.

Afin de traiter correctement ce sujet j’ai du établir un plan pour profiter au maximum des 4 semaines qui m’ont été données. Documentation, conception du projet, développement et distribution de celui-ci, sont les principales tâches que je me suis donné de terminer d’ici la fin de ces quatre semaines, et je vais les détailler dans ce mémoire.

Nous verrons dans un premier temps le contexte qui nous a amené à nous interroger sur la création d’une bibliothèque 1, puis nous nous intéresserons au développement 2 et l’utilisation 3 de celle-ci pour terminer par le résultat final de cette période de mise en situation professionnelle et par conséquent l’aboutissement du développement de la bibliothèque 4.