Introduction.

Considérons un problème qui peut être résolu par un algorithme récursif de la famille diviser pour régner qui opère comme suit : on partage une instance de taille "n" en sous-problèmes. Il y a "a" sous-problèmes et chacun est de taille "n/b". on résout ces sous-problèmes puis on recombine les solutions partielles en une solution du problème initial. On peut imaginer cette approche comme la construction d'un arbre, où chaque nœud est un appel récursif, et les enfants sont les instances appelées. Dans le cas décrit ci-dessus, chaque nœud possède "a" enfants. Chaque nœud répartit les données entre ses enfants et récupère les résultats partiels pour les synthétiser et obtenir la solution globale. La répartition des données entre enfants et l'intégration des résultats ont bien entendu également un coût qui, pour un problème de taille "n", est noté par formula_1.  La complexité en temps des algorithmes de cette nature est exprimé par une relation de récurrence de type : On peut développer cette relation, en substituant la définition dans la partie droite de l'équation pour obtenir une expression pour le coût total au cas par cas. Mais une expression comme celle fournie par le « master theorem », permet d'exprimer la complexité asymptotique sans passer par un développement explicite.

Forme générale.

Les relations de récurrence concernées ont la forme suivante :  Dans les applications à l'analyse d'algorithmes récursifs, les paramètres ont la signification suivante :  On peut déterminer des bornes asymptotiques exactes dans trois cas, selon l'importance du surcoût mesuré par la croissance de la fonction formula_1. Pour cela, on exprime sa croissance par l'ordre de grandeur formula_11, où formula_12 mesure le rapport entre formula_6 et formula_14. Ce rapport est exprimé en prenant le logarithme en base formula_15, donc en comparant à formula_16. Les trois cas couverts par le théorème sont :

Énoncé général.

On suppose donnée la relation de récurrence de la forme : où formula_29 est une fonction à valeurs entières positives. Le « master theorem » s'énonce comme suit :  1.- Si formula_17 avec formula_18, alors  2.- Si formula_33 avec formula_21 et une constante formula_35, alors  3.- Si formula_22 avec formula_23 et s'il existe une constante formula_25 telle que, pour formula_5 assez grand, on a : formula_41 (cette condition est appelée parfois la « condition de régularité »), alors on a :

Énoncé avec la notation de Landau.

Supposons la relation de récurrence suivante :  formula_43  Le « master theorem » permet d'obtenir une expression de la complexité de formula_44 comme suit :  1.- Si formula_45 alors formula_46.  2.- Si formula_47 alors formula_48.  3.- Si formula_49 alors formula_50.

Exemples.

Cas 1.

C'est le cas où formula_17 avec formula_18. Le théorème affirme qu'alors formula_32.  Exemple  La relation entre dans ce cas avec formula_55, et l'hypothèse sur formula_12 est bien vérifiée puisque formula_57. Par l'énoncé, on a On peut vérifier directement que, si formula_59, alors

Cas 2.

Dans ce cas, formula_19 pour une constante formula_35 et formula_21. Le théorème affirme qu'alors formula_36.  Exemple  La relation entre dans ce cas avec formula_66. Comme formula_67, on a bien formula_21 et par l'énoncé, on a  À nouveau, la solution exacte de la récurrence (avec formula_59) qui est confirme les conclusions.

Cas 3.

C'est le cas où formula_22 avec formula_23 et où il existe une constante formula_25 telle que, pour formula_5 assez grand, on a formula_41. Le théorème affirme qu'alors on a : formula_42.  Exemple La relation entre dans ce cas avec formula_79. On a bien formula_80 et, en choisissant formula_81, la condition de régularité s'écrit et est bien vérifiée. L'énoncé assure donc que Ici encore, le résultat est confirmé par la solution exacte de la relation de récurrence qui est formula_84, en supposant formula_59.

Équations non couvertes.

Les équations suivantes sont des exemples de relations qui n'entrent pas de le cadre des trois cas du « master theorem » :  Dans le deuxième exemple ci-dessus, la différence entre formula_93 et formula_94 peut être étudiée à l'aide du quotient On voit que formula_96 pour toute constante formula_97. La différence n'est donc pas polynomialement bornée, et le « master theorem » ne s'applique pas.

Extension.

Une forme de récurrence plus générale est  où les nombres formula_99 vérifient formula_100, et formula_101. Ici, on ne suppose donc pas que les sous-problèmes ont la même taille. On étend la fonction T aux nombres réels en posant formula_102 ou formula_103 si formula_104 n'est pas entier.  On a alors l’énoncé suivant. Si formula_105 pour un entier formula_106, alors

Commentaire.

L’énoncé du « master theorem » couvre également des situations comme par exemple la récurrence telle qu'elle se présente dans le tri fusion. Nous avons vu que l’on obtient les mêmes bornes asymptotiques en enlevant simplement les parties entières dans les formules de récurrence. Ainsi, la formule pour le tri fusion est équivalente à celle de la table.

En informatique, et plus particulièrement en analyse de la complexité des algorithmes, le master theorem ou théorème sur les récurrences de partition permet d'obtenir une solution en termes asymptotiques (en utilisant les notations en O) pour des relations de récurrence d'un certain type rencontrées dans l'analyse de complexité d'algorithmes qui sont régis par le paradigme diviser pour régner.

Master theorem (často také "Kuchařková věta" nebo "Mistrovská metoda"), což je speciální případ Akra-Bazzi theoremu, poskytuje při analýze složitosti algoritmů kuchařkové řešení asymptotické složitosti pro často používané rekurentní vztahy. Byl popularizován knihou "Introduction to Algorithms" napsanou Cormenem, Leisersonem, Rivestem a Steinem, kde je uveden a dokázán v sekcích 4.3 a 4.4.


Définition.

- Jean-Pierre Dufreigne.  De l'hallucinose, on peut parler de « pseudo-hallucination ». Le patient reste critique quant à la réalité de la perception expérimentée. Les syndromes de Charles Bonnet (hallucinose de l'aveugle), ou l'hallucinose des buveurs, ou les crises d'épilepsie temporale, en sont des exemples. Les mécanismes généraux de l'hallucinose sont :  L'hallucinose n'est pas une hallucination, interprétation délirante, où la personne attribue un sens à tendance délirante à ses perceptions "(par exemple, la vision du simple fanal d'un phare qui sera interprété comme la venue d'un être céleste demandant de commettre une action particulière)". Et l'hallucinose est encore plus éloignée de la psychose qui réside dans le rejet de la réalité extérieure sur le modèle de l'hallucination, avec en plus un délire psychiatrique.  L'hallucinose est essentiellement liée à un phénomène d'illusion. Une illusion auditive, ou une illusion sonore, est la conséquence d'une impression selon laquelle un son est perçu, tandis qu'il n'est pas émis (ou qu’il est perçu différemment de la manière dont il est émis).

Hallucinoses visuelles.

L'hallucinose visuelle est une perception sans objet, assez proche de l’hallucination visuelle, mais moins grave, car généralement sans conséquence sur la santé du patient.  Les patients atteints du syndrome de Charles Bonnet sont des aveugles atteints d'hallucinoses. Bien que non-voyant total, le patient pourra "voir" des couleurs vives, des animaux, des figures humaines dans un cadre spectaculaire, etc

Hallucinoses auditives.

L'hallucinose auditive est quasi similaire en mécanismes à l'hallucinose visuelle. Elle implique le système auditif et l’ouïe. Elle est une pseudo-hallucination auditive sans trouble de la conscience, ni participation affective du sujet.  La paracousie, si elle est intense, est considérée comme une hallucination auditive ou hallucination sonore. Pour exemples, ce sont des patients qui entendent leurs propres pensées à haute voix, ou des patients qui perçoivent une ou plusieurs voix n'existant pas, ou des patients qui entendent une ou plusieurs voix lui dicter ses actions. Ces patients sont certains de la réalité de leur perception. Et ces patients montrent une activité cérébrale élevée impliquant notamment l'hypothalamus, et les régions para-limbiques.

Hallucinoses tactiles.

Le toucher chez l'homme est le sens le plus fondamental. Il apparaît vers le troisième mois de la vie utérine : la peau tactile est le premier-né des organes humains et le plus sensible. Cette sensibilité de toucher peut se dérégler et constituer une hallucinose tactile.

Hallucinoses provoquées par un hallucinogène.

Hallucinose alcoolique.

L'hallucinose alcoolique, dite aussi "hallucinose des buveurs", décrit un état hallucinatoire aigu sans trouble confusionnel, avec un automatisme mental chez la personne souffrant d'alcoolisme chronique survenant dans les 12 à 24 heures après sevrage.  L'hallucinose alcoolique, décrite par Carl Wernicke, survient approximativement chez 20 % des alcooliques hospitalisés. Elle ne menace pas réellement la vie du patient. En revanche, le delirium tremens, un trouble neurologique qui est différent de l'hallucinose alcoolique, survient chez 5 à 10 % des alcooliques. Il cause à 15 % une mortalité avec traitement aux benzodiazépines, et à 35 % sans aucun traitement médical.  Si la dose d'alcool est très importante, l'hallucinose alcoolique du début peut s'amplifier jusqu'à devenir une hallucination acoustico-verbale, au contenu persécutif, ou vécu comme tel. L'hallucination alcoolique ne sera plus critiquée par le patient. Cet état hallucinatoire s'accompagnera alors d'anxiété et d'agressivité. Et bien qu'en général il soit de courte durée, il peut parfois se prolonger, voire se chroniciser.

Hallucinoses par substance hallucinogène.

Des substances hallucinogènes peuvent provoquer des hallucinoses temporaires :  La prise d’hallucinogènes peut provoquer des impressions de flashbacks. La littérature médicale les nomme aujourd'hui : HPPD, pour "Hallucinogenic persisting perception disorder" (troubles persistants de la perception par hallucinogène). Les recherches montrent que parmi ces HPPD après prise d'hallucinogène : 9 % des cas sont des hallucinoses auditives. Et parmi les types de distorsions visuelles, après prise d'hallucinogène : 58,6 % sont des hallucinoses géométriques.

Hypothèse d'hallucinose par champ magnétique.

Les adeptes du scepticisme scientifique proposent avec l'hypothèse du champ magnétique, une explication rationnelle aux perceptions de phénomènes paranormaux; par exemple, les visions mystiques ou les observations liées aux objets volants non identifiés (ovnis).  Pendant une crise d'épilepsie temporale, les neurones de la zone temporale sont très instables. Le relevé d'électro-encéphalogrammes est particulièrement "haché" (pics très hauts et très rapprochés). Le patient en crise va alors décrire des illusions visuelles et auditives particulièrement réalistes. Les perceptions sont vécues avec un réalisme si saisissant, que l'on y voit une sorte de "rêve-éveillé".  Un champ magnétique de forte intensité pourrait provoquer cette instabilité du lobe temporal du cerveau et déclencherait ainsi chez le sujet, des hallucinoses, voire des hallucinations individuelles ou même collectives.

Une hallucinose est, en psychopathologie, un phénomène hallucinatoire léger "(une fausse hallucination)", constaté et critiqué par le patient. Ce phénomène est consécutif à une illusion ; c'est-à-dire la déformation de perception d’un objet. L'hallucinose est due à une mauvaise information reçue d'un objet extérieur existant. Elle peut « toucher » l'un de nos cinq sens humains communs (vue, ouïe, toucher, odorat, goût), ou même plusieurs sens à la fois.

Pseudohalucinace je klamný vjem vzniklý bez reálného podnětu v bdělém stavu. Na rozdíl od halucinace si je postižený při pseudohalucinaci po celou dobu trvání vjemu vědom, že jde o klam, neodpovídající vnější realitě.


Le texte.

En français.

Je T'adore dévotement, Dieu caché, Qui, sous ces apparences, vraiment prends corps, À Toi, mon cœur tout entier se soumet Parce qu'à Te contempler, tout entier il s'abandonne.  La vue, le goût, le toucher, en Toi font ici défaut, Mais T'écouter seulement fonde la certitude de Foi. Je crois tout ce qu'a dit le Fils de Dieu, Il n'est rien de plus vrai que cette Parole de Vérité.  Sur la Croix se cachait Ta seule Divinité, Mais ici, en même temps, se cache aussi Ton Humanité. Toutes les deux, cependant, je les crois et les confesse, Je demande ce qu'a demandé le larron pénitent.  Tes plaies, tel Thomas, moi je ne les vois pas, Mon Dieu, cependant, Tu l'es, je le confesse, Fais que, toujours davantage, en Toi je croie, Je place mon Espérance, je T'aime.  Ô Mémorial de la mort du Seigneur, Pain vivant qui procure la Vie à l'homme, Procure à mon esprit de vivre de Toi Et de toujours savourer Ta douceur.  Pieux pélican, Jésus mon Seigneur, Moi qui suis impur, purifie-moi par Ton Sang Dont une seule goutte aurait suffi à sauver Le monde entier de toute faute.  Jésus, que sous un voile, à présent, je regarde, Je T'en prie, que se réalise ce dont j'ai tant soif, Te contempler, la face dévoilée, Que je sois bienheureux, à la vue de Ta Gloire

En latin.

Adóro te devóte, látens Déitas, Quæ sub his figúris, vere látitas: Tibi se cor meum totum súbjicit, Quia, te contémplans, totum déficit.  Visus, tactus, gustus, in te fállitur, Sed audítu solo tuto créditur: Credo quidquid díxit Dei Fílius; Nil hoc verbo veritátis vérius.  In cruce latébat sola Déitas, At hic látet simul et humánitas: Ambo támen crédens átque cónfitens, Peto quod petívit latro pœnitens.  Plagas, sicut Thomas, non intúeor, Deum támen meum te confíteor. Fac me tibi sémper mágis crédere, In te spem habére, te dilígere.  O memoriále mortis Dómini, Panis vivus, vitam præstans hómini, Præsta meæ menti de te vívere, Et te illi semper dulce sápere.  Pie pellicáne, Jesu Dómine, Me immúndum munda tuo sánguine, Cujus una stilla salvum fácere, Totum mundum quit ab ómni scélere.  Jesu, quem velátum nunc aspício, Oro fíat illud, quod tam sítio: Ut, te reveláta cernens fácie, Visu sim beátus tuæ glóriæ. Amen.

En français (chantable).

1. Je T'adore agenouillé(e), Ta divinité, qui sous ces figures vraiment est voilée: mon cœur se soumet à Toi, en Te contemplant, grâce à Ta présence dans ce sacrement. 2. La vue, le toucher, le goût se méprennent en Toi, seule l'ouïe est fiable, pour trouver la foi. Je crois Ta parole, c'est la vérité, car Tu es le Fils de Dieu et rien n'est plus vrai. 3. Sur la croix était cachée Ta divinité, mais ici se cache aussi Ton humanité. Toutes les deux en croyant et en confessant, je Te supplie comme le larron pénitent. 4. Tes plaies, comme Thomas, je ne les vois pas, je confesse cependant, Seigneur, Dieu, c'est Toi! Fais moi davantage croire en Toi, toujours! En Toi est mon seul salut, ma foi, mon amour. 5. O mémorial d'amour, Sacrifice de Dieu, Pain vivant pour l'homme, Pain du haut des cieux. Que mon âme vive, de Toi, mon Sauveur, et qu'elle savoure toujours Ta douceur. 6. Jésus toi, mon Seigneur, le pieux pélican, purifie en moi l'impur, par Ton précieux sang, dont la moindre goutte suffit à sauver, de toutes les fautes, notre monde entier. 7. Jésus, sous un voile je Te vois ici, que Tu réalises mon vœu je t'en prie: Que je voie Ta gloire révélée enfin, le bonheur de cette vue est mon seul destin!

L’Adoro Te devote (littéralement « Je T'adore ») est une des cinq hymnes eucharistiques que l'on pense avoir été écrit par Saint Thomas d'Aquin, à l'occasion de l'introduction de la solennité du Corpus Domini (Fête-Dieu) en 1264, sur commission du pape Urbain IV. L'attribution n'est pas sûre puisque les premiers témoignages d'une telle paternité littéraire remontent à cinquante ans après de la mort du Docteur.

Adoro te devote, česky Klaním se ti vroucně, je jeden z pěti hymnů, které byly složeny svatým Tomášem Akvinským při příležitosti zavedení svátku Božího těla papežem Urbanem IV. v roce 1264. Hymnus je po staletí součástí Římského misálu a v Katechismu katolické církve je zakotven jako text k osvojení, je to také kancionálová píseň (nápěv pochází z Francie 17.-18. století). Je spojen s částečnými odpustky. V jednotném kancionále je označena číslem 712. Na Slovensku je známa jako "Klaniam sa ti vrúcne" (v Jednotném katolickém zpěvníku má číslo 270).


Syndrome d'insularité.

Il résulte de divers ajustements écologiques (habitat d'une superficie restreinte, peu de ressources), de l'isolement (peu de brassage génétique) et des stratégies adaptatives qui en découlent. Suivant leur situation insulaire, les peuplements présentent différentes manifestations de ce syndrome. Les conséquences de ce syndrome sont relativement faibles pour les espèces ayant un haut potentiel de dispersion, comme certaines plantes, certains reptiles (tortues, lézards) ou les oiseaux. À l'inverse, elles sont plus importantes chez les espèces ayant un faible potentiel de dispersion comme les amphibiens, les serpents, les poissons d'eau douce et les mammifères.

Les manifestations du syndrome d'insularité.

Uniformisation des tailles.

Gigantisme insulaire.

Dans le cas du gigantisme insulaire, la nouvelle espèce est nettement plus grande que son ancêtre continental : cela est généralement expliqué par l'absence de certains de ses prédateurs dans son environnement isolé.  Parmi les cas de gigantisme, on peut citer "Leithia melitensis", rongeur de Malte, proche du loir commun mais dont le crâne était quatre fois plus long, "Amblyrhiza inundata", qui est une espèce éteinte de rongeur géant endémique du banc d'Anguille dans les Petites Antilles qui pesait entre 50 et, ou encore le stégodon, éléphant géant de l'île de Florès.  On peut citer, pour la période actuelle, les tortues géantes et le dragon de Komodo.

Nanisme insulaire.

Dans le cas du nanisme insulaire, la nouvelle espèce est plus petite que son ancêtre continental ; plusieurs facteurs expliquent le renouvellement naturel de la biodiversité insulaire dans ce sens : absence de certains prédateurs (grands carnivores) qui a pour conséquence une diminution des structures permettant la défense (réduction des moyens de fuite, acquisition d'une petite taille), rareté des ressources alimentaires (difficulté pour un grand animal de trouver suffisamment de nourriture). Les mécanismes de cette évolution en milieu insulaire font généralement appel à deux modèles de génétique des populations, l'effet fondateur et la dérive génétique.  Parmi les cas de nanisme, on peut citer le cas de l’éléphant nain de Sicile, dont les crânes fossilisés sont peut-être à l'origine de la légende du Cyclope, de l’"Homo floresiensis", probablement issu de l’"Homo erectus", sur l'île de Florès, ou encore les mammouths nains de l'île Wrangel ou les mammouths nains des îles de Californie.  Il existe aussi des exemples d'espèces non éteintes, tel le paresseux nain sur l'île Escudo de Veraguas ou le caméléon "Brookesia micra" de l'île malgache Nosy Hara.

Compatibilité entre nanisme et gigantisme.

Le grand public s'étonne parfois de voir cohabiter deux cas aussi opposés d'évolution sous la pression d'un même environnement (l'insularité). Les scientifiques concernés considèrent que la compatibilité est assurée par la manière différente dont l'environnement fait pression sur des espèces de taille différente au départ. Ainsi, ils considèrent que le nanisme s'applique à des espèces généralement plus grandes qu'un chien moyen et que le gigantisme touche surtout des espèces plus petites que cette taille. Cela expliquerait la présence simultanée de cas de nanisme, comme l’"Homo floresiensis", et de gigantisme, comme le stégodon et le rat "Papagomys", dans l'île de Florès.

Le cas particulier des espèces introduites.

L'Homme est responsable de l'introduction volontaire ou involontaire d'un très grand nombre d'espèces dans les îles. Or, ces dernières (comme les lacs) sont particulièrement vulnérables aux espèces exotiques envahissantes Selon D. Zarzoso-Lacoste (2013) "".

Richesse spécifique.

Pour une surface égale, il y a toujours plus d'espèces sur le continent que sur une île, donc plus la surface est élevée, plus le nombre d'espèces est grand.

Amplitude écologique.

Les espèces insulaires occupent une plus large gamme d'habitats que sur le continent. Ceci est surement provoqué par des contraintes de prédation et de compétition plus fortes sur le continent.

Densité.

Les densités de population sont plus élevées sur les îles que sur des zones semblables sur le continent.

Sédentarité.

Les espèces insulaires ont un pouvoir de dispersion plus faible que celles qui occupent des espaces équivalents sur le continent.

L' caractérise la modification spécifique de certaines espèces endémiques, isolées sur des îles (domaine géographique à échanges extérieurs limités - dispersion faible) qui peuvent être océaniques ou continentales.

Ostrovní nanismus je stav, k němuž dochází, když u populace původně velkých živočichů (téměř vždy savců) dojde v průběhu vývoje k jejich zmenšení, protože jejich genofond byl omezen na velmi malou oblast, většinou ostrov. Tento jev byl zaznamenán u celé řady zvířat, včetně dinosaurů (např. "Europasaurus") a moderních živočichů (např. slonů).


Historique.

Arimaa a été inventé par Omar Syed, un ingénieur en informatique spécialisé dans l'intelligence artificielle.  En réaction à la défaite du champion du monde d'échecs Garry Kasparov face au programme d'IBM, Omar Syed entreprit de concevoir un nouveau jeu :  Le nom "Arimaa" vient de "Aamir" à l'envers, avec ajout d'un « a » initial.  En 2002, Omar Syed publia les règles d'Arimaa et les fait breveter en 2003, et le nom "Arimaa" devient une marque déposée (Voir Brevet ci-dessous).  Il met en place un défi, l’"Arimaa Challenge". Un prix de serait disponible chaque année jusqu'en 2020 pour récompenser le premier programme, tournant sur un ordinateur de consommation courante, capable de battre un joueur humain de haut niveau dans un match de six parties ou plus.  En 2015, le défi est remporté par David Wu, avec son programme "Sharp".

Règles du jeu.

Le plateau.

Arimaa se joue sur un échiquier dont quatre cases sont des pièges, ou trappes. Il s'agit des cases c3, f3, c6 et f6 en notation algébrique. Les couleurs des cases de l'échiquier n'ont pas d'incidence.  Le plateau présenté ci-contre est conçu spécifiquement pour Arimaa, avec les cases-pièges démarquées par une couleur différente.

Les pièces.

Les deux joueurs, Or et Argent (métaux équivalents à Blanc et Noir aux échecs), possèdent chacun seize pièces. De la plus forte à la plus faible, ce sont :  Lorsqu'on utilise un jeu d'échecs pour jouer à Arimaa, les pièces peuvent être représentées par, respectivement, le roi, la dame, les tours, les fous, les cavaliers, et les pions, si l'on veut respecter la valeur attribuée aux pièces des échecs, mais il est probablement plus facile de représenter les chevaux par les cavaliers.

La mise en place.

La partie commence avec un plateau vide. Or dispose librement ses pièces sur les, puis Argent dispose librement ses pièces sur les. Le diagramme ci-contre illustre une disposition possible.

Le but du jeu.

Le but du jeu est d'amener un lapin de sa propre couleur de l'autre côté de l'échiquier : Or gagne en amenant un lapin or sur la, et Argent gagne en amenant un lapin argent sur la. Comme il est difficile pour un lapin, pièce la plus faible du jeu, de se faufiler entre les lignes adverses, l'objectif intermédiaire principal est de capturer des pièces adverses en les poussant ou les tirant dans les cases-pièges. Les autres objectifs intermédiaires sont de figer les pièces adverses et de protéger les siennes.

Le déplacement des pièces.

Une fois les pièces disposées sur le plateau, les joueurs jouent en alternance, à commencer par Or. Chaque tour consiste à effectuer de un à quatre pas. À chaque pas, une pièce du joueur peut se déplacer sur une case adjacente vide, vers la droite, vers la gauche, en avant ou en arrière. Les lapins, cependant, ne peuvent pas reculer. Les pas d'un tour peuvent être effectués par la même pièce, ou être répartis entre plusieurs pièces dans n'importe quel ordre.  Un tour doit provoquer un changement dans la disposition du plateau ; on ne peut donc pas, par exemple, se contenter d'avancer puis de reculer une même pièce et de terminer le tour, ce qui reviendrait à passer son tour.  Le deuxième diagramme, tiré de la même partie que la position initiale plus haut, aidera à illustrer les règles suivantes.

Déloger des pièces adverses.

Un joueur peut utiliser deux pas de son tour pour déloger une pièce adverse avec une de ses propres pièces, si sa pièce est plus forte et qu'elle est adjacente à la pièce adverse (à droite, à gauche, au-dessus ou en dessous, pas en diagonale).  Par exemple, un chien peut déloger un lapin ou un chat adverse, mais pas un autre chien, ou un cheval, chameau ou éléphant. La pièce la plus forte peut pousser ou tirer la pièce plus faible.  On ne peut pas déloger ses propres pièces. Il est également impossible de pousser et de tirer simultanément. Ainsi, l'éléphant or en d3 ne peut pas simultanément pousser le lapin argent de d2 à e2 et tirer l'autre lapin argent de c3 à d3. Un éléphant ne peut jamais être délogé, puisqu'il n'existe pas de pièce plus forte.

Geler une pièce adverse.

Une pièce adjacente à une pièce adverse plus forte est gelée, sauf si elle est aussi adjacente à une pièce de même couleur. Une pièce gelée ne peut pas se déplacer, mais peut être délogée par une pièce adverse. Une pièce gelée reste capable de geler une autre pièce plus faible qu'elle.  Le lapin argent en a7 est gelé, mais celui en d2 peut se déplacer car il est adjacent à une pièce argent. De la même façon, le lapin or en b7 est gelé, mais le chat or en c1 ne l'est pas. Les chiens en a6 et b6 ne se gèlent pas l'un l'autre, car ils sont de même force.  Un éléphant ne peut pas être gelé, puisqu'il n'existe pas de pièce plus forte, mais un éléphant peut se retrouver bloqué (voir "").

Capture.

Une pièce qui se déplace sur une case-piège est capturée, retirée du plateau, sauf si elle se trouve une pièce amie adjacente. Argent, si c'est son tour, peut capturer le cheval or en d6 en le poussant en c6 avec l'éléphant en d5.  Si une pièce se trouve sur une case-piège et que toutes les pièces amies adjacentes quittent les parages, cette pièce est capturée également. Ainsi, si le lapin argent en c4 et le cheval argent en c2 s'éloignent, volontairement ou délogés par l'adversaire, le lapin argent en c3 sera capturé.  Une pièce peut se déplacer volontairement sur une case-piège et se retrouver capturée. Le deuxième pas d'une manœuvre de traction peut être effectué même si la pièce opérant la manœuvre est capturée au premier pas. Par exemple, Argent peut déplacer le lapin argent de f4 en g4, puis le cheval argent de f2 en f3, ce qui provoque sa capture, et tirer le lapin or de f1 en f2 dans la foulée du mouvement du cheval.  Dans la position du diagramme, Or peut gagner la partie en trois pas si c'est son tour : le chien en a6 peut pousser le lapin de a7 en a8, à la suite de quoi le chien se retrouve en a7, dégèle le lapin en b7, qui peut faire un pas en b8, atteignant la rangée de la victoire.

Autres conditions de fin de jeu.

En plus d'amener un lapin à la rangée finale, il existe d'autres manières de terminer une partie. (Leur fréquence est indiquée entre parenthèses)  Si un lapin adverse est délogé vers sa rangée de victoire puis délogé à nouveau hors de cette rangée au cours du même tour, le jeu continue.

Stratégie et tactique.

Tactique de base.

Capturer, ou geler les pièces adverses, tout en conservant la mobilité des nôtres.

Stratégie de base.

Dégager un chemin, prendre l’avantage matériel.

Intelligence artificielle.

L'explosion combinatoire rend toute recherche exhaustive inapplicable : en pratique les ordinateurs peuvent explorer les coups possibles sur une profondeur de. Ils frôlent parfois une profondeur de sur une petite série de combinaisons.  La mise en place d'une heuristique est très difficile, car la mobilité, la protection et le matériel ne suffisent pas à estimer la valeur d'une position.

Brevet.

Le brevet a été déposé le et accordé le. Omar Syed a également déposé la marque « Arimaa ».  L'inventeur a déclaré que son but n'est pas de restreindre l'usage non-commercial du jeu. Il fournit une licence nommée "" dans l'intention que le jeu soit autant que possible du domaine public tout en protégeant son usage commercial.

Arimaa est un jeu de société de type stratégique abstrait. Même si les règles de ce jeu sont simples, sa nature en fait un défi pour les techniques traditionnelles utilisées par les programmes d'ordinateur.

Arimaa je desková strategická hra pro dva hráče, kterou je možné hrát se stejnými figurkami a hrací deskou jako šachy. Arimaa je pro umělou inteligenci náročnější než hra šachy.


Description.

L'aspect change d'une espèce à l'autre, mais en général elles se caractérisent par une rosette de feuilles épaisses, mais souples, car très charnues, plus ou moins allongées et, pour certaines espèces, dentelées sur les bords. Le port, donc, varie :  Les fleurs d'une taille de en moyenne, se regroupent de manière dense sur de grandes hampes florales, mesurant parfois plus d'un mètre. Leurs couleurs varient (rouges, orange ou jaunes) et certaines espèces présentent les trois au cours de leur floraison. Les inflorescences peuvent être coniques ("A. arborescens", "A. maculata"), cylindriques ("A. broomii", "A. suzannae") ou globulaires ("A. striata", "A. capitata", "A. helenae"). Contrairement aux agaves, avec lesquels les néophytes les confondent souvent, les aloès ne meurent pas après avoir fleuri.

Répartition.

Les Aloès poussent dans les savanes sèches et les déserts. Ils sont principalement répandus en Afrique du Sud et à Madagascar, où l'on rencontre respectivement 121 et 77 espèces de ces plantes. La Namibie et le Kenya comptent une vingtaine d'espèces environ. Le reste des aloès est répandu dans les zones arides d'Afrique et de la Péninsule arabique.

Utilisation.

Le suc épaissi, obtenu des feuilles incisées, s'utilise pour son effet laxatif et cholagogue. Le gel extrait des feuilles d’"Aloe vera" peut également soulager les douleurs cutanées et accélérer la guérison lorsqu'il est appliqué sur les plaies ou les brûlures.

Culture.

La plupart des aloès se présentent comme des végétaux de culture facile. Un certain nombre de ces plantes peut pousser dans le sud de l'Europe sans problème. On pourrait classer les aloès en trois catégories par rapport à leurs exigences climatiques :  Plus généralement, les aloès demandent une grande exposition au Soleil, la plupart l'affectionnant en plein. Ils ont besoin d'un terrain à la fois riche et poreux : un mélange pour 1/3 de terre de jardin, 1/3 de sable grossier, 1/3 de terreau bien décomposé. La plupart des aloès préfèrent ne pas être exposés à des températures négatives : il est donc nécessaire de les planter en pot pour pouvoir les mettre sous abri l'hiver. Mais de nombreuses espèces vivent dehors dans le sud de la France, même en période hivernale ("Aloe maculata", "Aloe ciliaris", "Aloe arborescens" ou encore "Aloe alooides". L'aloès demande des arrosages copieux l'été et faibles, voire nuls l'hiver. On peut multiplier les aloès de différentes manières :

Consommation.

La chair de l'intérieur des feuilles de l’"Aloe vera" est consommée dans les pays d'Asie, souvent comme un dessert. Le produit se présente alors sous la forme de cubes gélatineux de de côté parcourus de veinules vertes, accompagnés par exemple d'un sirop léger de lychees. La chair de l'aloès se compare à la celle du raisin.

Taxonomie.

Dans le passé, "Aloes" a appartenu à la famille des "Aloaceae" et "Liliaceae". Mais depuis 2003, le genre est rattaché à la filiation des "Asphodelaceae".  Les genres "Gasteria", "Haworthia" et "Kniphofia possédant" des modes de croissance semblables sont parfois inclus à tort parmi les "Aloes".  L'espèce « American aloe » ("Agave americana"), appartient à la famille des Agavaceae, bien distincte des "Aloes".  Le genre Aloe compte 993 espèces acceptées  Depuis 2013, un certain nombre d’"Aloe" ont été reclassés dans le nouveau genre "Aloidendron" du fait de différences génétiques avec le genre. Depuis 2017 les espèces d’"Aloe" suivantes sont donc devenues des espèces du genre "Aloidendron" dans la classification APG III  "Aloe plicatilis" et "Aloe haemanthifolia" ont eux été reclassés dans le nouveau genre "Kumara".

Aloe est un genre de plantes succulentes, les aloès, originaires principalement d'Afrique et de Madagascar, tandis que certaines espèces proviennent d'Arabie et d'Inde.

Aloe je rod jednoděložných rostlin z čeledi asfodelovité. Aloe jsou suchomilné, sukulentní rostliny. Je známo více než 500 druhů, původně v subtropické Africe. Šťávy některých druhů se používá v lékařství. Jako okrasné se pěstují "Aloe variegata" a "Aloe arborescens". "Aloe perfoliata" poskytuje z listů textilní surovinu - mauricijské konopí. Nejznámějším zástupcem je aloe pravá ("Aloe vera").


Origines et formation.

Né dans une famille bosniaque chrétienne hérétique de Bosnie (Soko en serbo-croate signifie : faucon), il fut éduqué au monastère de Mileševa où son oncle était moine. Victime de la pratique ottomane du devchirmé vers l'âge tardif de seize à dix-huit ans, il fut conduit à Edirne, converti à l'islam et devint janissaire.

Carrière.

Vers 1541 il monta en grade et nommé "Kapıcıbaşı". En 1546, après la mort de Khayr ad-Din Barberousse, grand amiral de l'Empire ottoman, il fut promu capitan pacha de la flotte ottomane.  En 1549 il devint gouverneur-général (beylerbey) de Roumélie (la partie européenne de l'Empire ottoman).  Pendant la guerre contre la monarchie des Habsbourg en 1551, il mena l'armée ottomane en tant que commandant en chef. Pour ses succès militaires dans la partie orientale de l'Empire et en Perse, il fut promu en 1555 troisième vizir. En 1561, il devint le deuxième vizir puis quatre ans plus tard, le, grand vizir.  Durant sa dernière entreprise militaire contre les Habsbourg, le sultan Soliman le Magnifique mourut le durant le siège de Szigetvár en Hongrie. Deux jours plus tard, Mehmet Pacha dirigea l'assaut ultime et remporta la bataille ; avec l'aide de l'écuyer impérial Jafar Bey et du scribe Feridun. Dans des circonstances très difficiles, il garda la mort du Sultan secrète pendant trois semaines, le temps d'envoyer un messager au futur Sultan, son beau-père Sélim II, lui demandant de se rendre immédiatement à Belgrade. Sélim II arriva à Belgrade après une quinzaine de jours. C'est alors seulement, que Mehmet Pacha annonça à l'armée que le sultan Soliman le Magnifique était mort, et que Sélim II était le nouveau sultan.  En cette époque le pouvoir de Mehmet Pacha était tellement important que, pour le diplomate autrichien, historien et fondateur des études ottomanes européennes modernes, Joseph von Hammer, il était plus juste de parler du « règne du grand vizir Sokollu » que du « règne de Sélim II ». Il meurt en 1579 assassiné par un musulman fanatique désirant venger la mort d'Hamza Bâlî.

Réalisations.

Sokollu Mehmet Pacha fit plusieurs dons et wakoufs sur l'ensemble du territoire de l'Empire. Il édifia la mosquée dans son village natal ainsi que plusieurs ponts en Bosnie-Herzégovine dont le pont Arslanagic à Trebinje, le pont de Zepa, le pont « Kozija Cuprija » à Sarajevo et le pont Mehmed Pacha Sokolović de Višegrad, rendu célèbre par le roman du prix Nobel yougoslave Ivo Andrić, "Le Pont sur la Drina", en 1945.  Sokollu Mehmet Pacha n'a jamais édifié d'important établissement chrétien en Bosnie, mais à la mort de sa mère, il lui fit construire une église orthodoxe où il déposa son corps. Cependant, en 1557, il influença la décision du sultan de rétablir le, dont son cousin Makarije Sokolović prit la tête.  Mehmet Pacha était calme et pacifique dans les affaires externes ; il préférait les mouvements stratégiques aux brutaux ; il ne conquit que des lieux stratégiques comme Chypre et l'île de Rhodes ; il commença également de grands travaux sur le canal de Suez et les canaux Don-Volga.

Sokollu Mehmet Pacha ("Mehmed-paša Sokolović" en bosnien et serbe latin, "Мехмед-паша Соколовић" en serbe cyrillique, "Sokollu Mehmet Paşa" en turc), né vers 1505 ou 1506 à Sokolovići, près de Rudo (Bosnie-Herzégovine), mort le à Constantinople (Empire ottoman), fut le grand vizir de Soliman le Magnifique, de Sélim II et de Mourad III de 1565 à 1579.

Mehmed Paša Sokolović ( Sokollu Mehmet Paşa, zhruba 1505 — 11. října 1579) byl velký vezír a janičář v Osmanské říši, a to za vlády celkem tří sultánů.


Caractéristiques principales.

Au contraire d'autres techniques de radio-identification ou du bluetooth dont la portée est d'une dizaine de mètres, la technique CCP n'est utilisable que sur de très courtes distances (quelques centimètres). Elle suppose une démarche volontaire de l'utilisateur et normalement ne peut pas être utilisée à son insu. Mais cela n'exclut pas la collecte des données CCP par le système lui-même, qui reste capable de conserver l'historique des usages de l'utilisateur utilisant cette technique de communication. En mai 2010, à l'occasion d'un test des services sans contacts déployés à Nice, la Commission nationale informatique et liberté a énoncé les grands principes pour que les services sans contact respectent les règles françaises en matière de protection des données personnelles.

Normes liées à la CCP.

Des organismes autre que l'ISO/CEI, tels que l'ECMA ou l'ETSI, ont également normé des usages ou techniques basées sur la CCP.

Forum NFC.

Le Forum NFC est un consortium international créé pour promouvoir la technologie CCP par Sony et Philips (aujourd’hui NXP Semiconductors) en 2004. Il a été rejoint notamment par Nokia, Samsung, Panasonic, et compte début 2012.  Sony et Philips-NXP travaillent ensemble sur cette technologie depuis 2002, et ont chacun développé leur propre carte CCP : respectivement FeliCa et Mifare.

Usages.

La CCP autorise de nombreux usages, certains se situent directement dans la continuité des cartes sans contact (billettique, paiement, accès...), d'autres sont fondés sur l'interaction de l'individu avec son environnement : objets, personnes...

Exemples d'usages.

En 2012, les services CCP commencent à voir le jour un peu partout dans le monde et notamment en Corée, en France et en Turquie. Quelques exemples d'usages :  En 2016, le nombre de cartes de paiement sans contact est estimé à 31,5 millions en France, sans que les utilisateurs n'en soient toujours conscients.  En 2017, Wax Tailor réalise By Any Remixes Necessary, premier vinyle au monde équipé d'une puce NFC.

Sécurité.

Le paiement sans contact basé sur la CCP est d'une grande facilité d'usage, ce qui n'est pas toujours compatible avec une sécurité efficace. Début 2016, des hackers allemands du Chaos Computer Club ont présenté des failles dans les protocoles de communications. La plus importante concerne le protocole utilisé (principalement en Allemagne) entre la carte et le terminal de paiement sans contact. Elle est due à une mauvaise implémentation du code d'authentification du message. Une personne mal intentionnée munie d'un smartphone et d'une application spécifique peut récupérer des informations confidentielles telles que le numéro de la carte bancaire et sa date d'expiration (pas de récupération de nom, cryptogramme ou historique d'opération), à condition de placer le smartphone à quelques centimètres de celle-ci.

Diffusion de la technologie.

La société française AirTag a affirmé avoir lancé le premier trousse de développement logiciel pour NFC en 2008. La diffusion de la CCP passe par des services sans contact nombreux, fonctionnant partout, quel que soit son opérateur, sa banque ou son modèle de terminal CCP :

L’implication de l’État et des collectivités territoriales.

En 2008, le gouvernement français a créé le Forum des services mobiles sans contact (Forum SMSC) pour fédérer les acteurs et préparer un déploiement à grande échelle des services CCP. Un projet pilote a ainsi été élaboré à Nice qui a démarré en mai 2010. Un projet qui a pour particularité d’associer quatre opérateurs mobiles et de reposer sur des mobiles CCP commercialisés (et non prêtés comme lors des précédentes expérimentations) permettant l’accès à plusieurs services (transport, paiement, visite). À la suite de ce projet, le gouvernement a décidé de favoriser le déploiement national des services CCP avec la désignation de 9 territoires leaders du sans contact mobile : Bordeaux en coordination avec Pessac, Caen en coordination avec la Manche, Lille, Marseille, Nice, Paris, Rennes, Strasbourg et Toulouse. Enfin, en mai 2011, dans le cadre du programme des investissements d'avenir, un appel à projets « Déploiement des services mobiles sans contact NFC », doté de 20 millions d'euros a été lancé. Sur la cinquantaine de dossiers déposés par les collectivités locales, 17 ont été présélectionnés fin 2011 : Besançon, Bordeaux, Caen (avec Manche Numérique), Dijon, Grenoble, Lille, Marseille, Mulhouse, Nice, Reims, Rennes, Strasbourg, Toulon, Toulouse et Paris. Les projets des collectivités locales portent sur le paiement, la billettique sur téléphone mobile, la création de parcours touristiques ou encore de services en ville (par exemple, accès à la piscine, à la bibliothèque). Les projets de Caen, Bordeaux, Strasbourg sont avec celui de Nice les plus avancés.

Ailleurs dans le monde.

Aux États-Unis, plusieurs acteurs privés se sont positionnés sur la CCP. Google a lancé en mai 2011 un porte-monnaie électronique baptisé Google Wallet disponible sur téléphone mobile, et notamment le Samsung Galaxy S II et le Nexus S. Le système d’exploitation pour mobiles et tablettes Android, soutenu par la firme américaine, supporte désormais la technologie CCP dans ses versions 2.3 et 2.4. Pour Google, la CCP s’inscrit dans la continuité de sa stratégie visant à proposer aux annonceurs des publicités très ciblées via sa connaissance très fine des achats (et leur localisation) des utilisateurs de son porte-monnaie électronique. Plusieurs expérimentations du Google Wallet sont en cours aux États-Unis, notamment à New York et San Francisco. Google a des partenariats avec Ingenico pour le terminaux de paiement et MasterCard, côté opérateur de carte bancaire. Face à Google, les opérateurs AT&T, Verizon wireless et T-Mobile ont créé Isis), une joint venture pour développer leur propre porte-monnaie électronique CCP. ISIS a passé un accord avec les opérateurs de cartes bancaires (Visa, Master Card, American Express et Discover). Salt Lake City est une des premières villes à expérimenter Isis début 2012.  En Corée du Sud, des projets impliquant la CCP sont en cours depuis 2004 avec une forte implication de l’État qui a pour objectifs de faire de la Corée du Sud un leader de l’Internet des objets et de la ville intelligente. En juin 2011 une quinzaine d’acteurs – organisations gouvernementales, opérateurs mobiles, organismes de crédits, constructeurs de mobiles – ont créé sous l’égide du régulateur des télécommunications coréen, la Korea Communications Commission (KCC), la Grand NFC Korea Alliance pour promouvoir la CCP. En janvier 2012, on dénombrait 5 millions de coréens dotés d’un téléphone CCP, chiffre qui devrait atteindre 20 millions en 2012. De nombreux services utilisant la CCP commencent à être déployés : accès aux transports publics et taxis, paiement sur automate automatiques, information contextuelle, "couponing", etc.

La communication en champ proche (CCP), en (NFC) est une technologie de communication sans fil à courte portée et à haute fréquence, permettant l'échange d'informations entre des périphériques jusqu'à une distance d'environ dans le cas général. Cette technologie est une extension de la norme standardisant les cartes de proximité utilisant la radio-identification (RFID) qui combinent une carte à puce et un lecteur au sein d'un seul périphérique.

Near field communication (NFC) je modulární technologie rádiové bezdrátové komunikace mezi elektronickými zařízeními na velmi krátkou vzdálenost (do 4 cm) s přiblížením přístrojů. Tuto architekturu definuje sada standardů ISO. Současné a předpokládané využití této technologie je především ve výměně klíčových dat při bezkontaktních finančních transakcích a ve zjednodušené konfiguraci spojení rádiových zařízení, jako např. Wi-Fi. S využitím této technologie se počítá ve vzájemné komunikaci jak dvou aktivních přístrojů (např. příslušně vybavených mobilních telefonů), tak aktivních zařízení s pasivními zařízeními (s tzv. tagem, pasivním nenapájeným NFC zařízením) jako čtečka s bezkontaktní platební kartou.


Biographie.

Premières années.

Son père, instituteur, capitaine d'artillerie et ancien combattant de Verdun, le fait inscrire en 1926 à la section des « jeunes du Stahlhelm » (Casque d'acier), organisation nationaliste d'anciens combattant allemands de la première guerre mondiale.

Adhésion au parti nazi.

Helmut Knochen adhère au NSDAP, en 1932 (ou 1933 ) puis il entre à la SA en 1933.  Il fait en 1935 des études en histoire et en anglais aux universités de Leipzig et de Göttingen (où il se lie d'amitié avec Jean-Philippe Larrose, un des futurs acteurs français de la collaboration à Bordeaux). Il obtient un doctorat en philosophie, avec une thèse sur le dramaturge anglais George Coleman. Il occupe les fonctions de professeur et de journaliste. Il entre comme rédacteur dans un journal local.  Il rejoint les SS en 1936 puis suit les Jeux olympiques d'été de 1936. Il fait alors la connaissance du docteur Franz Six, responsable du service de presse de Reinhard Heydrich. Il se marie.  Il devient officier SS en 1937 puis il est envoyé à Paris pour effectuer un reportage sur l’Exposition universelle ; à son retour à Berlin, il commence une activité de renseignement en entrant dans le service central de sécurité (SD) en 1938. Promu au rang de lieutenant SS, il y dépouille les journaux, notamment les articles rédigés par les émigrés allemands en France, en Belgique et aux Pays-Bas. Il élabore des synthèses, très remarquées.  Dans la nuit du au, à la suite d’un attentat raté contre Hitler à Munich qui avait été organisé par Georg Elser, il capture deux agents britanniques du MI6 à la frontière germano-néerlandaise et les ramène en Allemagne. Pour ce coup d'éclat, l'incident de Venlo, Hitler lui remet personnellement la croix de fer de et.

Occupation de la France.

Le, il dirige un commando spécial l’"Einsatzkommando Frankreich" d'une vingtaine d'hommes choisis par Heydrich (dont Karl Bömelburg, de la Gestapo), qui entre en France sur les traces de la Wehrmacht et forme l'amorce de ce qui deviendra le puissant "SiPo-SD" en France. Ceux-ci installent leurs bureaux avenue Foch, et s'occupent de la collecte d'informations sur les Français et du traitement des archives tombées entre les mains du SD lors de l'invasion.  Rapidement la Wehrmacht remarque ce groupe non-répertorié par ses services. Convoqué par la GFP, il conclut un accord avec les membres de la GFP. Knochen est nommé commandant en chef de la sécurité interne de Paris, et s'occupe de traquer les ennemis du nazisme (juifs, communistes, francs-maçons, anti-fascistes, réfugiés allemands).  En 1941 il dirige le service « investigation » de l’"Amt VI SD-Ausland" au RSHA. Avec l'accord de Heydrich il fournit des explosifs au groupe collaborateur d'Eugène Deloncle pour commettre des attentats contre des synagogues dans la nuit du au. L'armée d'occupation, débordée, laisse la Gestapo procéder aux perquisitions et aux arrestations. Knochen est promu au grade d’"Obersturmbannführer" à l’âge de trente ans.  En 1942 les pouvoirs de Knochen s'étendent à l'ensemble de la France occupée et à la Belgique, il est promu "Standartenführer" et devient le "Befehlshaber der Sicherheitspolizei und des SD" (commandant de la police de sécurité et du SD) de cette zone. Il est alors sous les ordres directs du SS-"Brigadeführer" Carl Oberg ("HSSPf" pour la France) qui dirige l'ensemble de la SS et des polices de la zone occupée.  Knochen et Oberg sont arrêtés le, ainsi que le contingent SS de Paris, par les conspirateurs Stülpnagel et Boineburg-Lengsfeld, généraux de la Wehrmacht, qui croient à la réussite de l’attentat contre Hitler qui a échoué en Prusse-Orientale. Ils sont relâchés le jour-même.  À cette date, les Alliés parvenus au Mans, Oberg décide de vider les prisons et les camps situés en France pour envoyer les détenus en Allemagne.  De même, le, la retraite en direction de l'est des services allemands d'occupation s'engage. Le lendemain, le SD quitte Paris pour Vittel. Helmut Knochen est convoqué à Berlin au siège du RSHA, alors dirigé par Kaltenbrunner, qui lui lance :.  Knochen est alors affecté à la SS "Leibstandarte Adolf Hitler" dans les unités combattantes de la SS, avec le poste de "Panzergrenadier", sur le terrain militaire de Berreckan près de Prague.  Ensuite, Kaltenbrunner le rappelle à Berlin. À la fin de la guerre, Knochen est fait prisonnier par les troupes américaines.

Après guerre.

Il est jugé en 1946 par un tribunal militaire britannique de Wuppertal pour le meurtre de pilotes britanniques : il est condamné à mort. Il est ensuite extradé en France, le.  En 1954, après une instruction longue et difficile, il comparaît en même temps que Carl Oberg devant le tribunal militaire de Paris en. Le, il est de nouveau condamné à mort pour crimes de guerre, cette fois par les tribunaux français à Paris. Il fait appel de sa peine : le président français Vincent Auriol le gracie.  Le, le président René Coty commue sa peine en « vingt ans de réclusion criminelle ». Par décret du, sa peine est à nouveau commuée en « vingt ans à partir de la date du jugement ».  Le président de Gaulle signe sa libération le, peu de temps avant de signer le traité de coopération franco-allemand le. De retour en Allemagne, il s’installe à Baden-Baden. Ensuite, il déménage pour Hahnenklee puis pour Offenbach-sur-le-Main et exerce le métier de courtier en assurance-retraite à Francfort. Il travaillera aussi pour une compagnie d'assurance à Mülheim an der Ruhr avec Rolf Muehler et Hans Henschk.  Lucien Steinberg réalise en 1972 une interview pour la revue "Historia". À, il accorde une autre interview à.  Il meurt trois ans plus tard à son dernier domicile d’Offenbach-sur-le-Main.

Organisation de la police allemande en France.

La police allemande en France entre 1942 et 1944 est placée sous les ordres :  Sous les ordres d'Oberg, se trouvent :

Helmut Knochen est un SS-"Standartenführer" de la Seconde Guerre mondiale, né le à Magdebourg et mort le à Offenbach-sur-le-Main. Il a été chef de la Police de sûreté (« Sipo ») et du Service de sûreté (« SD ») pour la France et la Belgique, de 1942 à 1944. Il est impliqué dans la politique antisémite de l'occupant, notamment dans les déportations massives de Français juifs vers les camps de concentration nazis, et s'est rendu responsable de l'exécution de plusieurs milliers de résistants français.

Dr. phil. Helmut Knochen (14. březen, 1910 - 4. duben, 2003) byl válečný zločinec a důstojník SS a SD v hodnosti SS-Standartenführer za druhé světové války, kdy působil jako vrchní velitel bezpečnostní policie a SD v Paříži.


Un tombeau mythique.

Le nom de Mazâr-e Charîf ("tombeau du "seigneur" ou "du prince") fait référence au sanctuaire du centre-ville et à sa mosquée, grand monument aux carreaux bleu turquoise, dont les Afghans, chiites ou sunnites, considèrent qu'elle a été élevée sur l'emplacement du tombeau d'Ali. Les historiens s'accordent pourtant à penser que 'Ali a été inhumé à Najaf (Irak).  Chaque Nouvel An afghan ("Nao Rouz"), le, des foules considérables (des dizaines, voire une centaine de milliers de personnes, parmi lesquelles de nombreux chiites) accourent de partout vers Mazâr-e Charîf et s'assemblent sur le parvis de la mosquée pour assister à la "fête de l'élévation du mât" ("Djanda bâla kardân"). Un drapeau, préalablement posé sur le tombeau supposé de 'Ali, est hissé par de pieux musulmans. Pour les pèlerins, le fait de toucher ce drapeau, voire diverses étoffes ayant été posées sur le tombeau, est un porte-bonheur ou permet de conjurer le mauvais sort. Cette manifestation, qui symbolise aussi l'antique arbre de vie, le lien entre le ciel et la terre, donnait lieu à des accidents en raison des mouvements de foule. C'est pourquoi, depuis 1970, le mât est protégé par une enceinte grillagée permettant de le hisser en limitant les risques. Cette fête religieuse s'accompagne d'une fête profane (marché, foires, attractions diverses, etc.), que l'on appelle quelquefois "fête des tulipes" car c'est l'époque où les tulipes sauvages vont éclore dans la steppe.  Les principales langues parlées à Mazâr-e Charîf sont le dari (persan d'Afghanistan) et l'ouzbek (turc). La ville est une destination touristique importante en raison de son patrimoine musulman et de sites archéologiques hellénistiques ou bouddhistes.  Plusieurs indices laissent entendre que la tombe de Zaratoustra pourrait se situer dans cette ville.

Histoire récente.

Lors de la prise de la ville de Mazâr-e Charîf et sa région par les talibans, en, on estime que à Hazaras ont été tués par ceux-là, en raison de la résistance que ce peuple leur avait opposée et de son appartenance au chiisme.  En, des milliers de prisonniers talibans capturés à l'issue des combats autour de Mazâr-e Charîf et dans la région furent transférés de la région de Kunduz à Sheberghân. Nombre d'entre eux, enfermés dans des conteneurs, périrent d'asphyxie pendant ce transfert, d'autres furent exécutés par les troupes de Rachîd Dostom dans le "Dasht-e Leïli" — "la steppe (ou le désert) des tulipes". Le nombre des morts fut au moins de plusieurs centaines, vraisemblablement plus de deux milliers. Les corps furent enfouis dans la steppe par des bulldozers. Ces informations, d'abord conservées secrètes, puis minimisées, ont été confirmées par des enquêtes indépendantes menées par des journalistes américains ainsi que par le Pakistanais Ahmed Rashid, puis par des organisations humanitaires sous l'égide des Nations unies et par des organismes de défense des droits de l'homme.

Jumelages.

La ville de Mazâr-e Charîf est jumelée avec :

Mazâr-e Charîf (diverses autres formes dont Mazar-i Charif, en Dari (persan) مزار شریف Mazāre Šarīf) est la quatrième plus grande ville d'Afghanistan, avec une population de 693 000 habitants (2015). Capitale de la province de Balkh, elle est reliée par la route à Kaboul au sud-est, Hérat à l'ouest, et à l'Ouzbékistan au nord.

Mazáre Šeríf ( je největší město v severním Afghánistánu a hlavní město provincie Balch. Obyvatel bylo v roce 1979 103 372. V roce 2006 se odhadují 300 600 obyvatel. Největší národnostní skupinou jsou Tádžikové, následováni Paštúny, Uzbeky a Hazáry. Nejužívanějším jazykem je dárí (afghánská perština) následována paštštinou ("paštó") a uzbečtinou.


Définition et caractérisation.

Définition.

Dans l'Union européenne, notamment en France conformément à l'article R. 541-8 du code de l'environnement, sont considérés comme dangereux des déchets qui présentent une ou plusieurs des propriétés suivantes, énumérées à l'annexe III de la directive 2008/98/CE du Parlement européen et du Conseil du relative aux déchets et qui sont depuis le harmonisées avec le règlement CLP : Les déchets dangereux sont également signalés par un astérisque au sein de la liste unique des déchets qui figure à l'annexe de la décision 2000/532/CE de la Commission du 3 mai 2000.  Par ailleurs, les déchets nucléaires sont soumis à une législation particulière.

Dénominations.

Les ménages, les collectivités et les acteurs économiques produisent des déchets dangereux. Il peut s’agir de déchets occasionnels produits en petites quantités, comme certains déchets d’équipement électroniques, ceux issus des produits phytosanitaires utilisés au jardin pour l’entretien des espaces verts, ou lors de chantier de construction, de réhabilitation ou de démolition. Il peut aussi s’agir de déchets produits de façon importante par une industrie spécialisée.  Différentes dénominations existent afin de sous-catégoriser les déchets dangereux, notamment en fonction du producteur :

Types de déchets dangereux.

Concrètement, les grands types de déchets dangereux sont les suivants : sans oublier les résidus d'épuration des fumées d'incinération des ordures ménagères.

Nouveaux types.

Deux catégories au moins de déchets dangereux sont sources de risques émergents :

Enjeux.

Les enjeux sont (dans l'espace et dans le temps) à la fois sanitaires et environnementaux, de gestion des risques et économiques, car nombre de ces déchets comportent des métaux rares ou précieux ou des molécules d'intérêt. L'ONU, le G8 et la plupart des États les considèrent comme l'un des enjeux important du développement durable. Un autre enjeu est de lutter contre les filières mafieuses ou terroristes impliquées par le trafic de ces déchets, dont le coût d'élimination élevé rend très rentable les fraudes et les circuits clandestins d'élimination comme l'a illustré en 2006 l'affaire du Probo Koala.

En France.

Statistiques.

En 2012, la production de déchets en France représente 345 millions de tonnes, dont 11,3 millions de tonnes de déchets dangereux (soit environ 3 %). Les entreprises, qui produisent des déchets appelés déchets d'activités économiques, en sont la principale source de production : 11,1 millions de tonnes (98 %).  Par ailleurs, environ la moitié des 8,8 millions de tonnes de déchets dangereux traités font l’objet d’une valorisation : L'évaluation des gisements, de la nature et des quantités de déchets dangereux se fait par des enquêtes auprès des producteurs connus (industriels...) et des évaluations fournies par des collectivités, des représentants de professionnels (fédérations, syndicats, etc.), les chambres consulaires, les grands acteurs du traitement et gestion des déchets, des administrations (DRIRE puis DREAL) ou des agences (ADEME, Agence de l'eau) et là où ils existent des observatoires (régionaux, départementaux), de bureaux d'études spécialisés, etc. Ces données sont analysées par des groupes de travail.

Planification.

En France, leur gestion est de compétence régionale à travers des Plans régionaux d'élimination des déchets industriels spéciaux (PREDIS), depuis renommés Plans régionaux d'élimination des déchets dangereux (PREDD).  En France (dont d'outre-mer), en juillet 2009, selon l'étude de FNE, 17 plans étaient adoptés ou en révision.  Depuis la loi du 7 août 2015 relative à la nouvelle organisation territoriale de la République, les conseils régionaux sont compétents pour élaborer un plan unique à l’échelle de la région qui intègre l’ensemble des déchets (dangereux et non dangereux).

Critiques.

La fédération d'ONG environnementales France Nature Environnement (FNE) estimait dans un rapport publié début 2010 qu'en matière de gestion des déchets dangereux beaucoup reste à faire pour mieux connaître les gisements de ce type de déchets et assurer leur prise en charge. FNE remarque notamment que ces plans ne sont pas directement opposables aux entreprises.

Expédition des déchets dangereux.

La règlementation sur le transport de marchandises dangereuses est également à prendre en compte par les industriels et collectivités qui remettent ces matières sur le domaine public.

Les déchets dangereux sont une des catégories de déchets définies par la législation propre à chaque pays, qui s'oppose à la catégorie des déchets non dangereux. Ils se caractérisent par leur dangerosité pour l'environnement ou la santé à travers leurs effets directs ou indirects à court, moyen ou long terme.

Nebezpečný odpad je takový druh odpadu, který je zároveň nebezpečným materiálem, tedy se vyznačuje negativním vlivem na životní prostředí a zdraví lidí nebo zvířat, nebo při manipulaci s ním hrozí nějaké další nebezpečí (viz níže). Nelze s ním proto nakládat jako např. se smíšeným komunálním odpadem nebo odpadem určeným k běžné recyklaci: Nelze ho tedy ukládat do otevřených skládek, ani spalovat v běžných spalovnách. Likviduje se buď ve speciálních spalovnách nebezpečných odpadů, nebo se dále recykluje ve specializovaných firmách.


Histoire.

Il passa son enfance à Bursa où il reçut la meilleure éducation possible. Il épousa en 1381 la fille du bey de Germiyan, Devlet, qui apporta plusieurs villes en dot aux Ottomans, dont Kütahya.

Prise du pouvoir et conquêtes dans les Balkans.

En 1390, il participa avec son père et son frère à la bataille de Kosovo ; étant mort sur le champ de bataille, Bayezid s'empara du pouvoir et fit exécuter Yakub. Il conclut avec Milica (veuve du prince serbe Lazar Hrebeljanović tué lui aussi) et les dignitaires de l'Église serbe un traité laissant à la Serbie une large autonomie. Il épousa la fille de Lazar, Olivera Despina. Stefan Lazarević, fils de Lazar, devenu son beau-frère et vassal, devait assurer sa victoire contre les armées chrétiennes à la bataille de Nicopolis en 1396.  Entre 1389 et 1395, Bayezid conquit la Bulgarie et le Nord de la Grèce.

Campagnes en Anatolie.

Dès 1389, les princes turcs de l'Anatolie, notamment ceux des deux grands émirats de Germiyan (région centre-ouest de l'Anatolie, autour de Kütahya) et de Karaman, commencèrent à s'opposer à la dynastie ottomane. En 1390, Bayezid parvint, grâce à la dot de son mariage avec la princesse Devlet de Germiyan, à annexer le vaste territoire des princes de Germiyan. Puis, Bayezid arriva en Anatolie avec des troupes serbes et conquit l'émirat de Karaman en 1397.

Siège de Constantinople.

En 1391, il entreprit le blocus de Constantinople, la capitale de l'Empire byzantin. Ce siège fut à la fois terrestre et maritime. Les Turcs ne vinrent pas à bout des murailles de la ville. En 1392, une armée hongroise menée par le roi de Luxembourg obligea Bayezid à lever le siège. En 1393, Bayezid assiégea la ville de Tirnovo, capitale de l'Empire bulgare. Après cette campagne en Valachie et l'annexion de la province de Salonique en Grèce, le siège de Constantinople fut repris en 1394. Pour ce faire, la forteresse Anadoluhisarı (mot à mot : "forteresse d'Anatolie") fut construite en 1394 au nord de Constantinople, sur la rive asiatique du Bosphore, afin de bloquer le passage des Détroits aux navires ennemis. Mais l'absence de marine et de canons suffisamment puissants rendit ce siège sans effet. À la demande de l'Empereur byzantin Paléologue une nouvelle expédition de soutien fut organisée en 1396 avec les Bourguignons. De nouveau commandée par de Luxembourg, cette armée de secours fut défaite à la bataille de Nicopolis et les coalisés perdirent le terrain gagné. Cette expédition est appelée parfois "la dernière croisade" ou encore "croisade de Nicopolis". Après cette victoire le calife abbasside du Caire nomma Bayezid Sultan d'Anatolie.  Le siège de Constantinople fut maintenu jusqu'en 1398. L'irruption de Tamerlan en Anatolie obligea à le lever. Le traité prévoyait que Constantinople paie une très forte rançon et qu'une mosquée soit construite dans la ville. Bayezid engagea une bataille avec les Génois du quartier de Galata sur la rive nord de la Corne d'Or.

Bataille d'Ankara.

En 1400, Tamerlan, après avoir pillé un certain nombre de villages, réussit à soulever les petites principautés turques que Bayezid avait annexées. Le à Ankara s'engagea la bataille, fatale pour Bayezid qui fut vaincu et fait prisonnier. L'histoire raconte que lorsque Bayezid fut amené enchaîné dans la tente de Tamerlan, il éclata de rire. « Tu as tort de te moquer de moi, regarde ce qui m'est arrivé, cela pourrait aussi bien t'arriver! ». Ce à quoi Tamerlan répondit : « Je ne me moque pas de toi mais de l'ironie d'Allah qui a partagé le destin du monde entre un borgne et un boiteux! » L'enfermement de Bajazet dans une cage par Tamerlan semble une légende mais il est probable que Tamerlan l'ait gardé auprès de lui. Sa femme et ses filles furent transférées dans le harem de Tamerlan.  Bayezid est mort en captivité en 1403. Selon certaines sources, il se serait suicidé en utilisant le poison dissimulé dans son anneau tandis que pour d'autres, il se serait fendu le crâne en le heurtant contre les barreaux de sa geôle.

Descendance.

a eu huit fils : Ertuğrul, Yusuf, Kasım, Suleyman, Isa, Musa, Mehmed et Mustafa (capturé ou tué à la bataille d'Ankara). Les quatre survivants se disputèrent le pouvoir : l'État ottoman entra dans une période de désordre et de querelles de succession appelée « l'interrègne ». Son fils Mehmed, qu'il avait eu avec Devlet, princesse de Germiyan, lui succéda finalement sous le titre de.

Son caractère emporté et la rapidité de ses décisions lui valurent son surnom de la « Foudre ». Fait prisonnier par Tamerlan en 1402, il mourut en captivité l'année suivante.

Bayezid I. (v osmanské turečnině بايزيد, Beyazıd Yıldırım v moderní turečtině, přezdívaný "Yildirim" (Blesk) někdy také Bajezid, Bayezit, Bájezíd nebo Bajazid, asi 1347/54 – březen 1403), syn a nástupce osmanského sultána Murada I. Hüdavendigara, vládnoucí v letech 1389 – 1402, byl jedním z nejvýbojnějších osmanských sultánů. Během jeho vlády se Osmané, jeden z mnoha tureckých kmenů v Malé Asii, zmocnili se téměř celého Balkánu (až na západní pobřeží) a vyvrátili turecké emiráty v Malé Asii. Po Bayezidově porážce od Tamerlána roku 1402 se osmanská říše svíjela 11 let v agónii, než jí nejmladší Bayezidův syn Mehmed I. Çelebi (Sjednotitel) navrátil stabilitu.


Principes.

Caml est un langage fonctionnel augmenté de fonctionnalités permettant la programmation impérative. OCaml étend les possibilités du langage en permettant la programmation orientée objet et la programmation modulaire. Pour toutes ces raisons, OCaml entre dans la catégorie des langages multi-paradigme.  Il intègre ces différents concepts dans un système de types hérité de ML, caractérisé par un typage statique, fort et inféré.  Le système de types permet une manipulation aisée de structures de données complexes : on peut aisément représenter des types algébriques, c'est-à-dire des types hiérarchisés et potentiellement récursifs (listes, arbres...), et les manipuler aisément à l'aide du filtrage par motif. Cela fait de OCaml un langage de choix dans les domaines demandant la manipulation de structures de données complexes, par exemple les compilateurs.  Le typage fort, ainsi que l'absence de manipulation explicite de la mémoire (présence d'un ramasse-miettes) font de OCaml un langage très sûr. Il est aussi réputé pour ses performances, grâce à la présence d'un compilateur de code natif.

Histoire.

Le langage Caml est né de la rencontre du langage de programmation ML, auquel s'est intéressée l'équipe "Formel" de l'Inria depuis le début des années 1980, et de la machine abstraite catégorique CAM de Guy Cousineau, fondée sur les travaux de Pierre-Louis Curien en 1984. La première implémentation, écrite par Ascander Suarez (à l'époque doctorant à l'université Paris Diderot) puis maintenue par Pierre Weis et Michel Mauny, a été publiée en 1987. Le langage s'est peu à peu différencié de son père ML car l'équipe de l'Inria voulait adapter un langage à ses propres besoins, et continuer à le faire évoluer, ce qui entrait en conflit avec la « stabilité » de ML imposée par les efforts de standardisation de Standard ML.  Les limitations de la CAM ont conduit à la création d'une nouvelle implémentation, mise au point par Xavier Leroy dès 1990, sous le nom de Caml Light. Cette implémentation, dont une version récente est encore utilisée dans l'enseignement, bien que le système ne soit plus maintenu par l'Inria, fonctionne grâce à un interpréteur de code octet () codé en C, qui lui assure une grande portabilité. Le système de gestion de la mémoire, conçu par Damien Doligez, a aussi fait son apparition dans Caml Light. En 1995, Xavier Leroy publie une version de Caml nommée, qui introduit un compilateur de code natif, et un système de modules inspiré des modules de Standard ML.  OCaml, publié pour la première fois en 1996, apporte à Caml un système objet conçu par Didier Rémy et Jérôme Vouillon. Certaines fonctionnalités avancées, comme les variantes polymorphes ou les labels (permettant de distinguer les arguments donnés à une fonction par leur nom, plutôt que leur position) ont été introduites en 2000 par Jacques Garrigue. OCaml s'est relativement stabilisé depuis (malgré l'absence d'une spécification, le document en vigueur étant le manuel officiel maintenu par l'Inria). De nombreux dialectes de OCaml sont apparus, et continuent d'explorer des aspects spécifiques des langages de programmation (concurrence, parallélisme, évaluation paresseuse, intégration du XML...) ; voir la section Langages dérivés.

Principales caractéristiques.

Langage fonctionnel.

OCaml possède la plupart des caractéristiques communes des langages fonctionnels, en particulier des fonctions d'ordre supérieur et fermetures (), et un bon support de la récursion terminale.

Typage.

Le typage statique d'OCaml détecte au moment de la compilation un grand nombre d'erreurs de programmation qui pourraient poser des problèmes au moment de l'exécution. Toutefois, contrairement à la plupart des autres langages, il n'est pas nécessaire de préciser le type des variables que l'on utilise. En effet, Caml dispose d'un algorithme d'inférence de types qui lui permet de déterminer le type des variables à partir du contexte dans lequel elles sont employées.  Le système de typage ML supporte le polymorphisme paramétrique, c'est-à-dire des types dont des parties seront indéterminées au moment de la définition de la valeur. Cette fonctionnalité, automatique, permet d'obtenir une généricité comparable à celle des de Java ou C# ou des de C++.  Cependant, les extensions du typage ML requises par l'intégration de fonctionnalités avancées, comme la programmation orientée objet, complexifient dans certains cas le système de types : l'utilisation de ces fonctionnalités peut alors demander un temps d'apprentissage au programmeur, qui n'est pas forcément familier des systèmes de types sophistiqués.

Filtrage.

Le filtrage par motif () est un élément essentiel du langage Caml. Il permet d'alléger le code grâce à une écriture plus souple que des conditions classiques, et l'exhaustivité fait l'objet d'une vérification : le compilateur propose un contre-exemple lorsqu'un filtrage incomplet est décelé. Par exemple, le code suivant est compilé mais il provoque un avertissement :  type etat = Actif | Inactif | Inconnu  val est_actif : etat -> bool = <fun> Warning P: this pattern-matching is not exhaustive. Here is an example of a value that is not matched: Inconnu Ainsi, le programme fonctionne lorsque la fonction "est_actif" est appelée avec un état valant "Actif" ou "Inactif", mais s'il vaut "Inconnu", la fonction renvoie l'exception "Match_failure".

Modules.

Les modules permettent de décomposer le programme en une hiérarchie de structures contenant des types et des valeurs logiquement reliés (par exemple, toutes les fonctions de manipulation de listes vont dans le module List). Les descendants de la famille ML sont les langages ayant actuellement les systèmes de modules les plus perfectionnés, qui permettent, en plus de disposer d'espaces de noms, de mettre en œuvre l'abstraction (valeurs accessibles dont l'implémentation est cachée) et la composabilité (valeurs qui peuvent être construites par-dessus différents modules, du moment qu'ils répondent à une interface donnée).  Ainsi, les trois unités syntaxiques de construction syntaxique sont les structures, les interfaces et les modules. Les structures contiennent l'implémentation des modules, les interfaces décrivent les valeurs qui en sont accessibles (les valeurs dont l'implémentation n'est pas exposée sont des valeurs abstraites, et celles qui n'apparaissent pas du tout dans l'implémentation du module sont inaccessibles, à l'instar des méthodes privées en programmation orientée objet). Un module peut avoir plusieurs interfaces (du moment qu'elles sont toutes compatibles avec les types de l'implémentation), et plusieurs modules peuvent vérifier une même interface. Les foncteurs sont des structures paramétrées par d'autres structures ; par exemple, les tables de hachage (module Hashtbl) de la bibliothèque standard OCaml sont utilisables comme un foncteur, qui prend en paramètre toute structure implémentant l'interface composée d'un type, d'une fonction d'égalité entre les clés, et d'une fonction de hachage.

Orienté objet.

OCaml se distingue particulièrement par son extension du typage ML vers un système objet comparable à ceux utilisés par les langages objets classiques. Cela permet un sous-typage structurel, dans lequel les objets sont de types compatibles si les types de leurs méthodes sont compatibles, indépendamment de leurs arbres d'héritage respectifs. Cette fonctionnalité, que l'on peut considérer comme l'équivalent du des langages dynamiques, permet une intégration naturelle des concepts objets dans un langage globalement fonctionnel.  Ainsi, à la différence des langages orientés objet tels C++ ou Java pour lesquels toute classe définit un type, les classes OCaml définissent plutôt des abréviations de types. En effet, pour peu que le type des méthodes soit compatible, deux objets de deux classes différentes peuvent être utilisés indifféremment dans un même contexte. Cette caractéristique de la couche objet de OCaml rompt bon nombre de principes communément admis : il est en effet possible de faire du sous-typage sans héritage, par exemple. Le côté polymorphe rompt le principe inverse. Des exemples de code, bien que rares, exhibant des cas d'héritage sans sous-typage existent également. La force de la couche objet tient à son homogénéité et sa parfaite intégration dans la philosophie et l'esprit même du langage OCaml. Des objets fonctionnels, dont les attributs ne peuvent être modifiés et dont les méthodes, le cas échéant, en retournent une copie avec la mise à jour des attributs, ou encore la définition d'objets immédiats, ou à la volée, sont également possibles.

Distribution.

La distribution OCaml contient :  Les outils OCaml sont régulièrement utilisés sous Windows, GNU/Linux ou MacOS, mais existent aussi sur d'autres systèmes comme les BSD.  Le compilateur "bytecode" permet de créer des fichiers qui sont ensuite interprétés par ocamlrun. Le "bytecode" étant indépendant de la plate-forme, cela assure une grande portabilité (ocamlrun pouvant "a priori" être compilé sur toute plate-forme supportant un compilateur C fonctionnel). Le compilateur natif produit un code assembleur spécifique à la plate-forme, ce qui sacrifie la portabilité de l'exécutable produit pour des performances grandement améliorées. Un compilateur natif est présent pour les plates-formes IA-32, PowerPC, AMD64, Alpha, Sparc, Mips, IA-64, HPPA et StrongARM.  Une interface de compatibilité permet de lier du code OCaml à des primitives en C, et le format des tableaux de nombre flottants est compatible avec C et Fortran. OCaml permet aussi l'intégration de code OCaml dans un programme en C, ce qui permet de distribuer des bibliothèques OCaml à des programmeurs en C sans qu'ils aient besoin de connaître ou même d'installer OCaml.  Les outils OCaml sont majoritairement codés en OCaml, à l'exception de quelques bibliothèques et de l'interpréteur "bytecode", qui sont codés en C. En particulier, le compilateur natif est entièrement codé en OCaml.

Gestion de la mémoire.

OCaml dispose, comme Java, d'une gestion automatisée de la mémoire, grâce à un ramasse-miettes incrémental générationnel. Celui-ci est spécialement adapté à un langage fonctionnel (optimisé pour un rythme rapide d'allocation/libération de petits objets) et n'a donc pas d'impact sensible sur les performances des programmes. Il est configurable pour rester efficace dans des situations atypiques d'utilisation de la mémoire.

Performances.

OCaml se distingue de la plupart des langages développés dans des milieux académiques par d'excellentes performances. En plus des optimisations locales « classiques » effectuées par le générateur de code natif, les performances profitent avantageusement de la nature fonctionnelle et statiquement et fortement typée du langage.  Ainsi, les informations de typage sont complètement déterminées à la compilation, et n'ont pas besoin d'être reproduites dans le code natif, ce qui permet entre autres de retirer complètement les tests de typage au moment de l'exécution. D'autre part, certains algorithmes de la bibliothèque standard exploitent les propriétés intéressantes des structures de données fonctionnelles pures : ainsi, l'algorithme d'union d'ensembles est asymptotiquement plus rapide que celui des langages impératifs, car il utilise leur non-mutabilité pour réutiliser une partie des ensembles de départ pour constituer l'ensemble de sortie (c'est la technique de pour les structures de données persistantes).  Historiquement, les langages fonctionnels ont été considérés comme lents par certains programmeurs, car ils nécessitent naturellement la mise en œuvre de concepts (récupération de la mémoire, application partielle...) qu'on ne savait pas compiler efficacement ; les progrès des techniques de compilation ont depuis permis de rattraper l'avantage initial des langages impératifs. OCaml, en optimisant efficacement ces parties du langage et en implémentant un ramasse-miettes adapté aux allocations fréquentes des langages fonctionnels, a été un des premiers langages fonctionnels à démontrer l'efficacité retrouvée de la programmation fonctionnelle.  En général, la rapidité d'exécution est légèrement inférieure à celle d'un code équivalent en C. Xavier Leroy parle prudemment de « performances d'au moins 50 % celles d'un compilateur C raisonnable ». Ces prévisions ont depuis été confirmées par de nombreux benchmarks. En pratique, les programmes restent en général dans cette fourchette (de 1 à 2 fois celle du code C), avec des extrêmes dans les deux directions (parfois plus rapide que le C, parfois fortement ralenti par une interaction malheureuse avec le ramasse-miettes. Dans tous les cas, cela reste plus rapide que la plupart des langages récents qui ne sont pas compilés nativement, comme Python ou Ruby, et comparable aux langages statiques compilés à la volée comme Java ou C#.

Utilisation.

Le langage OCaml, issu des milieux de recherche, ne bénéficie pas de la puissance publicitaire de certains langages de programmation actuels. Il reste donc relativement peu connu du grand public informatique (ainsi que la plupart des langages fonctionnels) mais est cependant solidement implanté dans quelques niches dans lesquelles les qualités du langage priment sur son absence de popularité.

Enseignement.

OCaml est le langage utilisé par les classes préparatoires françaises, où il a succédé à Caml Light, dans l'optique des épreuves d'option informatique des concours d'entrée aux grandes écoles. Les documents utilisés dans le cadre de cet enseignement mettent en avant les liens entre programmation fonctionnelle et mathématiques, et l'aisance avec laquelle les langages de la famille ML manipulent les structures de données récursives, utiles pour enseigner l'algorithmique.  Il souffre dans le milieu universitaire de la concurrence du langage Haskell, qui lui est préféré dans certains cours de programmation fonctionnelle, parce qu'entre autres choses, il ne reprend aucun concept de la programmation impérative.

Recherche.

OCaml est un langage assez utilisé dans le milieu de la recherche. Historiquement, les langages de la branche ML ont toujours été étroitement liés au domaine des systèmes de preuves formelles (le ML initial de Robin Milner est ainsi apparu pour être utilisé dans le système de preuves LCF). OCaml est le langage utilisé par un des logiciels majeurs du domaine, l'assistant de preuves Coq.  OCaml est présent dans de nombreux autres domaines de la recherche informatique, dont la recherche en langages de programmation et compilateurs (voir la section Langages dérivés), ou le logiciel de synchronisation de fichier Unison.

Industrie.

Malgré sa communication relativement timide, OCaml a acquis une solide base d'utilisateurs dans des domaines spécifiques de l'industrie. Ainsi, l'industrie aéronautique utilise OCaml pour sa sûreté de programmation et son efficacité pour la formulation d'algorithmes complexes. On peut citer dans ce domaine le projet ASTRÉE, utilisé entre autres par l'entreprise Airbus. Le compilateur du langage de programmation temps-réel synchrone Lustre, utilisé pour les systèmes critiques tels les systèmes d'avionique des Airbus ou de contrôle de certaines centrales nucléaires, est également écrit en OCaml.  OCaml est utilisé par des acteurs importants de l'industrie du logiciel, comme Microsoft ou XenSource, tous deux membres du Consortium Caml. Il trouve aussi des applications dans l'informatique financière, comme l'a montré l'entreprise Jane Street, qui emploie de nombreux programmeurs OCaml, ou encore Lexifi, entreprise française, spécialisée dans la conception de langages de programmation dédiés à la finance, ayant d'ailleurs été récompensés internationalement.  Enfin, il est aussi utilisé par des projets libres généralistes, comme MLDonkey, GeneWeb, le client pour webradios Liquidsoap, la bibliothèque FFTW, ainsi que certains logiciels de l'environnement de bureau KDE. Enfin, les formules mathématiques du logiciel MediaWiki sont générées par un programme écrit en OCaml.

Présentation du langage.

Hello world.

Soit le programme hello.ml suivant : print_endline "Hello world!" Il peut être compilé en "bytecode" exécutable avec le compilateur "bytecode" ocamlc : Il peut être également compilé en code natif optimisé exécutable avec le compilateur natif ocamlopt : Le programme peut ensuite être exécuté par l'interpréteur de "bytecode" ocamlrun : ou

Variables.

L'interpréteur interactif ocaml peut être utilisé. Il lance un invite de commandes « # » à la suite duquel les instructions OCaml peuvent être saisies, terminées par les caractères codice_1 (ces caractères de fin d'instruction ne doivent être utilisés que dans l'interpréteur interactif, ils ne font pas partie de la syntaxe du langage). Par exemple, pour définir une variable codice_2 contenant le résultat du calcul codice_3, on écrit :  $ ocaml  Après avoir saisi et validé cette expression, OCaml détermine le type de l'expression (en l'occurrence, il s'agit d'un entier) et affiche le résultat du calcul :  val x : int = 7  On peut être tenté d'effectuer toutes sortes de calculs. Cependant, il faut prendre garde à ne pas mélanger les entiers et les réels, ce que l'on fait couramment dans de nombreux langages, car en OCaml ils ne sont pas automatiquement convertis (il faut utiliser une fonction qui va prendre un entier et retourner un réel, ou l'inverse si l'opérateur utilise des entiers). Dans l'exemple qui suit, l'opérateur + s'attend à additionner deux entiers, alors qu'il s'agit de deux réels :  Error: This expression has type float but an expression was expected of type int  Cet exemple simple permet de se faire une première idée du fonctionnement de l'algorithme d'inférence de types. En effet, lorsque nous avons écrit codice_4, nous avons ajouté les réels codice_5 et codice_6 avec l'opérateur codice_7 des entiers, ce qui pose problème. En fait, pour effectuer ce calcul, nous devons nous assurer que tous les nombres ont le même type d'une part (par exemple il est impossible d'ajouter codice_5 et codice_9 car codice_9 est un entier contrairement à codice_6 ou codice_5), et d'autre part employer la loi de composition interne codice_7 appliquée aux réels, notée codice_14 en OCaml. Nous aurions donc dû écrire :  - : float = 3.3

Fonctions.

Les programmes sont souvent structurés en procédures et en fonctions. Les procédures sont composées d'un ensemble de commandes utilisées plusieurs fois dans le programme, et regroupées par commodité sous un même nom. Une procédure ne renvoie pas de valeur, ce rôle étant dévolu aux fonctions. De nombreux langages disposent de mots-clefs distincts pour introduire une nouvelle procédure ou une nouvelle fonction ("procedure" et "function" en Pascal, "sub" et "function" en Visual Basic...). OCaml, quant à lui, ne possède que des fonctions, et celles-ci se définissent de la même manière que les variables. Par exemple, pour définir l'identité, on peut écrire :  Après saisie et validation de l'expression, l'algorithme de synthèse de types détermine le type de la fonction. Cependant, dans l'exemple que nous avons donné, rien ne présage du type de codice_2, aussi la fonction apparaît-elle comme polymorphe (à tout élément de l'ensemble codice_16, elle associe une image codice_17 qui est élément de l'ensemble codice_16) :  val id : 'a -> 'a = <fun> Pour appeler une fonction on utilise la syntaxe suivante : - : int = 5 OCaml permet également d'utiliser des fonctions anonymes, c'est-à-dire des fonctions non liées à un identifiant, grâce au mot-clé codice_19 ou codice_20 : - : 'a -> 'a = <fun> Les fonctions anonymes peuvent être appelées immédiatement ou utilisées pour définir une fonction : - : int = 5  val id : 'a -> 'a = <fun>

Filtrage par motif.

Une fonctionnalité puissante de OCaml est le filtrage par motif ("pattern matching" en anglais). Il peut-être défini avec les mots-clé codice_21 ou avec une fonction anonyme, suivis pour chaque motif d'une barre verticale codice_22, du motif, d'une flèche codice_23 et de la valeur renvoyée : val est_nul : int -> bool = <fun>  - : int -> bool = <fun> Le tiret bas codice_24 représente le motif par défaut.  Il est possible de donner la même valeur à plusieurs motifs en une seule fois : val contient_zero : int * int -> bool = <fun> Le mot-clé codice_25 permet d'exprimer une condition sur le motif : val contient_zero : int * int -> bool = <fun> Les caractères codice_26 permettent d'exprimer un motif filtrant les plages de caractères : val est_capitale : char -> bool = <fun> Le mot-clé codice_27 permet de nommer la valeur filtrée : val mettre_en_capitale : char -> char = <fun>

Récursivité.

La récursivité consiste à rédiger une fonction qui fait référence à elle-même, sur le modèle de la récurrence mathématique. En OCaml, les fonctions récursives sont introduites à l'aide du mot-clef codice_28.  Par exemple, on peut définir la fonction factorielle :  val fact : int -> int = <fun> On peut définir la suite de Fibonacci par : val fib : int -> int = <fun>

Définition interne.

Il est possible de définir des variables et des fonctions à l'intérieur d'une fonction à l'aide du mot-clé codice_29.  Par exemple, on peut définir la fonction factorielle : val fact : int -> int = <fun> On peut définir la suite de Fibonacci par : val fib : int -> int = <fun>

Récursivité terminale.

Le compilateur OCaml optimise les appels terminaux : quand, pendant l'évaluation d'une fonction, la dernière étape à effectuer est l'appel d'une (autre) fonction, OCaml saute directement à cette nouvelle fonction sans conserver en mémoire l'appel de la première, devenu inutile. En particulier, OCaml optimise la récursion terminale. Par exemple, la deuxième fonction codice_30 ci-dessus (avec un paramètre auxiliaire codice_31) est une fonction terminale, équivalente à une boucle, et produira un résultat équivalent, égalant ainsi les performances du code impératif correspondant.  La récursion terminale est aussi performante que l'itération ; elle est donc à préférer quand elle permet d'écrire des programmes plus clairs ou plus faciles à manipuler.

Manipulation de listes.

Les listes sont très utilisées en programmation, en particulier pour les traitements récursifs. Les éléments d'une liste possèdent tous le même type. Pour construire une liste, deux écritures sont possibles, l'une avec l'opérateur de chaînage codice_32 et l'autre avec l'opérateur codice_33 :  - : int list = [1; 2; 3]  - : int list = [1; 2; 3]  L'opérande de droite du dernier opérateur de chaînage codice_32 d'une expression doit être une liste :  - : int list = [1; 2; 3; 4; 5] Il est possible de concaténer des listes avec l'opérateur de concaténation codice_35 : - : int list = [1; 2; 3; 4; 5]  Pour connaître la longueur d'une liste sans utiliser la fonction codice_36 définie à cet effet, on peut écrire :  val longueur : 'a list -> int = <fun>  Lors de l'analyse de cette fonction par l'algorithme d'inférence de type, il apparaît que la liste peut contenir n'importe quel type de données codice_16.  La fonction suivante crée une liste de couples à partir de deux listes : la longueur de cette liste sera égale à la longueur de la liste passée en paramètre qui est la plus courte.  val couple : 'a list -> 'b list -> ('a * 'b) list = <fun>  La fonction suivante récupère le premier élément d'une liste : val premier_element : 'a list -> 'a = <fun> La fonction suivante récupère le deuxième élément d'une liste : val deuxieme_element : 'a list -> 'a = <fun>  La fonction suivante récupère le premier élément de la première sous liste : val sous_premier_element : 'a list list -> 'a = <fun>

Fonctions d'ordre supérieur.

Les fonctions d'ordre supérieur sont des fonctions qui prennent une ou plusieurs fonctions en entrée et/ou renvoient une fonction (on parle alors de fonctionnelle). La plupart des langages fonctionnels possèdent des fonctions d'ordre supérieur. Concernant OCaml, on peut en trouver des exemples dans les fonctions prédéfinies des modules codice_38, codice_39, etc. Par exemple, l'expression suivante :  - : int list = [0; 1; 4; 9; 16; 25]  La fonction codice_40 prend en argument la fonction anonyme qui, à tout entier codice_41, associe son carré, et l'applique aux éléments de la liste, construisant ainsi la liste des valeurs élevées au carré.  Autre exemple :  val double : ('a -> 'a) -> 'a -> 'a = <fun>  La fonction codice_42 prend en paramètre une fonction codice_43 et une valeur codice_41 et applique deux fois codice_43 à codice_41.  val trois : int = 3  val augmente_2 : int -> int = <fun>  val liste : int list = [3; 2; 3] Voici encore un exemple :  val parcours : ('a -> 'b -> 'b) -> 'b -> 'a list -> 'b = <fun>  - : int = 4  val somme_liste : int list -> int = <fun>  val produit_liste : float list -> float = <fun> Enfin, un dernier exemple. Ici, on se charge de définir un nouvel opérateur noté codice_47. Cette opérateur effectue la composée de deux fonctions. val ( $ ) : ('a -> 'b) -> ('c -> 'a) -> 'c -> 'b = <fun>  val f : int -> int = <fun>  val g : int -> int = <fun>  val h : int -> int = <fun>

Arbres et types récursifs.

Pour définir un arbre binaire de type quelconque, on se sert d'un type récursif. On peut ainsi avoir recours à l'écriture suivante :  type 'a arbre = Feuille | Branche of 'a arbre * 'a * 'a arbre Cet arbre se compose de branches qui se ramifient à souhait, et se terminent par des feuilles. Pour connaître la hauteur d'un arbre, on utilise alors :  val hauteur : 'a arbre -> int = <fun>  val dicho : (float -> float) -> float -> float -> float -> float * float = <fun>  - : float * float = (1.4142135618, 1.41421356238)

Mémoïsation.

Voici un exemple de fonction qui utilise la mémoïsation. Il s'agit d'une fonction qui calcule le "n"-ième terme de la suite de Fibonacci. Contrairement à la fonction récursive classique, celle-ci mémorise les résultats et peut les ressortir en temps constant grâce à la table de hachage. let _HASH_TABLE_SIZE = 997  let rec fibo =

Dérivation d'un polynôme.

On se propose ici d'implémenter une fonction simple permettant de dériver un polynôme de degré quelconque. Il faut d'abord spécifier le type qui représentera notre polynôme : type polyn = Num of float | Var of string | Neg of polyn | Add of polyn * polyn | Sub of polyn * polyn | Mul of polyn * polyn | Div of polyn * polyn | Pow of polyn * int Maintenant, voici la fonction qui dérive ce polynôme par rapport à la variable x spécifiée en paramètre. val deriv : string -> polyn -> polyn = <fun>

Différentes cibles de compilation.

L'implémentation OCaml a été adaptée par d'autres auteurs à des cibles de compilation autres que le "bytecode" et le code natif. On trouvera :

Langages dérivés.

De nombreux langages étendent OCaml pour lui ajouter des fonctionnalités.

OCaml, anciennement connu sous le nom d'Objective Caml, est l'implémentation la plus avancée du langage de programmation Caml, créé par Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy et leurs collaborateurs en 1996. Ce langage, de la famille des langages ML, est un projet open source dirigé et maintenu essentiellement par l'Inria.

OCaml je v informatice implementace programovacího jazyka Caml, která byla rozšířena o objektově orientované konstrukce. OCaml je sada nástrojů obsahující interpret, překladač do bytecode i překladač do strojového kódu, který provádí optimalizace. Obsahuje rozsáhlou knihovnu funkcí, což v něm umožňuje dělat aplikace takové jako v Pythonu nebo Perlu.


Lignage.

est le fils de Guillaume V d'Orange-Nassau et de Wilhelmine de Prusse. Il appartient à la sixième branche (Nassau-Dietz) issue de la seconde branche (Nassau-Dillenbourg) de la maison de Nassau. Cette lignée de Nassau-Dietz aujourd'hui Orange-Nassau appartient à la tige ottonienne qui donna des stathouders à la Flandre, la Hollande, la Frise, la Zélande, la Gueldre, un roi d'Angleterre et d'Écosse en la personne de Guillaume III d'Orange-Nassau, des rois et reines aux Pays-Bas. Il est l'ancêtre du roi Guillaume-Alexandre.

Biographie.

Lorsque les troupes françaises eurent quitté les Pays-Bas en 1813, un gouvernement provisoire prit le pouvoir. Celui-ci était formé par le comte Leopold van Limburg Stirum, et Gijsbert Karel van Hogendorp. Ceux-ci invitèrent le prince Guillaume afin de lui offrir le trône des Pays-Bas. Il refusa une première fois le trône en, puis l'accepta finalement avec une constitution qui garantissait des pouvoirs étendus au nouveau prince souverain. Il ne se proclama roi des Pays-Bas qu'en mars 1815.  Le royaume-Uni des Pays-Bas fut créé au congrès de Vienne et s'étendait sur les actuels Pays-Bas et Belgique (sauf la province de Luxembourg belge). Le Luxembourg, élevé au rang de grand-duché, était indépendant (et faisait en superficie le double du grand-duché actuel) mais son souverain était le roi des Pays-Bas. Ce royaume avait donc les limites du Benelux (hors les cantons de la Belgique orientale alors allemands) actuel mais sous un unique souverain conservateur et protestant, comme le sera d'ailleurs également Léopold de Belgique.  Le Luxembourg, promu au rang de grand-duché, qui devenait indépendant et membre de la Confédération germanique, lui était remis à titre personnel, en compensation de ses pertes patrimoniales dans l'espace allemand (à l'est de Coblence) au profit de la Prusse qui s'était étendue en Rhénanie.  Il tenta d'unir les peuples des anciennes Provinces-Unies, des Pays-Bas autrichiens et de la principauté de Liège, par une politique favorisant le développement économique. Souverain d'un royaume dont les populations méridionales étaient catholiques, il signa en 1827 un concordat avec le pape Grégoire XVI.  Ainsi, il décida de la canalisation de la Sambre, le creusement des canaux Gand-Terneuzen, Bruxelles-Charleroi, Meuse-Moselle et autres. Il a aussi fondé les universités de Liège, Gand et Louvain.  Cependant, sa politique autocratique et l'hostilité de l'Église catholique envers le roi protestant provoquèrent le mécontentement des futurs Belges qui néanmoins choisirent également comme nouveau roi un protestant, Léopold de Saxe-Cobourg-Gotha.  Après la Révolution belge de septembre 1830, il se porta candidat au trône de Belgique, mais sa candidature fut unanimement rejetée. tenta de reprendre la Belgique par les armes mais celle-ci bénéficiant du soutien de la France de la monarchie de Juillet obtint en 1830 son indépendance et mit à sa tête un prince soutenu par l'Angleterre, Léopold de Saxe-Cobourg-Saalfeld, qui était oncle de la future reine Victoria et épousera en 1832 Louise-Marie d'Orléans, fille aînée de Louis-Philippe, roi des Français.  Toutefois, les Pays-Bas (amputés d'une partie du Limbourg) et le Luxembourg (amputé de sa moitié occidentale) restèrent unis sous le règne de qui n'accepta cet état de fait qu'en 1839.  Vaincu et contesté, abdiqua en 1840 pour pouvoir se remarier avec la femme de son choix, une dame catholique et wallonne, Henriette d'Oultremont. Il reprit alors le titre de Nassau.

La politique de Guillaume en Wallonie.

Le roi Guillaume va jeter les bases de la prospérité économique de la Wallonie. Il favorise l'installation d'industriels, tels que John Cockerill, et améliore les voies navigables par le creusement de canaux, tels que le canal Bruxelles-Charleroi. Il fonde l'université de Liège, première université wallonne, en 1817. Le roi compte de nombreux soutiens en Wallonie. Le projet de constitution proposé au vote en 1815 est ainsi adopté à la quasi-unanimité en Wallonie, tandis qu'il est unanimement rejeté dans les provinces flamandes. Lors de la Révolution belge, les principaux centres orangistes seront situés dans les grandes villes industrielles wallonnes. Il épouse une wallonne, Henriette d'Oultremont, en 1841.

Mariage et descendance.

En 1791, il épousa Wilhelmine de Prusse (1774 – 1837) (fille de Frédéric-Guillaume II de Prusse). Six enfants sont nés de cette union :  Après son abdication, il épousa en secondes noces à Berlin le, Henriette d'Oultremont (1792 – 1864) qui était sa maîtresse depuis 1810.

Guillaume Frédéric d'Orange-Nassau ("Willem Frederik van Oranje-Nassau" en néerlandais), né le à La Haye et mort le à Berlin, est prince souverain des Pays-Bas de 1813 à 1815, puis roi des Pays-Bas sous le nom de Guillaume et simultanément duc puis grand-duc de Luxembourg de 1815 à 1840.

Vilém I. Nizozemský, ("Willem Frederik Prins van Oranje-Nassau"), z dynastie Oranžsko-Nassavských (24. srpen 1772 Haag – 12. prosinec 1843 Berlín) byl mezi léty 1815–1840 král Nizozemska, lucemburský velkovévoda a limburský vévoda, v letech 1806–1815 to byl nizozemský místodržící v exilu. Král Vilém I. byl synem nizozemského místodržícího Viléma V. Oranžského. Jako princ oranžský a nizozemský místodržící byl nazýván Vilém VI. Oranžský.