HTML/CSS
J'ai réalisé différents site Web en HTML avec un CSS complémentaire, comme ce CV ou un prototype de site de co-voiturage.
Pour cela, j'ai beaucoup travaillé le positionnement en CSS, notamment avec la propriété "grid".
J'ai aussi travaillé le découpage du code HTML, à la fois pour avoir un code plus clair et pour plus facilement modifier le visuel grâce au CSS.
SQL
Mes premiers pas dans les bases de données ont été faits au travers d'Acess, avec un accès poussé sur la théorie : conception de MCD, utilité des tables, gestion des états/formulaires.
Ensuite, nous somme passés au SQL, et j'ai notamment étudié les requêtes poussées et efficaces. J'ai aussi l'opportunité de revoir le SQL lors de mon apprentissage de JDBC, mentionné dans la section dédiée à Java.
Java
Java est le langage que nous avons le plus utilisé au cours de notre formation.
Je maitrise le langage et sa librairie visuelle principale, JavaFX.
De plus, je maitrise les concepts principaux d'analyse et de conception objet, qui me permettent de mener un travail organisé et en accord avec les souhaits du client.
Je porte une attention particulière à la qualité de code, par l'utilisation fréquentes de patterns, le respect des préceptes SOLID et la chasse aux "code smells". J'ai aussi programmé plusieurs fois en suivant des cycles précis (TDD, Agile).
J'ai aussi étudié les choix qui permettent de rendre un code plus efficace, notamment avec les structures de données.
Plus récemment, j'ai appris à intégrer Java au développement Web à travers la libraire JEE et aux base de données avec JDBC. Cela m'a par exemple permis de me familiariser avec les sites dynamiques, l'accès au données d'une base depuis un programme, et la conservation des informations d'une page à une autre.
Bas niveau (C)
J'ai appris les bases de la programmation bas niveau en prenant en main le C pour m'entrainer sur des concepts simples (pointeur, structures, allocation mémoire).
Nous avons aussi travaillé sur de la programmation système par le biais des commandes open, read, opendir etc... des système Unix.
Schématisation
Dans les cadres de tout mes projets, il m'est impératif de prendre mon temps pour schématiser la situation correctement, ce qui me permet de plannifier soigneusement l'organisation du travail.
A cet effet, j'ai appris à utiliser de nombreux logiciels répondant à ce défi : plantUML et draw.io pour la conception objet, powerAMC pour les MCD en Base De Données, mais aussi pour les diagrammes de cas d'utilisation.
Evidemment, cela inclue le maquettage plus général, avec Figma ou Canva par exemple.
Outils collaboratifs
Lors de tous mes projets, il était indispensable de savoir utiliser des outils de travail collaboratifs. Sans mentionner les logiciels de traitement de texte sur Drive, j'ai éivdemment utiliser git (surtout gitlab).
Cela m'a inculqué les bonnes pratiques à avoir et la résolution de conflits de version, ainsi que le travail multi-branches.
Rédaction
Pour différents projets, j'ai utilisé Markdown et Pandoc pour rédiger des rapports structurés, aiséments modifiables et esthétiquement plaisants.
Ainsi, j'ai aussi appris la façon de rediger des rapports, et ce à différentes fins : procédures, compte-rendus, prise de notes...