ici je parle surtout de mes projets informatiques. C'est ce qui occupe la majeure partie de mon temps, après tout. Cette liste n'est pas maintenue, je passe plus de temps à travailler sur mes projets qu'à la mettre à jour sans cesse :-)
J'ai touché à pas mal de choses, du brainfuck au C# en passant par les classiques C et C++.
Voici une liste non exhaustive des langages auxquels j'ai touché, avec des liens vers les pages de description des projets et des indications sur ce que j'ai fait avec, ce que j'en pense, etc. Je n'ai pas tout mis car mes expériences ne sont pas forcément significatives. Pour moi, apprendre un langage est une chose facile, il suffit de savoir lire et d'avoir la curiosité d'essayer, d'expérimenter, et surtout savoir pourquoi on le fait.
| Langage | Projets | Détails |
|---|---|---|
| C# |
Students' Accounting ;
AjaxService ;
Coût Unitaire Moyen Pondéré ; WinBrainfuck ; Gol3D, un petit jeu de la vie |
Je connais plutôt bien .Net, en particulier Windows Forms et j'ai une bonne maîtrise globale du langage. Evidemment, je n'ai pas touché à l'ensemble de la librairie .Net, mais je suis très adaptative là-dessus. Pour les outils de développement, Visual Studio avec Resharper me rend heureuse. Rien que ça. |
| C | Diverses applications système sous UNIX/Linux | Je parle le langage très bien et sans erreur, c'est avec ce langage que j'ai appris à programmer. Je sais globalement me débrouiller même si je n'ai jamais touché à un projet de taille importante. |
| C++ | Recherches sur les accès partagés à travers des threads à un même objet avec le namespace Boost |
J'ai une maîtrise correcte du langage, que ce soit dans les paradygmes procédural ou orienté-objet. J'ai utilisé Boost parce que cette librairie devient de plus en plus populaire, et que leur système de threading est plus sympathique que celui proposé par la stdlib (contrairement à d'autres, je fais bien la différence entre les namespaces, librairies, etc. et le langage en lui-même. Pour une explication, voir cette page |
| Java | Divers projets scolaires | Pour moi, C# et Java c'est presque du pareil au même, sauf que Java est moins bien ;-) (ou, pour être juste, moins à mon goût). Disons que je connais bien le langage mais que je le trouve moins confortable que son concurrent C#, qui a le bon goût d'être moderne. |
| Python | Divers projets, scripts, dont j'ai perdu trace pour certains. |
J'aime bien ce langage. Il est très strict au niveau syntaxe, propose un ensemble limité d'éléments et oblige à faire les choses proprement. Notamment, il impose l'indentation, celle-ci servant de bloc. En plus, il y a un nombre impressionnant de librairies disponibles, et il est très simple de faire de jolies choses avec. Des classes élégantes discutant entre elles, du threading, des serveurs, de la lecture de musique, etc.
C'est le langage que je recommande à tout débutant qui veut apprendre et ne pas être limité après un court temps (comme ce peut être le cas avec PHP, par exemple |
| PHP | Beaucoup de projets : Courtimaster (un service bancaire), ce site ;-), son système de gestion, DisconnectedDataAccess et d'autres. | Je connais très bien le langage. Je ne suis pas une simple "scripteuse" autoproclamée "développeur web" pour avoir fait un site avec 20 requêtes SQL, quelques include et une boucle for de-ci,de-là. Je maîtrise bien PHP5, qui propose enfin une version intéressante de programmation orientée-objet. Je suis capable de faire avec PHP autant qu'avec C# (ou presque, ce langage n'a tout de même pas le CLR et .Net) au niveau de l'implémentation des programmes, bien que je limite l'utilisation de ce langage au web (on peut faire du PHP avec GTK mais c'est mal)). Je lui fais souvent des reproches, particulièrement sur le typage faible et le manque sérieux d'exploitation de l'orienté-objet dans ses fonctions. Pour plus de détails, voir cette page qui explique pourquoi je suis parfois de mauvaise humeur après avoir fait du développement web. |
| JavaScript | Pas vraiment de grand projet, mais beaucoup d'AJAX, d'améliorations graphiques et d'eye-candy pour les sites web. Par exemple, le SmoothScroller, qui permet de faire défiler des choses dans des conteneurs HTML. | Je me débrouille bien avec le langage, que ce soit en orienté-objet ou en procédural. J'ai utilisé différentes librairies pour faire de l'objet avant de me fixer sur Prototype, qui est très bien à utiliser. Toutefois, je me cantonne au web dans l'utilisation de ce langage. Ce n'est pas très grave, car c'est de toute façon l'usage principal que l'on fait de ce langage. |
| SQL | Beaucoup de sites web, DisconnectedDataAccess qui y est fortement connecté, par exemple. | Je maîtrise très bien le langage SQL et suis à l'aise dans la construction et la relecture de requêtes. Je me débrouille aussi plutôt bien avec les langages de procédures stockées qu'on peut trouver autour, ayant eu l'occasion de toucher à PL/pgSQL (PostgreSQL) et à T-SQL (Microsoft SQL Server), et j'ai pour principe de préférer mettre toute la logique métier en bases de données ce qui est bien. Combien d'applications développées par des soi-disant professionnels voient leurs performances chuter quand elles montent en charge parce que ces personnes ont délégué au client ce que le serveur fait beaucoup mieux ? Avec moi, il est certain que ça n'arrivera pas. |
J'ai commencé à toucher sérieusement à UNIX vers 2002. A l'époque, la version de Debian était encore Woody (3.0), ma machine était un PC Auchan de base, et je n'avais pas le net. Le système m'intriguait, j'avais envie d'en savoir plus et de faire d'autres choses. Alors, j'ai téléchargé une ISO de Gentoo et je l'ai installée, en suivant le guide. Ce furent mes premiers pas dans l'informatique que je dirais sérieuse. Compiler un noyau, écrire son fstab, configurer les services pour se retrouver au final avec une jolie ligne de commande et le shell bash.
A la suite de cela, j'ai eu le net (chez le FAI Free), j'ai fait mon petit chemin, avec l'association Linux62, dans laquelle j'ai rencontré des gens qui m'ont appris énormément et m'ont prise en charge, expliqué patiemment, dépanné souvent. (Pierre, Guillaume, Cécile et je suis certaine que j'en oublie). Ca m'a mené à apprendre à administrer Debian, Apache, MySQL et plein d'autres choses.
Toutefois, je ne suis pas sectaire : je sais aussi gérer les clients Windows, me débrouiller pour configurer des réseaux hétérogènes Windows/UNIX, même s'il ne faut pas me demander de configurer un réseau centralisé avec Active Directory, je ne sais pas faire ;-) (mais je peux apprendre !).
| Technologie | Détails |
|---|---|
| Serveur web Apache | Je sais configurer Apache, Apache2 et les différents mods, mod_proxy par exemple. Je sais le gérer finement, analyser les logs si besoin, activer les modules PHP, Perl, Python, et les autres. C'est mon serveur web de prédilection, je peux dire que je le connais assez bien. |
| SGBDR MySQL | C'est le premier SGBDR sur lequel j'ai travaillé (comme beaucoup de monde je pense). J'ai appris à le configurer en même temps que j'apprenais PHP. Comme je sais lire un fichier de configuration, je sais régler le serveur. Je sais aussi régler les comptes utilisateurs, gérer les droits... bref, tout ce qu'une administratrice dilettante de bases de données digne de ce nom doit savoir faire (j'insiste sur dilettante, je ne pense pas être du niveau des administrateurs de bases de données travaillant pour les grands comptes ;-)) |
| SGBDR PostGreSQL | MySQL a longtemps traîné la réputation d'être le SGBDR du pauvre, ceci probablement parce qu'il a un jour dit à Pierre qu'une de ses tables était pleine parce qu'elle contenait plusieurs millions d'enregistrements. Un administrateur de bases de données aurait un sourire ou un pouffement à l'évocation du "gavage" d'une table. PostGreSQL est l'autre SGBDR libre. Je sais l'administrer, créer des utilisateurs, et faire le travail d'une administratrice de bases de données. |
| Système d'exploitation Debian | Debian a été ma |
| Système d'exploitation FreeBSD | Quand je fais des infidélités à Debian, c'est en général vers FreeBSD que je me tourne. Ce n'est pas une distribution Linux. C'est un autre système d'exploitation de type UNIX, et je dirais même que techniquement parlant, c'est UNIX là où GNU/Linux n'en est qu'un clone. Je sais me servir de ce système d'exploitation, installer des logiciels (ce sont les mêmes que sous Linux), faire du firewalling, configurer les réseaux, bref, administrer ce système robuste et complet. |
| Services réseaux | La configuration de dhcpd, ftpd (avec pure-ftpd), httpd divers et variés, je connais plutôt bien à force de le faire pour moi et pour d'autres. Je sais aussi configurer les DNS, ce qui est utile à l'occasion. |
| Iptables | Je sais créer et paramétrer un firewall iptables en utilisant les divers modules (pour le FTP, le proxying, le NAT...) afin d'assurer la sécurité des machines de réseaux. |