This repository has been archived by the owner on Feb 10, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 12
/
orig.txt
2242 lines (1897 loc) · 225 KB
/
orig.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Dimension « Infrastructure »
La dimension « Infrastructure » est certainement la dimension la mieux représentée dans le domaine de l’open source avec des centaines voire des milliers de solutions disponibles.
C’est d’ailleurs de cette « dimension » que les projets open source sont nés avec des produits majeurs tels que le serveur http Apache, utilisé dans une majorité de serveur Web, les systèmes d’exploitation Linux, l’outil de supervision Nagios, etc. Les catégories de cette dimension posent les bases d’une bonne infrastructure capable d’accueillir des meilleures applications dans des conditions optimales.
Plus de 50 solutions ont été évaluées dans cette dimension ; et plus de 90 solutions y sont recensées parmi les catégories suivantes :
Contrôle de postes à distance
Gestion de parc et inventaires
Déploiement et sauvegarde
Haute disponibilité
Sécurité
VPN
Firewalls
Supervision et Métrologie
Système d’exploitation Linux & BSD
Virtualisation
VOIP / Téléphonie
Messagerie, Emailing & Groupware
Accélérateur http
Autres
---
Contrôle de postes à distance
Les solutions de contrôle de postes à distance sont de plus en nombreuses avec des changements notables en termes de technologies ces dernières années.
Elles ont été créées pour répondre à une problématique de support et d'assistance aux utilisateurs. Ces solutions de prise en main à distance peuvent selon les besoins, être localisées ou bien généralisées à tout ou partie des postes clients de l'entreprise.
Elles permettent de répondre à différentes problématiques rencontrées dans les entreprises dont la vision partagée du poste de travail et le transfert de fichiers.
Parmi l’offre open source, on peut citer des outils comme FreeNx, TightVNC ou OpenSSH. Ce dernier étant le favori des administrateurs systèmes dans le monde des serveurs UNIX
FreeNx
Version étudiée : 0.7.3
Site Internet de la solution : http://freenx.berlios.de
Solution portée par un éditeur (NoMachine)
FreeNX est un ensemble de composants implémentant le protocole NX. FreeNX a été développé la société NoMachine en 2005. Celle-ci continue à le supporter et propose même différentes version de son produit, dont des versions commerciales.
FreeNX est un protocole d'accès à distance à des systèmes UNIX, basé sur le protocole X11, mais avec un certain nombre d'optimisations facilitant son utilisation sur les réseaux à faible bande passante. Similaire à Microsoft RDesktop, il permet de conserver les sessions, et de partager des périphériques tels que les imprimantes, cartes son, etc. FreeNX est très performant en matière de compression, de gestion de session et de ressources.
FreeNX est disponible sous licence GPL.
FreeNX est développé par une communauté depuis 2006 et est réalisé en C/C++
TightVNC
Version étudiée : 2.0.4
Site Internet de la solution : www.tightvnc.com
Solution portée par une communauté
TightVNC est un ensemble d'outils implémentant le protocole VNC.
Ce protocole permet l'affichage graphique à distance via un autre protocole réseau, le RFB (Remote Frame Buffer). Il s'agit d'un protocole très répandu pour l'administration graphique des postes de travail, l'assistance utilisateur, etc. TightVNC se définit donc comme un programme de contrôle à distance et d'administration via Internet, de votre ordinateur quel que soit le système d'exploitation utilisé.
TightVNC est disponible depuis 2001 sous licence GPL v2.
TightVNC est développé en C/C++.
OpenSSH
Version étudiée : 5.9
Site Internet de la solution : http://www.openssh.com
Solution portée par une fondation (OpenBSD)
OpenSSH est un ensemble de logiciels permettant l'administration de serveurs à distance.
Dans le monde des serveurs UNIX, il s'agit du logiciel favori des administrateurs systèmes. Au fil des années, OpenSSH s’est étoffé de nombreuses fonctionnalités qui permettent de l’utiliser bien au delà de la classique « console réseau ». OpenSSH permet notamment de mettre en place des formes simples de VPN, et l'affichage déporté d'applications graphiques.
OpenSSH est développé depuis 1999 sous licence BSD par la fondation OpenBSD, qui référence un certain nombre de sociétés assurant son support.
Comme la majorité des projets BSD, OpenSSH est écrit en C, avec un grand souci de la qualité du code.
---
Gestion de parc et inventaires
Les outils de gestion de parc et d’inventaires open source sont de plus en plus plébiscités dans les entreprises avec des références phrases comme GLPI ou OCS Inventory NG utilisées par nombreux acteurs du CAC 40.
Ces solutions ont un périmètre large comme la gestion du parc matériel de la société, la gestion des contrats associés (ordinateurs, périphériques, imprimantes, éléments réseau, consommables, etc.), des fonctions d'assistance (accès utilisateur ou non, gestion fine des droits, notifications automatiques avec modèles personnalisables, SLA), la gestion des licences, etc.
Les outils de gestion de parc et d’inventaires peuvent également disposer d’une dimension financière (module de suivi de coûts, calcul d’amortissement, etc.).
GLPI
Version étudiée : 0.80.2
Site Internet de la solution : www.glpi-project.org
Solution portée par une communauté
GLPI est un outil d'inventaire de parc informatique et de Helpdesk, lancé en 2003 et porté par Julien Dombre, Jean-Mathieu Doléans et Bazile Lebeau.
Il permet :
la gestion du parc matériel de la société avec leurs contrats associés : ordinateurs (avec remonté automatique si couplé à OCS-NG ou Fusion Inventory), périphériques, imprimantes, éléments réseau, consommables.
des fonctions d'assistance : accès utilisateur ou non, gestion fine des droits, notifications automatiques avec modèles personnalisables, SLA.
une grande extensibilité grâce à ses plugins : intégration à des logiciels de supervision, gestion de projets, nouveaux éléments d'inventaire, etc.
GLPI est distribuée sous licence GPL.
GLPI est basé sur les technologies PHP/MySQL.
OCS Inventory NG
Version étudiée : 2.0
Site Internet de la solution : www.ocsinventory-ng.org
Solution portée par une communauté
OCS Inventory NG est un outil d'inventaire automatique de postes informatiques, d’origine française, créé en 2001.
OCS remonte aussi bien les caractéristiques matérielles des postes que les logiciels qui y sont installés. Toutes ces informations sont ensuite visualisables au travers d'une interface web avec des fonctions d'exports. Des dictionnaires de logiciels peuvent être également définis pour effectuer des regroupements (MAJ Windows par exemple). Au niveau du télédéploiement, OCS permet de gérer les installations de logiciels aussi bien pour les postes Windows que Mac ou Linux au travers de packages créés par les administrateurs. Les télédéploiements sont sécurisés et peuvent être planifiés ; de plus l'architecture des serveurs OCS peut être répartie pour ne pas congestionner le réseau lors de gros télédéploiements.
OCS est disponible sous licence GPL v2.
OCS repose sur les technologies Perl et MySQL principalement.
Pulse 2
Version étudiée : 1.3.1.1
Site Internet de la solution : www.mandriva.com/fr/pro/pulse
Solution portée par un éditeur (Mandriva)
Pulse 2 est un logiciel d'inventaire de parc informatique, d'imaging de poste et de télédéploiement créé par Mandriva.
Grâce à un agent installé sur les postes, Pulse 2 permet la remonté des caractéristiques matériels et logiciels des postes. L'agent permet également la prise en main à distance sur les postes par les administrateurs au travers du protocole VNC sur un canal sécurisé (SSH). Le télédéploiement se fait par packages, éventuellement de manière distribuée, avec reporting et planification. Les plateformes Windows, Mac et Linux sont supportées. L'imaging de poste permet de créer des masters et de les installer rapidement et à distance sur des postes sans aucune intervention des administrateurs (Contrôle à distance, PXE).
Pulse 2 est distribué sous la licence GPL.
Pulse 2 est construit sur plusieurs technologies : Python, MySQL et C++.
Autres
Parmi les produits de l’univers Gestion de parc et inventaires, on peut compléter la liste avec les outils ci-dessous :
Nom URL / Site web
Fusion Inventory http://fusioninventory.org
Linbox Rescue Server http://lrs.linbox.org
---
Déploiement et sauvegarde
Les outils de sauvegarde, tel que Bacula, permettent l’enregistrement sur différents supports des données importantes pour l’entreprise, ceci à partir de règles évoluées.
Parmi les fonctionnalités que l’on retrouve dans les outils de sauvegarde, on peut citer : la planification des sauvegardes de manière très précise (agenda par exemple), la définition du type de sauvegarde (complète, incrémentale, différentielle), le lieu de stockage, etc. Certains outils vont jusqu’à proposer du multi-streaming, du multi-plexing, de la sauvegarde utilisateur, de la gestion des Pools de sauvegarde, etc.
Les outils de déploiement, tel que Puppet, permettent de préparer à distance des environnements selon des réglés prédéfinies ou selon un état final attendu. Toutes les grandes entreprises utilisent des logiciels de déploiement pour faciliter l’administration de leur parc.
Bacula
Version étudiée : 5.0.3
Site Internet de la solution : www.bacula.org/fr
Solution portée par un éditeur (Bacula Systems)
Bacula est un système de sauvegarde et de restauration très flexible développé en 2000 par Kern Sibbald et maintenant soutenu par la société Bacula Systems.
Bacula permet la planification des sauvegardes de manière très précise aussi bien en termes d'agenda que de type de sauvegarde (complète, incrémentale, différentielle). L'architecture de Bacula repose sur 3 composants essentiels : le Director est le chef d'orchestre (c'est lui qui coordonne de manière centralisée le déroulement des sauvegardes), le File Daemon est l'agent déployé sur chacun des clients chargé de réaliser la sauvegarde sous le contrôle du director, et le Storage Daemon assure le rôle d'interface avec les supports de stockage. Bacula implémente également les fonctionnalités avancées utilisées par toutes les solutions de sauvegarde performantes tel que le multi-streaming, le multi-plexing, la sauvegarde utilisateur, la gestion des Pools de sauvegarde, etc.
Bacula est diffusé sous licence GPL et est développé en C/C++. Il repose sur une base de données PostgreSQL ou MySQL.
Puppet
Version étudiée : 2.6
Site Internet de la solution : http://puppetlabs.com
Solution portée par un éditeur (Puppet Labs)
Puppet est un outil d'automatisation d'infrastructure.
Au lieu de décrire une suite d'actions à réaliser, comme avec les outils d'administration classiques, l'administrateur saisie l'état qu'il souhaite obtenir (permissions souhaitées, fichiers et logiciels à installer, configurations à appliquer), et puppet se charge automatiquement d'amener le système dans l'état spécifié quelque soit son état de départ. Puppet permet ainsi d'administrer un grand parc hétérogène de façon centralisée.
Puppet bénéficie d'une communauté d'utilisateurs enthousiastes et dynamique, et d'un support professionnel par son éditeur Puppet Labs. Il est distribué sous licence Apache.
Puppet est réalisé en Ruby.
Autres
Parmi les produits de l’univers Déploiement et Sauvegarde, on peut compléter la liste avec les outils ci-dessous :
Nom URL / Site web
Kdump http://lse.sourceforge.net/kdump
mkCDrec http://mkcdrec.sourceforge.net
SIS http://sourceforge.net/projects/sisuite
CloneZilla http://clonezilla.org
Partimage http://www.partimage.org
Pulse 2 http://www.mandriva.com/fr/pro/pulse
OCS Inventory NG http://www.ocsinventory-ng.org
Amanda http://www.amanda.org/
BackupPC http://backuppc.sourceforge.net/
---
Haute disponibilité
La haute disponibilité est un terme fréquemment utilisé dans l’univers du Web, à propos d'architectures de systèmes ou de services pour désigner le fait qu’ils soient disponibles un maximum de temps, 100% idéalement.
Dans les entreprises, il est très important de mettre en place des techniques de hautes disponibles tant l’informatique représente souvent le système nerveux de l’organisation. Elles peuvent être mises en œuvre de différentes manières : d’un point de vue physique ou d’un point de vue logique notamment.
Il existe d’excellents outils open source pour s’assurer que les services répondent en permanence. Keepalived par exemple qui fonctionne tel un routeur pour aiguiller les demandes selon l’état des services, ou Linux-HA qui permet la communication entre serveurs pour changer à chaud des configurations selon les états des autres serveurs.
Linux-HA
Version étudiée : 3.0.4
Site Internet de la solution : www.linux-ha.org
Solution portée par une communauté
Le projet Linux-HA fournit des composants de haute disponibilité pour les systèmes d'exploitation de type UNIX.
Le composant principal de ce projet est le logiciel de communication Heartbeat, qui permet à un groupe de machines de connaître leur état respectif, et ainsi de déclencher des actions de manière concertée sans avoir besoin d'un serveur tiers. Heartbeat est généralement utilisé avec un logiciel de gestion de cluster, tel que Pacemaker, dont le rôle est de gérer les dépendances entre services et réaliser les opérations de bascule automatiquement. Un gestionnaire de ressources minimal est fourni par Linux-HA, et s'avère très souvent suffisant.
Linux-HA est le système de haute disponibilité le plus répandu, et de nombreux prestataires sont disponibles pour assurer son support. Il remonte à 1999 pour ses premiers composants, la licence GPL v2 est majoritairement utilisée.
Linux-HA est écrit en C et en Python.
LVS
Version étudiée : 1.2.1
Site Internet de la solution : www.linuxvirtualserver.org
Solution portée par une communauté
LVS (Linux Virtual Server) est le système d'équilibrage de charge inclus au noyau Linux depuis 1998. Il a écrit écrit par Wensong Zhang.
Il permet de router les connexions réseau entrantes vers un ensemble de machines, en suivant un certain nombre de politiques d'équilibrage de charge classiques (round-robin, weighted round-robin, etc.). Il constitue une simple brique d'un système de load balancing, car il ne prend pas en charge lui-même sa configuration. On utilise un logiciel tiers pour tester l'état des serveurs et mettre à jour la configuration LVS en cas de panne d'un serveur.
Comme le reste des composants de Linux, LVS est disponible sous licence GPL v2 et est supporté par un grand nombre de prestataires.
HAProxy
Version étudiée : 1.4.17
Site Internet de la solution : http://haproxy.1wt.eu
Solution portée par une communauté
HAProxy est un reverse proxy utilisé pour la répartition de charge. Le projet existe depuis 2001 ; il a été écrit par Willy Tarreau.
Il gère nativement le protocole HTTP ce qui permet de mettre en place de l'affinité de session par cookies. Il dispose de plusieurs mécanismes de vérification d'états afin de détecter les serveurs en panne et de rediriger leur trafic vers les autres serveurs.
HAProxy est distribué sous licence GPL v2, et supporté officiellement par un petit nombre de sociétés.
Keepalived
Version étudiée : 1.2.1
Site Internet de la solution : www.keepalived.org
Solution portée par une communauté
Keepalived est un composant permettant de configurer LVS. Le projet existe depuis 2001.
LVS étant un système relativement basique et statique, il a besoin d'un logiciel pour maintenir sa configuration. Keepalived permet de faire des tests de disponibilité (par exemple connexion TCP, requête HTTP) d'un service, tient à jour la liste des serveurs utilisables pour LVS. Il gère également un système de bascule IP basé sur VRRP pour sa propre redondance.
Keepalived est fourni sous licence GPL.
---
Sécurité
Le domaine de la sécurité est très large, de l’antivirus aux systèmes de détection d’intrusion, on trouve de nombreuses solutions open source.
Dans cette rubrique, on présente les vérificateurs d’intégrité, les détecteurs de virus, les détecteurs d’intrusions, les outils d’analyse de problèmes réseaux et des « testeurs » de failles de sécurité. Les anti-spam tels que SpamAssassin ou DSPAM sont rangés dans la catégorie Messagerie, Emailing & Groupware.
Tous ces outils sont de précieuses aides pour les administrateurs Systèmes et Réseaux pour garantir l’intégrité de leur parc.
Compte de tenu de la diversité des outils sélectionnés dans cette catégorie, les graphiques suivants ne présentent pas de moyenne.
AIDE
Version étudiée : 0.15.1
Site Internet de la solution : http://aide.sourceforge.net
Solution portée par une communauté
AIDE est un vérificateur d'intégrité pour système UNIX, développé depuis 1999. Rami Lehti and Pablo Virolainen ont initié les développements, suivi entre 2003 et 2010 par Richard van den Berg, puis désormais par Hannes von Haugwitz.
Son but est de calculer une empreinte des fichiers du système au moment de l'installation, et par la suite de valider la conformité du système avec cette empreinte. Ainsi, l'administrateur peut repérer toute modification de fichiers suspecte, généralement signe d'une intrusion sur le système.
Il est disponible sous licence GPL.
ClamAV
Version étudiée : 0.97.2
Site Internet de la solution : www.clamav.net
Solution portée par un éditeur (SourceFire)
ClamAV est un détecteur de virus antérieur à 2005.
Contrairement à ses équivalents du monde Windows, il n'est pas utilisé pour protéger la machine sur laquelle il est installé, mais pour scanner les fichiers qui s'y trouvent. On l'utilise ainsi sur les serveurs web, sur les serveurs de fichiers ou encore sur les serveurs mail. ClamAV détecte un grand nombre de menaces couvrant tous les systèmes d'exploitation. L'accès aux mises à jour des signatures est gratuit, alimentées par une communauté investie.
ClamAV est disponible sous licence GPL v2.
Le moteur antivirus est la bibliothèque libclamav écrite en C.
SNORT
Version étudiée : 2.9.1
Site Internet de la solution : www.snort.org
Solution portée par un éditeur (SourceFire)
SNORT est un détecteur d’intrusion réseau réalisé en 1998 par Martin Roesch.
Souvent utilisé comme sonde, il dispose aussi d'un mode actif qui lui permet, lorsqu'il est installé sur un équipement de routage, de bloquer tout trafic suspect. Il s’agit donc d’un détecteur d’intrusion réseau (NIDS : Network Intrusion Detection System) permettant l’analyse en temps réel du trafic sur un segment de réseau.
Bien que le moteur soit distribué sous licence GPL, il n'est pas utile sans une base de règles. Celle-ci fait l'objet d'une souscription payante auprès de l'éditeur. Cependant, les règles sont mises à disposition gratuitement au bout de 30 jours.
OpenVAS
Version étudiée : 4.0
Site Internet de la solution : www.openvas.org
Solution portée par un éditeur (Greenbone)
OpenVAS (Open source Vulnerability Assessment Scanner) est un projet issu du célèbre scanner Nessus dont la première version date de 1998.
Il permet de tester la présence, dans les systèmes à tester, de failles de sécurité. Contrairement à Nessus, OpenVAS est complètement open source et dispose de mises à jours gratuites fournies par la communauté. Des mises à jour payantes, à la disponibilité garantie, et une interface d'administration graphique sont proposés par l'éditeur Greenbone.
Il est disponible sous licence GPL.
WireShark
Version étudiée : 1.6.2
Site Internet de la solution : www.wireshark.org
Solution portée par une fondation (WireShark)
Wireshark (anciennement Ethereal, changement pour des raisons de copyright essentiellement) est un outil d'analyse de trafic réseau qui a vu le jour en 1998. Il fait partie de la famille des « packet sniffer ».
Il est utilisé par grand nombre d'administrateurs pour diagnostiquer des problèmes réseaux complexes. Disponible sous forme d'une application graphique lourde ainsi qu'une interface en mode texte, il est capable de décoder un très grand nombre de protocoles, y compris chiffrés.
Il est disponible sous licence GPL.
Wireshark est multiplate-forme, il fonctionne sous Windows, Mac OS X, Linux, Solaris, ainsi que sous FreeBSD. Wireshark reconnait 759 protocoles.
Autres
Parmi les produits de l’univers Sécurité, on peut compléter la liste avec les outils ci-dessous :
Nom URL / Site web
Bastille http://bastille-linux.sourceforge.net
OpenSIMS http://opensims.sourceforge.net
RadicalSpam http://www.radical-spam.org
---
VPN
Un VPN, Réseau Privé Virtuel en français, peut être définie, assez largement, par les différentes techniques permettant d’étendre le Réseau de l’entreprise en préservant la confidentialité des données et en traversant les barrières physiques des réseaux traditionnels.
Les solutions VPN apportent généralement les bénéfices suivants : authentification par clé publique, confidentialité des échanges, confidentialité a posteriori en cas de compromission des secrets cryptographiques et transport de paquets à destination d’un réseau privé via un réseau public.
Dans l’univers de l’open source, on compte de nombreuses solutions de qualité dont OpenVPN et OpenSWAN présenté ci-après.
OpenVPN
Version étudiée : 2.2.1
Site Internet de la solution : http://openvpn.net
Solution portée par un éditeur (OpenVPN Technologies)
OpenVPN est le fer de lance d’une catégorie de VPN assez récente : les VPN SSL. Il existe depuis 2002 et a été écrit par James Yonan.
Ces derniers réutilisent les mécanismes du chiffrement SSL pour authentifier et chiffrer les connexions. OpenVPN est basé sur le produit OpenSSL, la principale implémentation libre du protocole SSL, tant en termes de qualité que d’adoption, et s’appuie sur ses routines de chiffrement et de vérification d’identité pour assurer une très bonne sécurisation des données.
OpenVPN est distribué sous licence GPL v2.
Disponible sous Solaris, Linux, OpenBSD, FreeBSD, NetBSD, Mac OS X, Windows 2000, XP, Vista et 7, il offre aussi de nombreuses fonctions de sécurité et de contrôle.
OpenSwan
Version étudiée : 2.6.35
Site Internet de la solution : www.openswan.org
Solution portée par une communauté
Openswan est une implémentation IPsec pour Linux, descendante du projet FreeS/WAN (remontant à 1999).
OpenSwan permet la mise en place de liens IPsec entre machines, mais également de tunnels VPN, et ce aussi bien entre réseaux d'entreprises que pour des clients nomades. Il est compatible avec un grand nombre de systèmes d’exploitation et de solutions propriétaires.
OpenSwan est disponible sous licence GPL.
Firewalls
La notion de firewall est souvent liée à celle de routage, c'est-à-dire l'acheminement des flux réseau entre les différentes machines.
Les firewalls sont donc généralement installés sur des équipements de routage, dont ils sont une partie intégrante. Ce qui signifie que le routage peut être modifié par une décision du firewall, et que le firewall appliquera des règles de filtrage différentes selon l'origine et la destination du trafic. C’est la mission principale du firewall.
Le firewall peut également être utilisé dans un rôle plus qualitatif, plus fin, comme le volume de bande passante autorisé pour telle ou telle application dans tel ou tel contexte.
En matière de firewall, l’offre open source est très riche avec des produits tels que Packet Filter, NetFilter ou pfSense.
pf (Packet Filter)
Version étudiée : 4.9 (suit les versions d’OpenBSD)
Site Internet de la solution : www.openbsd.org/faq/pf
Solution portée par une communauté
pf (Packet Filter) est la couche de filtrage intégrée aux systèmes libres hérités de BSD UNIX (FreeBSD, NetBSD, OpenBSD...). pf a été crée en 2001 par Daniel Hartmeier en remplacement du logiciel IPFilter.
Ce système présente l'avantage d'avoir un langage de configuration simple, et d'intégrer les fonctionnalités de NAT et de QoS. Packet Filter est devenu l'outil libre le plus puissant pour jouer le rôle de pare-feu. Il peut également servir pour équilibrer la charge et gérer le trafic réseau sur des Unix libres BSD.
pf est distribué sous la licence BSD.
NetFilter
Version étudiée : 1.4.12
Site Internet de la solution : www.netfilter.org
Solution portée par une communauté
Netfilter, parfois appelé iptables, est la couche de filtrage intégrée au noyau Linux. Il a été créé en 1998 par Rusty Russell.
Il s'agit d'un système extrêmement souple, qui s'intègre avec les fonctionnalités de routage et de QoS du noyau, et comprend les fonctions de NAT. Il dispose de nombreux critères de filtrage (temps, volume de données), et des modules de suivi de connexions pour les protocoles complexes (FTP, SIP, H323). Il est en revanche complexe à configurer, et on utilise souvent un outil tiers pour générer sa configuration (Shorewall, ferm, etc.).
NetFilter est distribué sous la licence sous GPL v2.
pfSense
Version étudiée : 2.0
Site Internet de la solution : www.pfsense.org
Solution portée par un éditeur (BSD Perimeter)
pfSense est une distribution logicielle permettant de réaliser une passerelle réseau à partir d'un serveur x86. Il date de 2004 à partir d’un fork de m0n0wall par Chris Buechler et Scott Ullrich.
Très fréquemment rencontré dans les PME et les petites structures, pfSense offre une solution complète de routage, filtrage, VPN et partage de connexion. Il est basé sur pf, et intègre un grand nombre de composants tiers : serveur DHCP/DNS, serveur de temps, proxy web, monitoring... La configuration se fait entièrement via une interface web.
pfSense est disponible sous licence BSD. Un support officiel est proposé par la société BSD Perimeter.
Autres
Parmi les produits de l’univers Firewalls, on peut compléter la liste avec les outils ci-dessous :
Nom URL / Site web
NuFW http://www.nufw.org
Uncomplicated Firewall https://launchpad.net/ufw
Firewall Builder http://www.fwbuilder.org
Ferm http://ferm.foo-projects.org
ShoreWall http://shorewall.net
---
Supervision et Métrologie
La supervision et de la métrologie est un domaine bien servie par l’open source avec de nombreux produits de qualité, comme Nagios notamment qui dispose également d’une grande notoriété.
Les outils de supervision permettent la surveillance de réseaux, machines, services, etc. Parmi les fonctionnalités que l’on peut trouver, on peut citer : la consultation de l'état des services et des machines supervisés, la métrologie, le reporting, l'accès aux évènements de supervision, la gestion avancée des utilisateurs et des ACL, mais aussi les dépendances, l'escalade de notification, les templates de services et d'hôtes, le support des surveillances actives et passives, etc.
Dans cette rubrique, 6 solutions open source sont évaluées.
Compte de tenu de la diversité des outils sélectionnés dans cette catégorie, les graphiques suivants ne présentent pas de moyenne.
Cacti
Version étudiée : 0.8.7
Site Internet de la solution : www.cacti.net
Solution portée par une communauté
Cacti est un outil basé sur RRDTool dédié à la métrologie. Il permet de représenter sous forme de graphiques n'importe quelle donnée quantifiable collectée soit par le biais de protocoles réseaux tels que SNMP ou soit par des scripts personnalisés par l'utilisateur.
Il est considéré comme étant le digne successeur de MRTG et apporte une véritable interface à RRDTool en permettant de modifier chacun des aspects des graphiques générés. Les possibilités de configuration très avancées font que celui-ci est souvent utilisé en complément de solutions de supervision tel que Nagios, notamment, pour assurer la partie métrologie lorsque les exigences sont fortes.
De nombreux plugins développés par la communauté permettent d'étendre les fonctionnalités de Cacti et parfois bien même au delà de la simple métrologie. Cacti est distribué sous la licence GPL v2.
Il fonctionne grâce à un serveur web équipé d'une base de données et du langage PHP. Cacti utilise aussi un système de scripts (Bash, PHP, Perl, VBs...) pour effectuer des mesures plus complexes.
Nagios
Version étudiée : 3.3.1
Site Internet de la solution : www.nagios.org
Solution portée par un éditeur (Nagios Enterprises)
Nagios (anciennement Net saint) est un logiciel de supervision de réseaux créé en 1999 par Ethan Galstad. Il est considéré comme étant la référence des solutions de supervision open source.
Nagios dispose de nombreuses fonctionnalités tel que l'héritage multiple, les dépendances, l'escalade de notification, les templates de services et d'hôtes, le support des surveillances actives et passives, etc. Cela en fait un outil très complet pouvant s'adapter à n'importe quel type d'utilisation avec des possibilités de configuration très poussées.
La modularité et la forte communauté (> 250 000) qui gravite autour de Nagios (en participant au développement de nombreux plugins et addons) offrent des possibilités en terme de supervision qui permettent aujourd'hui de pouvoir superviser pratiquement n'importe quelle ressource.
Les plugins sont écrits dans les langages de programmation les plus adaptés à leur tâche : scripts shell (Bash, ksh, etc.), C++, Perl, Python, Ruby, PHP, C#, etc.
Centreon
Version étudiée : 2.2.2
Site Internet de la solution : www.centreon.com
Solution portée par un éditeur (Merethis)
Centreon est un frontend Web, développé et supporté par la société française Merethis, qui permet de réaliser le paramétrage d'outils de supervision tel que Nagios, Inciga ou Shinken.
Cette interface évoluée apporte, en plus de ses possibilités de configuration, de nombreuses fonctionnalités telles que la consultation de l'état des services et des machines supervisés, la métrologie, le reporting, l'accès aux évènements de supervision, la gestion avancée des utilisateurs et des ACL, etc.
Centreon est distribué sous licence GPL v2.
Centreon s’appuie sur les technologies Apache et PHP pour l'interface web, MySQL pour le stockage des données de configuration et de supervision.
Zabbix
Version étudiée : 1.8
Site Internet de la solution : www.zabbix.com
Solution portée par un éditeur (ZABBIX SIA)
Zabbix est une solution de monitoring complète embarquant un front-end web, un ou plusieurs serveurs distribués, et des agents multi-plateformes précompilés (Windows, Linux, AIX, Solaris, etc).
Zabbix est également capable de faire du monitoring SNMP et IPMI ainsi que de la découverte de réseau. Des vérifications web sont également intégrées permettant de simuler le parcours d'un visiteur sur un serveur web tout en vérifiant le contenu et les temps de réponse des pages. Des graphiques et cartes sont modélisables directement depuis le front-end sur toutes les valeurs supervisées par zabbix et ses agents.
Zabbix est proposé sous licence GPL.
Il repose sur du C/C++, PHP pour la partie front end et MySQL/PostgreSQL/Oracle pour la partie BDD.
OpenNMS
Version étudiée : 1.8.13
Site Internet de la solution : www.opennms.org
Solution portée par un éditeur (OpenNMS group)
OpenNMS est à l'open source ce qu'est HP Openview et IBM tivoli au monde propriétaire de la surveillance de réseaux.
OpenNMS a été conçu, dès ses débuts en 1999, pour répondre aux exigences des grandes entreprise telles que la scalabilité, l'automatisation et la flexibilité lui permettant ainsi de surveiller "out-of-the-box" plusieurs dizaines de milliers de ressources. Parmi ses nombreuses fonctionnalités on retrouve : découverte et surveillance automatique des équipements et services, collecte et traitement de données (en SNMP, JMX, XML, nrpe, et autres), gestion avancée d'événements actifs et passifs, alertes et notifications avec escalade et calendrier d'astreinte, génération de rapports, graphiques et cartes réseaux, surveillance en simulation de parcours, compatible multi-sites (remote polling), etc.
OpenNMS est disponible sous licence GPL v3 ; il respecte les standards FCAPS.
OpenNMS est développé en Java et s'appuie sur le moteur WEB Jetty et le SGBD PostgreSQL.
Munin
Version étudiée : 1.4.5
Site Internet de la solution : http://munin-monitoring.org
Solution portée par une communauté
Le projet existe depuis 2004, créé par la société Redpill Linpro puis rapidement rejoint par de nombreux autres développeurs. Le projet reste très actif aujourd'hui.
Munin permet de surveiller n'importe quel paramètre des serveurs, et rend l'information disponible sous forme de graphes dans une interface Web. Il permet également d’évaluer n'importe quelle métrique: système, réseau, applications, jusqu'aux limites de votre imagination. Ses principaux atouts sont sa simplicité et le grand nombre de plugins disponibles (par centaines) pour ajouter des graphes supplémentaires.
Munin est distribué sous licence GPL.
Munin se repose sur l'excellent outil RRDTool. Il est écrit en Perl, ce qui fait de lui un logiciel totalement multiplateforme (Linux / UNIX / Windows). Les plugins sont des exécutables pouvant être écrits dans n'importe quel langage.
Autres
Parmi les produits de l’univers Supervision et Métrologie, on peut compléter la liste avec les outils ci-dessous :
Nom URL / Site web
MRTG http://oss.oetiker.ch/mrtg
Zenoss http://community.zenoss.org
Icinga https://www.icinga.org
---
Système d’exploitation Linux & BSD
Les systèmes d’exploitation constituent la base de tout programme informatique. Ils fournissent un socle d’exécution de milliers d’applications.
Dans l’univers de l’open source, deux grandes familles de systèmes d’exploitation sont représentés : ceux basés sur Linux et ceux basés sur BSD.
Malgré le fait qu’ils partagent un socle commun, ils proposent tous des spécificités qui les rendent meilleurs dans tel ou tel contexte comme c’est le cas, par exemple, pour OpenBSD qui est souvent utilisé pour la mise en œuvre d’éléments réseaux sensibles.
Debian
Version étudiée : 6.0
Site Internet de la solution : www.debian.org
Solution portée par une communauté
Debian est un système d'exploitation libre, gratuit et communautaire, basé sur le noyau Linux et démarré en 1993 par Ian Murdock avec le soutien de la Free Software Foundation.
Avec l'une des plus grandes communautés open source au monde (plus de 1600 développeurs), le projet Debian est la distribution la plus complète disponible, avec près de 30 000 packages dans la version 6. La distribution est éditée en accord avec la philosophie communautaire qui a donné naissance au logiciel libre, et constitue une référence en termes de qualité et de stabilité.
Debian est une distribution GNU/Linux non commerciale.
Red Hat Enterprise Linux
Version étudiée : 6.0
Site Internet de la solution : www.fr.redhat.com/products/rhel
Solution portée par un éditeur (Red Hat)
RedHat Enterprise Linux est un système d'exploitation libre édité par RedHat depuis 1995.
Basée sur la distribution historique Red Hat Linux (désormais Fedora), RHEL est un produit destiné aux entreprises, et bénéficie d'un support éditeur, et d'une stabilité étendue. De nombreux accords avec les éditeurs de logiciels et les fabricants de matériels assurent une bonne intégration dans les entreprises.
Novell Suse Enterprise Linux
Version étudiée : 11
Site Internet de la solution : www.suse.com
Solution portée par un éditeur (Novell / Attachmate Group)
Suse Linux Enterprise Server est un système d'exploitation libre crée en 1996 et désormais édité par Novell. La première version de cette distribution apparut au début de l'année 1994, faisant de SUSE la plus ancienne distribution commerciale encore existante.
Basé sur la distribution OpenSUSE, il s'agit d'une distribution destinée aux entreprises, mettant l'accent sur la compatibilité avec les technologies Microsoft. En matière d'administration système, Novell Suse Enterprise Linux continue de privilégier les standards ouverts comme CIM (Common Information Model, soit modèle de données unifié en français) et WS-Management (Web Service Management) qui permettent l'un et l'autre d'administrer de manière cohérente des parcs hétérogènes rassemblant des matériels de fournisseurs concurrents.
Deux versions sont mises à disposition, l'une destinée aux serveurs (SLES pour SLE for Server), l'autre aux postes clients (SLED pour SLE for Desktop).
Ubuntu
Version étudiée : 11.04
Site Internet de la solution : www.ubuntu.com
Solution portée par éditeur (Canonical)
Ubuntu est un système d'exploitation libre, communautaire, basé sur Debian. Le projet a été initié en 2004 par le sud-africain Mark Shuttleworth.
Officiellement supporté par la société Canonical, Ubuntu est utilisable aussi bien sur des serveurs que des postes de travail. Ubuntu est toutefois orienté grand public notamment grâce à sa simplicité d’utilisation qui favorise la prise en main. C’est une distribution compacte (fréquemment distribué sur CD) qui assure une grande compatibilité matérielle et dispose de nombreux logiciels, de base ou à installer. Parmi les grandes réussites d’Ubuntu, on notera qu’il équipe les ordinateurs des députés français.
OpenBSD
Version étudiée : 4.9
Site Internet de la solution : www.openbsd.org
Solution portée par une fondation (OpenBSD)
OpenBSD est un système d'exploitation libre, gratuit et communautaire, basé sur BSD UNIX. Il a été créé en 1994 par Theo de Raadt. Le projet est issu de NetBSD, dont il s'est séparé en 1996.
Développé par la fondation OpenBSD, qui comprend une centaine de développeurs, le projet OpenBSD est un système d'exploitation complet mettant l'accent sur la qualité et la sécurité du code. C'est un système fréquemment utilisé sur des équipements réseaux sensibles.
OpenBSD est distribué sous licence BSD.
La très grande majorité du code est en langage C.
FreeBSD
Version étudiée : 8.2
Site Internet de la solution : www.freebsd.org
Solution portée par une communauté
FreeBSD est un système d'exploitation libre, gratuit et communautaire, basé sur BSD UNIX. Le projet est né en 1993.
Le projet FreeBSD met l'accent sur les performances et les fonctionnalités, il dispose de fonctionnalités avancées en matière de stockage (ZFS), de réseau, et de sécurité (MAC, framework d'audit BSM). Il est majoritairement utilisé dans le Web, et au cœur de matériels propriétaires (Juniper, NetApp).
FreeBSD est distribué sous licence BSD.
La majorité du code est en langage C.
NetBSD
Version étudiée : 5.1
Site Internet de la solution : www.netbsd.org
Solution portée par une communauté
NetBSD est un système d'exploitation libre, gratuit et communautaire, basé sur BSD UNIX. Le projet est né en 1993.
Il met l'accent sur la portabilité et la qualité du code, ainsi que sur la simplicité d'utilisation. Il est principalement utilisé dans la recherche et dans l'embarqué. Sa conception soignée et ses fonctionnalités avancées en font une excellente solution aussi bien pour les environnements de production que pour la recherche. NetBSD est développé et soutenu par une grande et vive communauté internationale. Il dispose de plus d'un support utilisateur. Notons que la totalité de ses sources est accessible. De nombreuses applications sont facilement disponibles à travers le système de paquets NetBSD.
NetBSD est distribué sous licence BSD.
La majorité du code est en langage C.
Autres
Parmi les produits de l’univers Système d’exploitation Linux & BSD, on peut compléter la liste avec les outils ci-dessous :
Nom URL / Site web
Mandriva Linux http://www.mandriva.com/fr
Fedora http://fedoraproject.org/fr
---
Virtualisation
La virtualisation de serveurs est un ensemble de techniques et d’outils permettant de faire tourner plusieurs systèmes d’exploitation sur un même serveur physique.
Le principe de la virtualisation est donc un principe de partage : les différents systèmes d’exploitation se partagent les ressources du serveur.
Pour être utile de manière opérationnelle, la virtualisation doit respecter deux principes fondamentaux : le cloisonnement (chaque système d’exploitation a un fonctionnement indépendant, et ne peut interférer avec les autres en aucune manière) et la transparence (le fait de fonctionner en mode virtualisé ne change rien au fonctionnement du système d’exploitation et a fortiori des applications).
Dans cette catégorie, 4 outils open ont été sélectionnés dont les plus connus dans l’univers professionnel, Xen et KVM.
Xen
Version étudiée : 4.1.1
Site Internet de la solution : http://xen.org
Solution portée par un éditeur (Citrix)
Xen est un hyperviseur gérant la paravirtualisation. Le projet est né en 2003 sous la forme d'un projet de recherche de l'université de Cambridge au Royaume-Uni.
La paravirtualisation désigne la capacité pour un système de virtualisation à interagir avec les systèmes virtualisés. Les machines virtuelles sont ainsi plus performantes, et mieux administrables. Xen est issu d'un projet de recherche universitaire, et fait désormais partie du noyau Linux. Une version entreprise et le support associé est proposée par Citrix.
Xen est disponible sous licence GPL.
OpenVZ
Version étudiée : 3.0.25
Site Internet de la solution : www.openvz.org
Solution portée par une communauté
OpenVZ est une solution de virtualisation légère pour Linux créée en 2005.
Comme toute solution de virtualisation légère, il n'est possible d'exécuter que des systèmes Linux au sein d'OpenVZ. Cependant cet handicap est compensé par des performances bien plus proches des performances natives que tout autre type de virtualisation, en particulier pour les entrées-sorties, ainsi qu'une consommation de mémoire réduite. OpenVZ est principalement utilisé dans les environnements de développement et de tests, où il n'est pas rare d'avoir plusieurs dizaines de systèmes sur un même hôte.
Le code est disponible en GPL v2.
KVM
Version étudiée : 2.6.20
Site Internet de la solution : www.linux-kvm.org
Solution portée par une communauté
KVM est une solution de virtualisation complète basée sur Linux datant de 2005. KVM est un fork de QEMU. Parfois, le code source des deux produits est resynchronisé.
Intégré au noyau Linux (depuis la version 2.6.2), KVM est capable d'exécuter des systèmes virtuels sous tous les OS courants en simulant un matériel standardisé, et supporte des fonctions avancées telles que la migration et l'inspection en profondeur de l'état de la VM.
KVM est distribué sous licence GPL.
Oracle VirtualBox
Version étudiée : 4.1.2
Site Internet de la solution : www.virtualbox.org
Solution portée par un éditeur (Oracle)
VirtualBox est une solution de virtualisation, créée en 2007 et destinée aux postes de travail,.
VirtualBox supporte un grand nombre de systèmes d'exploitation invités, et dispose de fonctionnalités d'interaction avec ces systèmes : partage de fichiers, intégration du pointeur de souris, fusion du bureau avec le bureau hôte. Certaines options, telles le partage des périphériques USB, peuvent être ajoutées sous forme de plugins propriétaires.
VirtualBox est distribué sous licence GPL v2.
Autres
Parmi les produits de l’univers Virtualisation, on peut compléter la liste avec les outils ci-dessous :
Nom URL / Site web
Qemu http://wiki.qemu.org
---
VOIP / Téléphonie
La VOIP (« Voix sur IP ») est une technique qui permet de communiquer par la voix sur des réseaux compatible IP. Ce peut être des réseaux privés ou Internet, filaire (câble/ADSL/optique) ou non (satellite, Wifi, GSM).
Cette technologie est notamment utilisée pour supporter le service de téléphonie sur IP (« ToIP » pour Telephony over Internet Protocol).
Les meilleures solutions permettent l’interopérabilité avec des IPBX (système utilisé en entreprise qui assure l'acheminement de tout ou partie des communications) propriétaires via les protocoles existants (H.323, SIP, IAX, MGCP) et les codecs les plus couramment utilisés (G711, G729ab, iLBC, Speex, GSM, etc.).
Au niveau des solutions open source, Asterisk est l’outil le plus utilisé et le plus complet avec de nombreuses fonctionnalités et une bonne capacité d’intégration à un environnement existant.
Asterisk
Version étudiée : 1.8.6.0
Site Internet de la solution : www.asterisk.org
Solution portée par un éditeur (Digium)
Asterisk est un autocommutateur téléphonique privé (PABX) open source pour systèmes UNIX. Il permet, entre autres, la messagerie vocale, les files d'attente, les agents d'appels, les musiques d’attente, les mises en garde d'appels, la distribution des appels et la gestion de conférences.
Asterisk implémente les protocoles H.320, H.323 et SIP, ainsi qu'un protocole spécifique nommé IAX (Inter-Asterisk eXchange). Asterisk peut également jouer le rôle de registrar et de passerelle avec les réseaux publics. Il est utilisé par certains opérateurs comme coeur de réseau téléphonique du fait de son intéropérabilité et de sa scalabilité. Associé à SugarCRM ou Vtiger on le retrouve également souvent comme outil de gestion de centre d'appels.
Dans son utilisation classique comme plateforme de téléphonie IP, Asterisk est généralement associé à Freepbx, une IHM permettant de piloter l'ensemble des ses fonctionnalités. On retrouve Asterisk et Freepbx dans de nombreuses distributions-appliance dont les plus populaires sont Elastix et Trixbox.
Asterisk est distribué sous la licence GPL.
Kamailio
Version étudiée : 3.1.5
Site Internet de la solution : www.kamailio.org
Solution portée par une communauté
Kamailio est un Server SIP open source. Ce fork du projet OpenSER (en 2005) est l'un des PBX les plus complets.
Il supporte des transactions asynchrone TCP, UDP et SCTP, l'encryptage des communications via TLS, la répartition de charge, un mécanisme natif de fail-over, l'authentification sur des backend Radius, Mysql, LDAP ou via transport XMLRCP. Il est utilisé aussi bien par des opérateurs télécoms comme plate-forme de service VoIP que pour les solutions classiques de téléphonie d'entreprise. C'est une alternative à Freeswitch et Asterisk les deux autres poids lourds du domaine.
Kamalio est distribué sous licence GPL.
Kannel
Version étudiée : 1.5.0
Site Internet de la solution : www.kannel.org
Solution portée par une communauté
Kannel a été développé en 1998 par la société WAPit Ltd qui n’existe plus à ce jour. Le projet est désormais géré par les membres d’un groupe (« The Kannel Group ») qui inclut de grandes entreprises.
Kannel est une Gateway SMS et WAP Open Source Carrier Grade, il supporte les protocoles des SMSC standard : UCP/EMI, SMPP, HTTP, CIMD. Kannel fournit un ensemble d'API lui permettant d'être utilisé comme front end à des middlewares ou applications Web nécessitant des sorties WAP ou SMS. Intégré comme brique d'infrastructure, il sécurise l'accès aux ressources des opérateurs tout en fournissant un support SMS et WAP fiable et robuste.
Kannel est distribué sous la licence « Kannel Software License » (basée sur la licence Apache).
Kannel est écrit en C.
Autres
Parmi les produits de l’univers VOIP/Téléphonie, on peut compléter la liste avec les outils ci-dessous :
Nom URL / Site web
CallWeaver http://www.callweaver.org
SER http://www.iptel.org/ser
sipXecs http://www.sipfoundry.org
Trixbox http://fonality.com/trixbox
Yate http://yate.null.ro/pmwiki
FreeSwitch http://www.freeswitch.org
---
Messagerie, Emailing & Groupware
Le domaine de la « messagerie » est très large, de la messagerie individuelle à l’envoi de mailing groupé, on trouve de nombreuses solutions open source.
Dans cette rubrique, on présente les serveurs de messagerie (SMTP et IMAP), les outils Anti-spam et les interfaces de consultation (Groupware). Les anti-virus tels que CLAV sont rangés dans la catégorie Sécurité.
Tous ces outils sont de précieuses aides pour mettre en œuvre un système de messagerie complet.
Compte de tenu de la diversité des outils sélectionnés dans cette catégorie, les graphiques suivants ne présentent pas de moyenne.
Postfix
Version étudiée : 2.8.5
Site Internet de la solution : www.postfix.org
Solution portée par une communauté
Postfix est un serveur de messagerie. La création de postfix remonte à 1997. Il a été développé par Wietse Venema et plusieurs contributeurs. Postfix a tout d'abord été connu sous les noms de VMailer et par la suite IBM Secure Mailer.
Remplaçant de plus en plus Sendmail au sein des infrastructures mail open source, Postfix est un serveur SMTP souple et extensible. Il est capable d'interroger un grand nombre de sources d'informations externes (base de données, annuaires LDAP). Son périmétre est relativement large et parfaitement adapté à une utilisation professionnelle. Postfix permet notamment d’éviter le spam (à partir d’une liste publique anti-spam par exemple).
Postfix est distribué sous licence IBM.
Cyrus IMAPd
Version étudiée : 2.4.10
Site Internet de la solution : www.cyrusimap.org
Solution portée par une communauté
Cyrus est serveur mail extensible disponible à la fois pour un usage personnel ou professionnel. Cyrus se base sur de nombreux standards et propose deux versions téléchargeables. Cyrus IMAPd, quant à lui, est un serveur IMAP libre. Le projet est issu de l'université américaine Carnegie Mellon, et remonte à 1994.
Il supporte des fonctionnalités avancées telles que le push (IDLE), les ACL, les dossiers partagés, les quotas, le filtrage côté serveur (sieve), et un grand nombre de méthodes d'authentification via SASL.
Cyrus IMAPd est distribué sous licence BSD.
SpamAssassin
Version étudiée : 3.3.2
Site Internet de la solution : http://spamassassin.apache.org
Solution portée par une communauté
SpamAssassin est un antispam utilisant un grand nombre de techniques différentes. Il date de 1997 et est mené par la Apache Software Foundation, auteur du très célèbre serveur Web Apache HTTP Server.
Il s'agit d'un outil très répandu sur les serveurs de mails, y compris dans les infrastructures des grands fournisseurs. Parmi les techniques utilisées, on retrouve l'analyse Bayesienne, basée sur l'apprentissage de mots-clés, divers systèmes de listes noires (URIBL, DNSBL), l'analyse du contenu (Razor, DCC), et un certains nombre de critères sur le formatage du message (taux images/texte, absence de version texte, émetteur invalide, etc.).
SpamAssassin est disponible sous licence Apache.
SpamAssassin est écrit en Perl.
DSPAM
Version étudiée : 3.10.1
Site Internet de la solution : www.nuclearelephant.com
Solution portée par une communauté
DSPAM est un antispam basé sur le filtrage Bayesien, écrit par Jonathan A. Zdziarski, également auteur du livre Ending Spam.
Ce type de filtrage, basé sur l'apprentissage de mot-clés, s'avère particulièrement efficace après une phase d'entrainement. Le principal intérêt de DSPAM par rapport à ses concurrents réside dans la richesse de son moteur d'analyse, ainsi que dans l'interaction avec l'utilisateur, qui dispose d'une interface web pour gérer la quarantaine, et désigner explicitement un mail comme désirable ou indésirable.
DSPAM est distribué sous licence GPL.
Zimbra
Version étudiée : 7.1.1
Site Internet de la solution : www.zimbra.com
Solution portée par un éditeur (WMware)
Zimbra est un serveur de messagerie collaborative. Son interface utilisateur entièrement web et basée sur AJAX est célèbre pour son ergonomie.
Toutes les fonctionnalités de Zimbra sont accessibles via un navigateur web ou un client lourd. Le Webmail de Zimbra est en effet compatible avec tout navigateur web moderne. La suite Zimbra intègre un client lourd Zimbra Desktop mais reste complètement compatible avec les clients lourds standards tels que Microsoft Outlook, Mozilla Thunderbird, Eudora, etc. Dans sa version commerciale, Zimbra se synchronise également avec la quasi totalité des plateformes mobiles (iPhone OS, Blackberry, Android, Symbian OS, Palm OS).
Zimbra est publié sous la licence « Zimbra Public License », dérivé de MPL.
Cet outil de messagerie s'appuie sur un socle infrastructure riche et robuste : WebDAV (XML), LDAP, iCal, HTTP(S), SMTP, IMAP, POP3 et CalDAV. Il fournit un socle SOAP permettant le développement de plugins appelés "Zimlets" assurant l'extension libre de son périmètre fonctionnel. Il est ainsi possible de l'interfacer avec une solution de téléphonie comme Asterisk ou un outil de CRM tel que SugarCRM. Zimbra est aujourd'hui une référence incontournable de la messagerie collaborative d'entreprise.
Horde
Version étudiée : 4.0.8
Site Internet de la solution : www.horde.org
Solution portée par une communauté
Horde Groupware Webmail Edition est une solution professionnelle de messagerie collaborative. C'est un groupware (logiciel de groupe de travail) entièrement modulable.
Il permet aux utilisateurs de pouvoir, lire, échanger et organiser leurs emails, organiser et partager leur calendrier, contacts et tâches. Plus qu'un simple agrégat de briques techniques, Horde est une association ergonomique d'applications comme INgo, Turba, IMP, Mnemo dont l'ergonomie en fait une solution incontournable et fiable de messagerie collaborative.
Horde est distribué sous la licence GPL.
Horde est écrit en PHP.
Zarafa
Version étudiée : 7.0.1
Site Internet de la solution : www.zarafa.com
Solution portée par un éditeur (Zarafa)
Zarafa est une solution de messagerie collaborative supportant nativement le protocole MAPI. Elle est originaire des Pays-bas.
Son Webmail (entièrement accessible en Web et utilisant de l’Ajax) et son interfaçage direct avec Outlook le désigne, fonctionnellement, comme l'alternative open source la plus proche de Microsoft Exchange. Depuis 2007, le moteur de la version entreprise de Zarafa embarque le protocole Z-push assurant une compatibilité quasi totale avec les smartphones et Pocket PC du marché.
Zarafa est distribué sous la licence Affero GPL v3.
Zarafa utilise la base de données MySQL pour le stockage de ses données. Le webmail est basé sur l’Ajax avec des traitements en PHP (avec l’extension MAPI PHP).
OpenEMM
Version étudiée : OpenEMM 2011
Site Internet de la solution : www.openemm.org
Solution portée par un éditeur (AGNITAS AG)
OpenEMM est une solution d’emaling open source développée depuis 1999 par la société allemande Agintas. OpenEMM est utilisé par de grands groupes tels que BenQ, Siemens, etc.
OpenEMM est utilisé pour gérer les newsletters et les campagnes marketing par email des entreprises. Il existe peu de solutions d’emailing open source disposant d’un large périmètre ce pourquoi, OpenEMM a toute sa place dans ce guide open source. D’un point de vue fonctionnel, l’outil est relativement riche. Citons par exemple : une interface entièrement web, disponible en plusieurs langues dont le français et l’anglais, outils de ciblage, statistiques en temps réel, gestion des templates, modules d’importation et d’extraction de masse, bonne documentation, utilisation possible de webservices, gestion des erreurs de retours, etc.
OpenEMM est distribué sous la licence « Common Public Attribution License » 1.0 (CPAL).
OpenEMM repose sur les langages C, Java et Python. Il utilise la base de données MySQL pour le stockage de ses informations.Autres
Parmi les produits de l’univers Messagerie, Emailing & Groupware, on peut compléter la liste avec les outils ci-dessous :
Nom URL / Site web
RoundCube http://roundcube.net
EGroupware http://www.egroupware.org
OBM http://obm.org
Open-Xchange http://www.open-xchange.com
---
Accélérateur Http
Les accélérateurs http, également appelés « Reverse Proxy » sont implémentés du côté des serveurs Internet. Ils ont différents usages comme : la sécurité, la répartition de charge, l’accélération SSL, la compression et le cache.
C’est notamment ce dernier point que nous évaluons dans cette rubrique. Les internautes « passent » par l’intermédiaire des reverses proxy pour accéder aux applications de serveurs internes. Des politiques de cache avancées permettent de décharger les serveurs d’applications Web quel que soit le langage utilisé. Certains accélérateurs HTTP gèrent le cache par fragment en supportant notamment la norme ESI.
Squid
Version étudiée : 3.1
Site Internet de la solution : www.squid-cache.org
Solution portée par une communauté
Squid est un serveur proxy HTTP fréquemment utilisé en entreprise. La première version de Squid date de 1996.
Sa fonction principale est celle de proxy direct, utilisée pour réguler le trafic web et mettre en cache les contenus fréquemment consultés. Il est parfois également utilisé comme proxy inverse dans les architectures web. Lorsqu'il est utilisé à des fins de contrôle d'accès, il est possible de se procurer des listes noires d'URL auprès de fournisseurs tiers.
Squid est distribué sous licence GPL.
Squid est inspiré du projet Harvest. Il est compatible avec IPv6 à partir de sa version 3.
Varnish
Version étudiée : 3.0.1
Site Internet de la solution : www.varnish-cache.org
Solution portée par un éditeur (Varnish Software)
Varnish est un cache HTTP hautes performances. La première version stable de Varnish date de 2006, et a été initiée pour le journal norvégien Verdens Gang. L’architecte du produit est le danois Poul-Henning Kamp.
Utilisé pour améliorer les performances des sites web à fort trafic, Varnish dispose également de fonctionnalités de répartition de charge et permet de tester la disponibilité des serveurs produisant le contenu web. Varnish est notamment utilisé par Facebook. Varnish stocke une partie de ses données dans la mémoire virtuelle. La configuration de l’outil est réalisée à partir de fichiers VCL (language spécifique) ; cela permet d’aller très loin dans la définition des régles de gestion. Enfin, Varnish supporte les tags ESI (Edge Side Includes).
Varnish est distribué sous licence BSD.
Autres
Parmi les produits de l’univers Accélérateurs http, on peut compléter la liste avec les outils ci-dessous :
Nom URL / Site web
nginx http://nginx.org
---
Autres
Dans cette dernière rubrique de la dimension « Infrastructure » nous présentons d’autres outils open source particulièrement utiles pour des administrateurs Système & Réseaux.
Nous présentons notamment CUPS (un serveur d’impression), SAMBA (permettant l’échange de fichiers UNIX sur des postes Windows), ProFTPD (un serveur FTP), et BIND (un serveur DNS).
CUPS
Version étudiée : 1.5.0
Site Internet de la solution : www.cups.org
Solution portée par un éditeur (Apple Inc.)
CUPS (Common Unix Printing System) est un serveur d'impression populaire pour les systèmes UNIX. Sa création remonte à la fin de l’année 1999 par Michael Sweet et Andrew Senft, propriétaires de Easy Software Products.
Il est utilisé aussi bien sur les postes de travail que sur les serveurs d'impression dédiés. Il offre le support d'un très grand nombre d'imprimantes, des capacités d'administration (gestion des files, comptabilité), et la compatibilité avec les protocoles d'impression classique : IPP, AppSocket, LPD, SMB (Windows).
CUPS est disponible sous licence GPL.
Samba
Version étudiée : 3.6.0
Site Internet de la solution : www.samba.org
Solution portée par une communauté
Samba est un serveur SMB pour postes de travail Windows. C’est en 1992 que remonte la première version de Samba. Elle fût écrite par Andrew Tridgell à l'Australian National University.
Sous Windows, le protocole SMB est utilisé pour le partage de fichiers et d'imprimantes. Samba permet l'utilisation d'un serveur UNIX pour la mise à disposition de ces ressources à des clients Windows, permettant ainsi la compatibilité entre les deux environnements. Samba est également capable de fonctionner en contrôleur de domaine sur des petits réseaux.
Samba est distribué sous licence GPL v3.
ProFTPD
Version étudiée : 1.3.3
Site Internet de la solution : www.proftpd.org
Solution portée par une communauté
ProFTPD est un serveur FTP libre très puissant et bien documenté.
Il dispose de fonctionnalités avancées comme le chroot, les hôtes et utilisateurs virtuels, la comptabilité et les quotas. ProFTPD dispose d’une syntaxe d’accès et de configuration proche de celle du serveur Web Apache. ProFTPD permet d’utiliser une base de données MySQL pour gérer les comptes FTP en lieu et place des utilisateurs de la machine. Son architecture est modulaire, ce qui a permis d'écrire des extensions pour le support de la cryptographie SSL/TLS (protocole FTPS) et l'extension de l'authentification via des bases RADIUS, LDAP ou SQL.
Il est disponible sous licence GPL.
Bind
Version étudiée : 9.8.1
Site Internet de la solution : www.isc.org/software/bind
Solution portée par une communauté
BIND est le serveur DNS de référence. Les origines de BIND remontent aux années 1980 par quatre étudiants de l’Université de Californie.
Édité par l'Internet Software Consortium, BIND est un serveur DNS permettant aussi bien la résolution des noms auprès de serveurs autoritaires, que l'hébergement de sa propre zone. Il supporte toutes les fonctionnalités avancées, notamment DNSSEC (depuis la réécriture de son code au début des années 2000).
Il est disponible sous licence BSD. La version 10 est en cours de développement.
---
Dimension « Développement et couches intermédiaires »
La dimension « Développement et couches intermédiaires », comme son nom l’indique, présente toutes les solutions utiles aux fonctions de développement, que l’on trouve habituellement entre les couches Infrastructures et Applicatives. C’est également une dimension particulièrement bien fournie en produits open source.
On constate ainsi qu’au-delà des applicatifs tels que les CMS, les boutiques e-commerce, les solutions de gestion documentaire… l’open source dispose d’un large panel de solutions permettant le développement comme Eclipse, par exemple, ou les frameworks tels Symfony ou Django. Notons que certains outils, comme les annuaires ou les bases de données, auraient également pu être rangés dans la dimension Infrastructure.
Plus de 50 solutions ont été évaluées dans cette dimension ; et près de 110 solutions y sont recensées parmi les catégories suivantes :
Annuaire d’entreprise
Bases de données
BPM / Workflow
Outils de développement
Tests & Intégration continue
ESB
Frameworks et bibliothèques pour le développement Web
Frameworks mobiles cross-platform
PKI
Authentification, fédération et gestion d’identité
Outils de tests de charge
Moteur de recherche
Serveurs http et serveurs d’applications
MOM & EAI
Autres
---
Annuaire d’entreprise
Les annuaires d’entreprise, également appélés Annuaire électroniques correspondent à un type de base de données spécialisées destinées à contenir de façon hiérarchique des éléments d’organisation de l’entreprise.
La plupart du temps, on y stocke des personnes (utilisateurs) et/ou des ressources (imprimantes, etc.). Cependant l’usage d’un annuaire d’entreprise ne se limite pas à des recherches textuelles, on peut également l’utiliser pour constituer des carnets d’adresses, pour authentifier les utilisateurs, pour définir la politique de sécurité de l’entreprise, etc.
Il existe un standard utilisé dans la plupart des annuaires d’entreprise pour effectuer des requêtes (protocole LDAP).
Dans l’univers de l’open source, la solution OpenLDAP dispose de la plus grande notoriété même si des outils comme 389 Directory server dispose d’un beau périmètre fonctionnel.
389 directory server
Version étudiée : 1.2.9.9
Site Internet de la solution : http://directory.fedoraproject.org
Solution portée par un éditeur (Red Hat)
389 Directory Server, anciennement Fedora Directory Server, est un serveur LDAP développé par Red Hat au sein de la communauté Fedora. Il est basé sur le code du vénérable Netscape Directory Server, lui même basé sur le code de slapd original qui a également donné naissance à OpenLDAP. L'origine remonte donc à 1996, même si la première version de Fedora Directory Server est sortie en 2005.
389 Directory Server implémente le protocole LDAP v3, se distingue de ses concurrents par une interface graphique d'administration écrite en Java ainsi que le support de la réplication master-master, permettant ainsi la redondance des accès lectures et écritures. A noter également que 389 directory server peut servir de solution de remplacement à SunONE/JES Directory Server, la base de code étant très proche, et SunONE semblant ne pas être poursuivi depuis le rachat par Oracle.
389 Directory Server est distribué sous licence GPL.
389 Directory Server est écrit en majeure partie en C, avec certaines parties telles que le GUI en Java.
OpenLDAP
Version étudiée : 2.4.26
Site Internet de la solution : www.openldap.org
Solution portée par une communauté
OpenLDAP est un annuaire d’entreprise libre. Il représente une alternative solide aux annuaires commerciaux. OpenLDAP a été créé en 1998 par Kurt Zeilenga.
OpenLDAP implémente le protocole LDAP dans sa version la plus récente (V3) tout en fournissant une architecture extensible à travers un système d'overlay et backend. Chaque overlay fournit des fonctionnalités supplémentaires (groupe dynamique, log d'accès, politique de mot de passe, etc.). En outre, les données de l'annuaire peuvent être stockées dans différents backends (proxy ldap, transferts des requêtes à des scripts Perl ou Shell, ou une base de données SQL, ...). OpenLDAP intègre également des mécanismes de réplications et de délégation, permettant par exemple l'implémentation d'un annuaire LDAP distribué sur plusieurs sites, chacun disposant de l'administration de sa propre branche.
OpenLDAP est distribué sous licence OpenLDAP Public License, compatible avec la licence GPL et validé par la Free Software Fundation.
OpenLDAP est développé en C et fonctionne sous Linux, sous différentes variantes BSD, sur les OS à base UNIX (Android, AIX, HP UX, Solaris, etc...), ainsi que sous Windows et MacOSX.
Autres
Parmi les produits de l’univers Annuaire d’entreprise, on peut compléter la liste avec les outils ci-dessous :
Nom URL / Site web
Apache Directory http://directory.apache.org
OpenDS http://www.opends.org
---
Bases de données
Les bases de données sont devenues des éléments incontournables du paysage informatique. Elles permettent de stocker un lot d’informations dans une structure définie par avance. Les technologies actuelles permettent d'organiser et de structurer la base de données de manière à pouvoir facilement manipuler le contenu et stocker efficacement de très grandes quantités d'informations.
Les bases de données, comme MySQL ou PostgreSQL, sont de type relationnel utilisant le langage SQL pour l’interrogation de leurs données.
Depuis 2009, une nouvelle mouvance – le NoSQL – est apparue. Elle propose une alternative au SQL et au modèle relationnel afin de permettre un haut niveau de scalabilité (extensibilité).
Désormais, les plus grands SGBD sont open source comme MySQL et PostgreSQL.
MySQL
Version étudiée : 5.5.15
Site Internet de la solution : www.mysql.fr
Solution portée par un éditeur (Oracle)
MySQL est un SGBDR rapide et robuste, particulièrement déployé dans les environnements Internet. MySQL a été créé en 1995, par Michael "Monty" Widenius.
A l'origine principalement orienté vitesse et simplicité, MySQL s'est peu à peu enrichi de fonctionnalités réservées aux bases de données traditionnelles dites d'entreprise. MySQL supporte les transactions, l'intégrité référentielle, les procédures stockées, les déclencheurs, la réplication asynchrone, le clustering, la récupération des données en cas de coupure.
MySQL est sous licence GPL, assortie de la linking exception, permettant l'utilisation des bibliothèques clientes au sein de programme non compatible avec la GPL. Une version Enterprise est également disponible fournissant un certains nombre d'outils graphiques et le support de la société éditrice Oracle. MySQL est largement utilisé auprès de sociétés comme Google ou Facebook, ou auprès de sites majeurs tels que Wikipedia.
MySQL est développé en C et C++ et fonctionne sur un très large nombre de plateformes, que ce soit celles basées sous Unix (Linux, Solaris, BSD) que sous Windows.
PostgreSQL
Version étudiée : 9.0.4
Site Internet de la solution : www.postgresql.org
Solution portée par une communauté
PostgreSQL est le SGBDR open source le plus complet aujourd’hui. PostgreSQL est issue de Ingres. Le projet a été lancé en 1985 par Michael Stonebraker, la première version bâtie sur l'architecture actuelle est sortie en 1995.
Le périmètre fonctionnel de PostGreSQL est très large et comparable aux autres bases de données Entreprise du marché. Il supporte les procédures stockées, les déclencheurs, les fonctions spécifiques, indexes sur fonctions, transactions, règles customs permettant de modifier le chemin d'exécution des requêtes, un large types de données, de l'héritage de tables, de la recherche full-text, etc. Ses performances et sa stabilité lui permettent de s'intégrer à une plateforme de production exigeante.
PostgreSQL utilise la PostgreSQL License, approuvée par l'Open Source Initiative.
PostgreSQL est écrit en C et fonctionne sur un très large nombre de plateformes, que ce soit celles basées sous Unix (Linux, Solaris, BSD) que sous Windows.
MongoDB
Version étudiée : 2.0.0
Site Internet de la solution : http://www.mongodb.org
Solution portée par 10gen Inc
MongoDB est une base de données orientée documents de la mouvance NoSQL permettant le stockage de documents au format BSON (une forme binaire de JSON).
Elle dispose de capacité à évoluer en environnement distribué via des mécanismes de réplication et de sharding. Son intégration particulièrement réussi avec la plupart des langages de programmation ainsi que sa documentation de qualité lui confère une popularité importante. MongoDB profite du fort regain d'intérêts pour les bases documentaires qui permettent de mieux coller aux environnements modernes qui se doivent de manipuler des données fortement hétérogènes et pour lesquels les SGBD relationnels ne sont pas nécessairement les plus adaptés.
La base de données est par ailleurs supportée par une entité commerciale, la société 10gen Inc. MongoDB est distribué sous la licence Affero GPL.
MongoDB est écrit en C++.
Redis
Version étudiée : 2.2.13
Site Internet de la solution : http://redis.io
Solution portée par un éditeur (VMware)
Redis est un dépot de données clé/valeur issue de la mouvance NoSQL. Le projet est sponsorisé par VMware. La première version a été publiée en 2009 par Salvatore Sanfilippo et Pieter Noordhuis.
Comme la plupart des datastore key / value, Redis propose une interface HTTP REST. Son originalité par rapport aux autres solutions disponibles réside dans le fait que Redis dispose d'un ensemble de fonctions de manipulation de données principalement axées sur la manipulation des chaines de caractères qui sont stockées, conférant à Redis la capacité de construire des requêtes légèrement plus complexes que ses concurrents traditionnellement limités aux opérations CRUD (Create Reade Update Delete). Les bonnes performances de Redis, que ce soit en lecture ou en écriture, le positionnent comme un excellent choix pour l'implémentation de backend de cache ou de gestionnaire de session.
Redis est distribué sous la licence BSD.
Redis est écrit en C.
Cassandra
Version étudiée : 0.8.5
Site Internet de la solution : http://cassandra.apache.org
Solution portée par une fondation (Apache)
Cassandra est une autre base de données de la mouvance NoSQL. Initialement développée par Facebook en 2008, elle a été par la suite libérée et son développement est aujourd'hui assuré par la fondation Apache.
Cassandra est une base de données orientée colonne. Etudiée pour des déploiements massivement distribués (éventuellement sur plusieurs datacenters), Cassandra est l'une des bases les plus performantes dès lors qu'il s'agit de répondre à des problématiques de traitement de données massif. Son architecture complètement décentralisée lui confère par ailleurs une résistance à la panne très importante. Comme la plupart des bases orientées colonnes, elle est par ailleurs particulièrement adaptée aux problématiques décisionnelles.
Cassandra est distribué sous la licence Apache.
Cassandra est écrit en Java.
Autres
Parmi les produits de l’univers Base de données, on peut compléter la liste avec les outils ci-dessous :
Nom URL / Site web
Berkeley DB http://www.oracle.com/us/products/database/berkeley-db
db4o http://www.db4o.com
Apache Derby http://db.apache.org/derby
FireBird http://www.firebirdsql.org
HSQLDB http://hsqldb.org
Ingres http://www.ingres.com/products/ingres-database
SQLite http://www.sqlite.org
CouchDB http://couchdb.apache.org
Neo4j http://neo4j.org
Voldemort http://www.project-voldemort.com
---
BPM / Workflow
Demande de congés, validation de documents, dématérialisation de la relation client : les processus sont au cœur du système d’informations des entreprises et collectivités.
Les solutions de BPM (Business Process Management) offrent une approche moderne en affranchissant en grande partie les utilisateurs des contraintes techniques pour modéliser, déployer et optimiser leurs processus.
Les solutions de BPM permettent la modélisation graphique des processus, la génération et l’adaptation des formulaires, et le suivi web des demandes.
Dans l’univers de l’open source, des solutions de qualité existent comme Bonita, produit phare du secteur BPM open source.
Bonita
Version étudiée : 5.5.2
Site Internet de la solution : http://fr.bonitasoft.com
Solution portée par un éditeur (BonitaSoft)
Développé depuis le début des années 2000 par Bull, le produit est porté depuis 2009 par l'éditeur open source BonitaSoft.
Bonita propose un modeleur graphique de processus extrêmement convivial et qui permet de déployer en quelques clics des applications BPM simples (par exemple diffuser des formulaires de demande de congés sur un intranet). Les formulaires sont générés automatiquement par la solution, ou peuvent être paramétrés de manière avancée. L'accès aux demandes en attente et leur traitement s'effectuent de manière intuitive grâce à l'interface "user XP", très semblable à un client mail. Mais la véritable force de Bonita, c'est son système de connecteurs, proposés par défaut ou développés sur mesure.
Une version communautaire de Bonita est proposée sous licence GPL v2. La version SP (Pack de Souscription) est soumise à une souscription qui en plus du support, apporte d’autres fonctionnalités.
Bonita est développé en JEE, langage également utilisé pour le développement de nouveaux connecteurs. Certains paramétrages avancés s'effectuent en Groovy.
JBPM
Version étudiée : 5.1
Site Internet de la solution : www.jboss.org/jbpm
Solution portée par un éditeur (JBoss)
JBPM est développé par une communauté soutenue par JBoss. Référence du BPM open source depuis plusieurs années, JBPM a été intégré par de nombreux éditeurs à leurs solutions. Le produit souffre toutefois aujourd'hui d'un manque de dynamisme de sa communauté. La dernière version est néanmoins prometteuse et le produit reste incontournable comme brique BPM technique de projets notamment en environnement open source.
JBPM est un excellent moteur BPM, puissant et léger. la version 5 est annoncée compatible avec le langage BPMN 2.0. Utilisé comme brique logicielle c'est une solution technique simple à configurer et bénéficiant d'une API très complète. Des interfaces Eclipse (développeurs) et web (utilisateurs fonctionnels) permettent de gérer les workflows graphiquement, mais pâtissent d'une certaine jeunesse qui les rend inadaptées pour une gestion par des utilisateurs non techniques. De plus, l'interface web n'est disponible que via l'application Drools (moteur de règles) ce qui fait perdre à l'outil son principal avantage : sa simplicité.
JBPM est publié sous licence LGPL et est développé en Java.
Activiti
Version étudiée : 5.7
Site Internet de la solution : www.activiti.org
Solution portée par un éditeur (Alfresco)
Activiti a été publié par l'éditeur d'ECM Alfresco, qui souhaitait développer une alternative à JBPM pour ses propres besoins. En choisissant d’en faire un composant indépendant, Alfresco parie sur le dynamisme de l'open source (le produit a été reversé à la communauté Spring) et souhaite en faire l'outil de référence du BPM open source. Activiti est ainsi techniquement à l'état de l'Art et bénéficie d'un très bon dynamisme grâce à la grande popularité de son porteur.
Activiti est aujourd'hui un moteur BPM léger et robuste. Sa jeunesse le destine plutôt à une fonction de brique BPM intégrée à des projets plus complexes, comme il l’est à Alfresco par exemple. Activiti présente néanmoins des interfaces agréables pour les utilisateurs finaux (dessin de processus) qui permettront aux équipes fonctionnelles et techniques de travailler conjointement sur la modélisation des processus. Sa mise en œuvre à proprement parler nécessitera toutefois impérativement de réelles compétences techniques.
Activiti est publié sous licence Apache et est développé en Java.
---
Outils de développement
Cette section présente les outils utiles aux développements d’applications, web notamment.
On y trouve des outils de gestion de projet comme Redmine ou Maven, des outils d’automatisation comme Ant ou Phing, des environnements de développement comme Eclipse, des gestionnaires de tickets comme MantisBT, des outils de gestion de source comme Subversion ou Git, et des solutions de collaboration et d’ingénierie logicielle comme Tuleap.
Comme on le voit, l’open source offre également d’excellentes briques de développement pour bâtir des projets ambitieux dans des conditions optimales.
Compte de tenu de la diversité des outils sélectionnés dans cette catégorie, les graphiques suivants ne présentent pas de moyenne.
Ant
Version étudiée : 1.8.2
Site Internet de la solution : http://ant.apache.org
Solution portée par une fondation (Apache)
Ant ("Another Neat Tool") est un outil d’automatisation de tâches tout au long du cycle de développement logiciel. Ant a été conçu par James Duncan Davidson en 2000 (sortie de la première version).
Ant permet donc d’automatiser des opérations répétitives tout au long d’un projet, à l’instar de ce que peuvent faire les commandes Make. Ant est principalement utilisé dans le cadre de projets écrits en Java même s’il peut être utilisé dans des projets faisant appels à d’autres technologies. Parmi les tâches que l’on confie souvent à Ant, on peut lister : l’exécution d’outils externes comme Checkstyle ou FindBugs, la génération des documentations (Javadoc), la compilation des programmes, l’archivage, la sauvegarde, etc.
Ant est distribué sous la licence Apache, et soutenu par la fondation du même nom.
Ant est écrit en Java.
Phing
Version étudiée : 2.4.7.1
Site Internet de la solution : www.phing.info/trac
Solution portée par une communauté
Phing est un outil de gestion de cycle de vie de projet informatique, inspiré de Ant et développé à l'origine par Andreas Aderhold. Il est notamment utilisé pour automatiser les tâches récurrentes lors du développement de projets informatiques tels que lancement de tests unitaires ou d'outils d'analyse de code ou encore pour la gestion des livraisons.
Phing utilise, comme Ant, un fichier XML pour définir une liste d'actions ("target"), comportant chacune une ou plusieurs tâches (copy de fichiers, lancement d'une commande), pouvant être lancées en ligne de commande. Il intègre une large liste de tâches en natif (exécution de tests PHPUnit, analyse de code avec PHP CodeSniffer, PHP Mess Detector, manipulation de fichiers, travail avec des gestionnaires de versions de sources), qu'il est très facile d'étendre en fonction de ses besoins par l'intermédiaire de nouvelles classes PHP. Distribué à travers le gestionnaire de paquets PEAR, Phing peut utiliser, pour certaines de ses tâches, des librairies annexes telles que Xdebug, phpcs.
Phing est distribué sous licence LGPL (Lesser Public General License) en version 3.
Phing est développé en PHP et est compatible avec les plateformes Windows, Linux et Max OS X.Eclipse
Version étudiée : 3.7
Site Internet de la solution : www.eclipse.org
Solution portée par une fondation (Eclipse)
Eclipse est un environnement de développement extensible et polyvalent, initié par IBM en 2001.
Conçu autour d'une plateforme commune à laquelle s'agrègent des composants dérivatifs, le projet est ainsi constitué de nombreux sous-projets spécifiques aux technologies sous-jacentes. L’object de la solution Eclipse est de fournir des outils favorisant la productivité, mais pas seulement celle qui concerne le codage logiciel. On y trouve des environnements de développement intégré mais également de conception, de modélisation, de tests, de reporting, etc. Eclipse a beau être écrit en Java, il peut être utilisé pour développer sous n’importe quel langage de programmation.
Eclipse est publié sous la licence EPL (Eclipse Public License). La fondation Eclipse en est désormais le porteur officiel.
Eclipse est écrit en Java.
MantisBT
Version étudiée : 1.2.8
Site Internet de la solution : www.mantisbt.org
Solution portée par une communauté
MantisBT est un outil web très populaire de suivi de tickets (anomalies, demandes d'évolutions, demandes d'intervention, ...), adapté à tous types de projets. Kenzaburo Ito, initiateur du projet en novembre 2000, est rapidement rejoint en 2002 par Jeroen Latour, Victor Boctor et Julian Fitzell pour constituer le cœur de l'équipe de développement.
MantisBT permet une répartition des tickets par projet. Il est également possible de qualifier les demandes suivant différents critères (type, catégorie, sévérité, priorité, privé/public). L'outil dispose notamment de fonctionnalités comme : un workflow d’enchaînement d'états paramétrables, un système de notification, un formulaire de recherche de tickets avec filtres, une page personnalisée pour chaque utilisateur listant les tickets dont il est l'auteur ainsi que les tickets qui lui sont assignés, une gestion de droits utilisateurs, une rubrique d'administration par projet permettant d'ajouter/supprimer des utilisateurs au projet, la création de sous projets, etc.
MantisBT est distribué sous licence GNU General Public License 2 (GPL v2).
MantisBT est développé en PHP et nécessite l'utilisation d'une base de données (MySQL, PostgreSQL, MS SQL ou DB2). Il est principalement testé pour les serveurs Web Apache et IIS.
Maven
Version étudiée : 3.0.3
Site Internet de la solution : http://maven.apache.org
Solution portée par une fondation (Apache)
Maven est un outil de gestion de projet technique. Son développement est assuré principalement par la fondation Apache.
Maven permet de standardiser la forme d'un projet ainsi que son utilisation. Il permet également de gérer les dépendances d'un projet, d'effectuer une livraison complète et automatique, de déployer une application, et de faciliter le déploiement d'un projet au sein d'une plate-forme d'intégration continue. Maven offre également une intégration poussée de nombreux outils de reporting (Surefire, PMD, CheckStyle, NCSS, etc.). Maven est destiné aux projets Java en général et aux projets Java EE en particulier.
Maven est distribué sous la licence Apache.
Maven est écrit en Java.
Subversion
Version étudiée : 1.6.17
Site Internet de la solution : http://subversion.apache.org
Solution portée par une fondation (Apache)
Subversion (SVN) est un système de gestion de version centralisé. Issu de CVS, son développement est initialisé en 2000 par la société Collabnet. Il est devenu officiellement un projet de la fondation Apache en 2010.
Standard et populaire, il a été choisi par de nombreuses communautés du logiciel libre. De nombreux outils et ressources sont disponibles pour l'exploiter au mieux. Apache Subversion a été écrit pour combler les manques de CVS dont seul l’implémentation avait été remis en cause (i.e pas son concept). Certaines fonctionnalités ont été ajoutées : les répertoires et les métadonnées sont versionnées, les numéros de révision sont globaux pour l’ensemble du dépôt, il est possible de renommer ou de déplacer des fichiers sans perte de l’historique, etc.
Subversion est distribué sous licence Apache et BSD.
Subversion est écrit en C.
Git
Version étudiée : 1.7.6.1
Site Internet de la solution : http://git-scm.com
Solution portée par une communauté
Git est un système de gestion de versionnement décentralisé (DVCS). Il est notamment utilisé pour le noyau Linux ou pour PHP. C'est un logiciel libre créé par Linus Torvalds en 2005.
Git permet notamment de "commiter" localement puis de pousser aux autres développeurs un ensemble de commits locaux. Il permet également d'utiliser un workflow de développement en soumettant par exemple l'envoi de code à l'approbation d'un des développeurs. La faculté de Git à créer des branches facilement ainsi que de permettre leur administration de façon simple en fait un outil de choix dans le cadre de développement de projets open source.
Git est distribué sous la licence GPL v2.
Git est écrit en C, Bourne Shell et Perl.
Redmine
Version étudiée : 1.2.1
Site Internet de la solution : www.redmine.org
Solution portée par une communauté
Redmine est un outil collaboratif permettant, à travers une interface web sécurisée, de gérer des projets. Il a été créé par Jean-Philippe Lang en 2006.
Redmine offre les fonctionnalités suivantes :
gestion multi-projets sécurisée
gestion des utilisateurs, des profils et des droits, en fonction de chaque projet
gestion de documents, classement par catégorie, propriétaire, titre, date, etc.
gestion des demandes, de leur statut, de leur priorité et de leur historique, assignation de ces demandes aux acteurs pertinents du projet.
visualisation de l’actualité du projet sous forme de diagramme de Gantt
notification par mail ou par flux RSS
etc.
Redmine est distribué sous la licence GPL v2.
Redmine a été développé en Ruby sur la base du framework Ruby on Rails.
Tuleap
Version étudiée : 4.0.21
Site Internet de la solution : www.enalean.com/produits/tuleap
Solution portée par un éditeur (Enalean)
Tuleap est une Suite Logicielle open source qui fournit les outils nécessaires aux entreprises pour un développement logiciel et une collaboration efficace. Egalement appelé Forge Logicielle ou ALM (application life cycle management), Tuleap a été développé par la société Enalean.
Tuleap est un logiciel utilisé par plusieurs dizaines de milliers d'utilisateurs dans le monde pour leurs développements professionnels, dans de grandes entreprises telles que STMicroelectronics, ST-Ericsson ou encore Orange. Tuleap est une suite ALM complète : tracking de bugs, de tests, de risques, etc, gestion de versions, intégration continue, gestion documentaire, outils de collaboration, etc.
Tuleap est distribué sous la licence GPL. L'éditeur de Tuleap, Enalean, a fondé son modèle économique sur le support et les services professionnels
Tuleap est écrit majoritairement en PHP.
Autres
Parmi les produits de l’univers Outils de développement, on peut compléter la liste avec les outils ci-dessous :
Nom URL / Site web
CVS http://cvs.nongnu.org
Gforge http://gforge.org/gf
Trac http://trac.edgewall.org
Mercurial http://mercurial.selenic.com
---
Tests & intégration continue
L’intégration continue est un ensemble de pratiques visant à améliorer la qualité de livraison d’une application en vérifiant à chaque modification de code source, que le résultat des modifications n’entraine pas de régressions (c'est-à-dire d’anomalies supplémentaires liées à l’ajout de code).
Pour mettre en œuvre des plateformes d’intégration continue, il existe de nombreux outils open source de qualité tels que Continiuum ou Hudson. Autour des ces outils, on trouve également des solutions de rendu graphique (affichage des résultats).
Compte de tenu de la diversité des outils sélectionnés dans cette catégorie, les graphiques suivants ne présentent pas de moyenne.
Continiuum
Version étudiée : 1.3.7
Site Internet de la solution : http://continuum.apache.org
Solution portée par une fondation (Apache)
Continuum est l'outil d'intégration continue de la fondation Apache.
Continuum offre toutes les fonctionnalités que l'on attend d'un tel outil. Automatisations configurables bien sûr, mais aussi distribution du build sur des machines esclaves, configuration de différents environnements d'exécution, gestion très fine des droits et reporting intégré pour les résultats des tests unitaires.
La fonctionnalité différenciante de Continuum est la possibilité de regrouper des modules/projets au sein de groupes de projets. Au sein de ces groupes, les différentes configurations et droits sont mutualisés ce qui permet de gérer un ensemble de projets de façon simple même quand ce nombre augmente rapidement.
Continiuum est distribué sous la licence Apache.
Continiuum est écrit en Java.
Jenkins / Hudson
Version étudiée : 2.1.1
Site Internet de la solution : http://hudson-ci.org
Solution portée par un éditeur (Oracle)
Jenkins est un outil d'intégration continue. Hudson est historiquement l'outil d'intégration continue développé par Oracle/Sun, Jenkins est un fork de Hudson. On évalue ici Jenkins et Hudson.
Jenkins permet d'automatiser la construction de projets et de générer des rapports de tests et de qualité. Jenkins est majoritairement utilisé dans le marché des solutions d'intégration continue. Le grand atout de Jenkins est son écosystème composé de centaines de plugins, ainsi que son interface plus simple et moins austère que celle de Continuum par exemple. Les générations de projets peuvent être initiées par différents moyens (mécanismes de planification similaires au cron, des systèmes de dépendances entre générations, ou par des requêtes sur certaines URL spécifiques).
Jenkins est distribué sous les licences MIT et Creative Commons.
Jenkins est écrit en Java.
Selenium IDE
Version étudiée : 1.0.4
Site Internet de la solution : http://seleniumhq.org/projects/ide
Solution portée par une communauté
Selenium est un outil de tests d'interfaces. Le projet a débuté en 2004 chez ThoughtWorks à Chicago grâce à Jason Huggins lequel voulait tester les temps de réponse de diverses applications (Python, Plone, etc.).
Selenium IDE permet d'enregistrer des tests d'interfaces depuis Firefox puis de les sauvegarder afin de les rejouer avec Selenium. Cet outil est très utile pour vérifier qu'une interface est conforme à ce qui est attendu. De plus, il peut être intégré à une plateforme d'intégration continue afin d'automatiser les tests d'interfaces. Selenium IDE n'est pas seulement un outil d'enregistrement : il s'agit d'un environnement de développement intégré (IDE). L'utilisateur peut choisir d'utiliser sa capacité d'enregistrement, ou peut modifier les scripts à la main.
Selenium est distribué sous la licence Apache.
PMD
Version étudiée : 4.2.5
Site Internet de la solution : http://pmd.sourceforge.net
Solution portée par une communauté
PMD, connu également sous le nom de "Project Mess Detector", ou de "Project Meets Deadline" est un outil d'analyse statique de code destiné à détecter les erreurs de programmation les plus courantes.
En utilisant un système de règles extensibles, PMD est capable de détecter les try-catch vides, le code mort, code sur-compliqué, copié-collé de code (grâce au plugin CPD). PMD est également capable de calculer la complexité cyclomatique d'un code, indicateur intéressant dans l'évaluation de la qualité logicielle.
PMD est sous une licence de type BSD.
PMD analyse le code source Java. Il existe un équivalent en PHP (PHPMD, a.k.a. PHP Mess Detector). Les règles peuvent s'écrire à travers des expressions XPath ou des classes Java (ou PHP pour PHPMD).
Autres
Parmi les produits de l’univers Tests et intégration continue, on peut compléter la liste avec les outils ci-dessous :
Nom URL / Site web
Sonar http://www.sonarsource.org
Checkstyles http://checkstyle.sourceforge.net
JUnit http://www.junit.org
PHPUnit https://github.com/sebastianbergmann/phpunit
FindBugs http://findbugs.sourceforge.net
CruseControl http://cruisecontrol.sourceforge.net