Les aspects stratégiques
- Les éléments stratégiques de décision pour le SI.
- Les origines et les enjeux. Le projet GNU et la FSF.
- Liberté n'est pas gratuité. Le fonctionnement communautaire. Les atouts et les faiblesses.
- Standards ouverts. Evolutivité et personnalisation.
- Multitude des éditeurs et incompatibilités. Time-to-Market. Support. Documentation. Appropriation.
- Comprendre et savoir comparer les modèles de licences. ASF, GPL, LGPL, BSD, MPL, copyleft, non copyleft... Coûts. Logiciels propriétaires, sharewares...
- Position de l'Open Source face aux brevets logiciels.
L'Open Source pour le SI
- Quelles briques utiliser pour son SI ? Impact financier.
- Evaluer une solution Open Source. Critères : pérennité, maintenance, responsabilité juridique…
- Evaluer les compétences nécessaires. Mesure du TCO, coûts cachés, formation et support.
- L'offre de services dédiée à l'Open Source. Spécificités.
- Le pilotage et l'externalisation des sous-traitants.
- Les systèmes d'exploitation : Linux et ses distributions.
- Les technologies Open Source côté serveur.
- Linux sur le serveur. Avantages et inconvénients.
- Les services Internet : Web (Apache), messagerie (SendMail ou Postfix) ...
- Les bases de données : MySQL, PostgreSQL… Comparaison à Oracle, SQL Server...
- Les serveurs d'applications : Tomcat, Geronimo, JBoss, JOnAs. Comparaison avec les produits commerciaux (IBM WebSphere, BEA WebLogic, etc.).
- Les annuaires (OpenLDAP).
- La gestion de contenu et les portails ( Zope/Plone/CPS, SPIP, EZPublish... ). Les ERP (Compierre, ERP5, Fisterra).
- Les technologies Open Source pour le poste client.
- Linux pour le poste client ? Avantages et inconvénients.
- Suites bureautiques et autres utilitaires.
- Interfaces graphiques et XML.
- Les technologies Open Source pour la sécurité : firewalls, VPN, PKI, proxies, anti-spam, détection d'intrusions, recherche de vulnérabilités.
L'Open Source pour le développement
- Analyse. Modélisation. UML. Comparaison des solutions commerciales et Open Source.
- Les langages et les compilateurs.
- Java/JEE, php, Perl, Python, C#, tcl/tk.
- Les plates-formes d'exploitation. Java/JEE.
- Infrastructure nécessaire pour PHP et Perl.
- Outils Open Source pour .Net.
- Les environnements de développement : Eclipse. NetBeans, MonoDevelop, Matrix, Anjuta...
- Les outils GNU : automake/autoconf, gcc, gdb…
- La gestion des logs avec Log4J. Le versioning avec CVS, WinCVS, TortoiseCVS. Maven pour optimiser le développement. JUnit pour les tests unitaires.
- Le XML : éditeurs, parseurs XML et processeurs XSLT. BD natives (XIndice, dbXML).
- Automatiser les livraisons, faciliter la mise en production. Le cas de Ant et Nant.