La galette de pommes de terre – Grumbeerekiechle

Aujourd’hui c’est un autre plat typique alsacien dont je vais vous parler. La galette de pommes de terre ou Grumbeerekiechle en alsacien qui est à l’Alsace ce que la galette de sarrasin est à la Bretagne, c’est à dire une galette !

La recette suivante est pour 6 à 8 galettes, à vous de calculer pour plus

Ingrédients

  • 300gr de pommes de terre
  • 1 œuf
  • 1 oignon
  • 1 cuillère à soupe de farine
  • 1 cuillère à soupe d’huile
  • Un peu de persil
  • 1 pincée de sel
  • 1 pincée de poivre
  • 1 pincée de noix de muscade rappée

Étapes

  • Sur une planche à découper
  • Ciselez l’oignon
  • Dans un saladier
  • Rappez les pommes de terre préalablement lavées et épluchées
  • Faites sortir l’excédant d’eau et d’amidon
  • Ajoutez l’œuf, l’oignon, la farine, l’huile, le persil, le sel, le poivre et la muscade
  • Mélangez le tout jusqu’à obtenir un mélange homogène
  • Dans une poêle
  • Mettez un filet d’huile à chauffer
  • Une fois fluide déposez votre préparation à la cuillère
  • Aplatissez chaque galette à votre convenance
  • Faites dorer les galettes 5 à 10 minutes sur chaque face

C’est une recette idéal à préparer en grande quantité et à mettre au congélateur pour les semaines suivantes. Vous pouvez l’ajouter à vos menus de batch cooking pour les adeptes.

Photos

Naissance d’un Kougelhopf

Le Kougelhopf est l’un des symboles de l’Alsace. Certains le nomme Kouglopf ou encore Kouglof mais ce n’est pas ce qui importe. Ce qu’il faut savoir c’est comment lui donner vie.

Après plusieurs essais, je vous livre la recette qui a le mieux marché pour moi.

Ingrédients pour un grand kougelhopf

  • 125g de beurre
  • 125g de lait
  • 40g de levure fraiche
  • 3 œufs
  • 125g de raisins secs
  • 2 cuillères de rhum ou de kirsch
  • 500g de farine
  • 2g de sel
  • 60g de sucre
  • une poignée d’amandes

Étapes

  • Dans une casserole
  • Faire tiédir le lait et le beurre jusqu’à ce qu’il soit liquide
  • Une fois en dessous de 37° y délayer la levure (elle doit rester vivante)
  • Ajouter les œufs (ils ne doivent pas cuire)
  • Ajouter le sucre
  • Ajouter le sel
  • Dans un bol
  • Peser les raisins secs
  • Arroser de rhum ou de kirsch
  • Dans un grand saladier
  • Peser la farine

Incorporer en 3 ou 4 fois le liquide de la casserole dans le saladier tout en commençant à amalgamer le tout de votre main libre.

Une fois tout le liquide et le solide dans le saladier pétrissez le tout à l’aide de vos deux mains. Jusqu’à obtenir une pâte homogène et souple arrêtez vous quand la pâte se détache de vos mains et du saladier.

Ensuite n’oublier pas d’ajouter les raisins en enlevant tout le jus qu’ils n’auraient pas adsorbé. Ce sans quoi vous auriez une pâte bien trop collante. Pétrissez encore un peu la pâte pour y mélanger uniformément les raisins.

Beurrer votre moule à Kougelhopf jusqu’au bord supérieur. Placer au fond les amandes une à une dans le sens des stries (c’est meilleur). Déposer ensuite la pâte dans le moule. Placer ensuite un linge propre et attendez qu’elle pousse à 1 ou 2 centimètres au dessus du bord.

Mettre au four à 180° pendant 30 à 40 minutes.

Photos

Bon appétit, n’hésitez pas à partager ou commenter cette recette

Positionner un GameObject dans la hiérarchie (Unity3D)

Alors voilà, mon problème aujourd’hui est de positionner un gameObject fraichement initialisé dans mon script dans la hiérarchie d’un autre gameObject étant devenu son parent (SetParent()).

Pour cela j’ai trouvé la fonction setSiblingIndex() à appliquer sur le « transform » de votre objet à positionner dans la hiérarchie.

Le code :

 public void chargeAllButtonMap(){
        int i = 1;
        foreach (MapInfo mi in Global.param.tableMapInfo) {
            GameObject buttonMap = Instantiate(buttonMapPrefab, Vector3.zero, Quaternion.identity) as GameObject;
            buttonMap.transform.SetParent(mappemonde.transform);
            buttonMap.transform.SetSiblingIndex (1);
            buttonMap.name = "buttonMap_" + i.ToString("D3");
            buttonMap.transform.localPosition = new Vector3 (mi.x, mi.y);
            buttonMap.transform.localScale = new Vector3 (1, 1, 1);

            ActionButonLoadMap ablm = buttonMap.GetComponent<ActionButonLoadMap>();
            ablm.idPartieIs = i.ToString("D3");
            i++;
        }

        buttonIsCharged = true;
    }

Le résultat :

Mes boutons se placent bien à l’index 1 entre Image et AcheterMapPanel. Ils ne seront plus affiché devant mon objet AcheterMapPanel mais bien derrière.

Les facteurs de l’évolution

« Nous sommes dans un monde en constante évolution et pourtant toujours aussi ancré dans ses habitudes. »

Aujourd’hui j’aimerais parler des facteurs régissant l’évolution. Ces facteurs qui nous font reconsidérer notre lendemain avant même de l’avoir vécu.

  • Ce projet qui n’avance pas
  • Cette façon de travailler toujours de la même façon
  • Ces dossiers qui s’accumulent
  • Ces photos qui ne se trient pas toutes seuls
  • Ces VHS qui attendent alignées sur votre étagère
  • Cette boite d’objets inutiles

Mais vous avez aussi de ces réussites qui reviennent à votre mémoire.

  • Les MP3 de l’an 2000 que vous avez fini par supprimer
  • Ces vêtements que vous avez donnés
  • Votre premier téléphone ramené à la déchetterie

Et pourtant …

Quels facteurs dirigent notre évolution ?

Ce peut-être :

  • D’avoir envie de continuer ce projet qui n’avance pas ?
  • De moins bien travailler en changeant nos méthodes ?
  • De perdre des données utiles ?
  • De ne plus pouvoir regarder cette VHS de 1992 si nous la jetons ?
  • De ne plus pouvoir contempler cette collection d’objets intouchées au fond d’une boite à chaussure depuis 10 ans ?

L’esquisse d’une réponse m’est apparu en emménageant dans un peu plus de 40m².

La place. Le confort. Les habitudes.

Plus nous avons de place, plus nous nous sentons confortablement installé et plus nous avons tendance à nous soumettre à nos habitudes.

Que se soit d’accumuler, de stocker, de ranger, de regarder, de consommer, d’acheter, de jouer, de boire, de manger, de travailler, de voyager, notre évolution se limite souvent à quelques facteurs techniques. Dans lequel nous trouvons :

  • Pour l’accumulation et le stockage, la place.
  • Pour le rangement, le confort.
  • Pour la contemplation, le temps, l’environnement.
  • Pour la consommation, l’argent, la place, le choix.
  • Pour le jeu, le temps.
  • Pour le travail, le temps, l’obligation.
  • Pour manger et boire, l’obligation.
  • Pour voyager, le temps, la mobilité.

Mais aussi des facteurs humains comme la crainte, l’envie, le besoin, l’argent. Vous trouverez d’ailleurs toujours l’un de ces facteurs dans chaque publicité.

Évolution : passage successif d’un état à un autre.

Il ne faudrait donc pas se contenter d’évoluer mais aussi de réfléchir à la direction à donner à notre évolution. C’est à dire à évaluer nos facteurs humains et techniques propre puis à se questionner.

 

Comment fermer une fenêtre dans Unity3D ?

Aujourd’hui nous allons essayer de fermer une fenêtre ouverte dans Unity3D. Pour cela il faut une fenêtre ouverte (panel) dans un Canvas.

Problématique :

  • Nous ne voulons pas fermer cette fenêtre (InventoryWindows) d’une quelconque manière mais en appuyant simplement en dehors de celle-ci.
  • Il faut que la fermeture de la fenêtre puisse s’exécuter aussi sur mobile (soit sans curseur de souris).

Dans un premier temps je n’ai pas pensé à adapter cette fonctionnalité à l’utilisation d’un écran tactile. Or, mon premier réflexe a été d’ajouter un contrôle sur un booléen (mouseIsOut), si mouseIsOut vrai alors fermer la fenêtre, sinon ne rien faire. J’ai mis le tout dans la fonction LateUpdate() de la classe définissant la gestion de ma fenêtre. Quand la souris sors du Panel (Event Trigger –  PointerOut) alors on met mouseIsOut à vrai. Au contraire, à l’ouverture du panel ou l’entrée de la souris dans le panel on met mouseIsOut à faux.

Avec cette méthode qui marche très bien sur PC on rencontre bien vite un problème quand on passe sur un écran tactile. En effet, l’écran tactile ne considère pas de curseur tant que notre doit n’est pas en contact avec la surface. On ne peut donc pas détecter la sortie du curseur du Panel à l’aide de l’Event Trigger en mode PointerExit… (Sauf si l’utilisateur déplace son doigt sans le lever de l’intérieur à l’extérieur du panel.

Recherche d’une autre solution :

Pour palier à ce problème j’ai trouvé une solution facile à mettre en œuvre.

  • Faire d’un panel un bouton quitter géant et situé à l’arrière de notre fenêtre.

En bleu (écran + objet actif) vous pouvez voir le panel sur lequel j’ai ajouté un Event Trigger et le script permettant de mettre mouseIsOut à True si il y a détection de clic sur ce panel.

Il vous suffit alors de mettre mouseIsOut à false quand vous ouvrez la fenêtre (ici l’inventaire) et le tour est joué.

Note : vous pouvez aussi détecter si votre fenêtre est active (isActive = true) pour économiser l’utilisation d’un booléen.