Version d'archive

  • Ce site est en lecture seule. Certains liens dynamiques peuvent ne pas fonctionner correctement.

Ertaï


Ersatz de régnant.

(profil mis à jour il y a plus de 10 ans )

Présentation générale

Salut c'est Ertaï.

Enfin, plus trop. Ertaï est le pseudonyme que j'ai choisi lors de mon arrivée sur Internet il y a de ça 8 ans, depuis que j'ai dû choisir un pseudonyme pour m'inscrire sur mon premier site web, dont je ne me souviens plus le nom. A l'époque, je jouais beaucoup aux cartes Magic l'Assemblée©, et Ertaï est dans l'histoire une personnage que j'aime beaucoup, ainsi que  sa carte . En résumé, c'est un sorcier vantard avec un grand potentiel, et j'ai trouvé que ça me correspondait bien. c'est avec ce pseudonyme-là que je me suis inscrit sur le Refuge en 2003, et il m'est resté depuis lors.

Mais entre temps, j'ai un peu vieilli, j'ai rencontré la femme de ma vie, et on s'est donné des surnoms rigolos. Elle, Marceline, moi, Hypolite, et un nom de famille en commun, Petovan. C'est désormais sous cette identité, bien moins courante que celle d'Ertaï, que je m'identifie sur tous les nouveaux sites sur lesquels je m'inscris. Mais sur AG, je resterai toujours Ertaï. Un  Hypolite  se balade sur le Refuge, mais comme l'indique son profil, ce n'est qu'un prête-nom pour tester le Refuge en tant que simple membre.

Fonctions sur le Refuge

J'occupe plusieurs fonctions sur le Refuge qui font de moi votre interlocuteur privilégié dans certaines situations :

  • Administrateur  : Contactez-moi ou un des modérateurs en cas de problème sur le site avec un autre membre. Pour le reste normalement la FAQ devrait suffire.
  • Webmaster : Un problème d'affichage ou de navigation, une suggestion sur l'amélioration technique ou visuelle du site ? Je m'en occuperai (un jour) seulement si vous saisissez le problème ou la sudans la Boîte à Idées .
  • Rédacteur en chef : Une idée d'article, une question sur l'organisation du forum, où écrire, quoi écrire ? Je suis là pour vous aider à contribuer au site.
  • Grammar Nazi : Vous voulez écrire mais vous n'osez pas à cause des fautes que vous faites ? Je peux vous aider en vous faisant une correction commentée de vos textes. En attendant, vous pouvez toujours consulter la FAQ orthographique .

Mes jeux multi-joueur

  • Starcraft
  • Command and Conquer Alerte Rouge 2
  • Supreme Commander
  • Warhammer 40,000 Dawn of War : Soulstorm
  • Team Fortress 2
  • Haegemonia
  • Street Wars

Pour une liste un peu plus étendue, vous pouvez consulter la liste de mes jeux sur Steam .

Mes identités sur Internet

  • Steam  :  Hypolite
  • Starcraft : Ça dépend
  • et c'est tout, je ne suis pas un joueur sur Internet

Mes jeux de société sur AG

Pour ma ludothèque complète (et mise à jour le 15 Mai 2011), je vous invite à consulter  ma ludothèque en détails et en chiffres .

Coq < Variable P :  D -> Prop.
P is assumed

Coq < Variable d : D.
d is assumed

Coq < Lemma weird : (forall x:D, P x) ->  exists a, P a.
1 subgoal
  
  D : Set
  R : D -> D -> Prop
  P : D -> Prop
  d : D
  ============================
   (forall x : D, P x) -> exists a : D, P a

Coq <  intro UnivP.
1 subgoal
  
  D : Set
  R : D -> D -> Prop
  P : D -> Prop
  d : D
  UnivP : forall x : D, P x
  ============================
   exists a : D, P a

Coq < exists d; trivial.
Proof completed.

Coq < Qed.
intro UnivP.
exists d; trivial.
weird is defined

Coq < Hypothesis EM : forall A:Prop, A \/ ~ A.
EM is assumed

Coq < Lemma drinker :  exists x:D, P x -> forall x:D, P x.
1 subgoal
  
  D : Set
  R : D -> D -> Prop
  P : D -> Prop
  d : D
  EM : forall A : Prop, A \/ ~ A
  ============================
   exists x : D, P x -> forall x0 : D, P x0

Coq < elim (EM (exists x, ~ P x)).
2 subgoals
  
  D : Set
  R : D -> D -> Prop
  P : D -> Prop
  d : D
  EM : forall A : Prop, A \/ ~ A
  ============================
   (exists x : D, ~ P x) -> exists x : D, P x -> forall x0 : D, P x0
subgoal 2 is:
 ~ (exists x : D, ~ P x) -> exists x : D, P x -> forall x0 : D, P x0

Coq < intro Non_drinker; elim Non_drinker; intros Tom Tom_does_not_drink.
2 subgoals
  
  D : Set
  R : D -> D -> Prop
  P : D -> Prop
  d : D
  EM : forall A : Prop, A \/ ~ A
  Non_drinker : exists x : D, ~ P x
  Tom : D
  Tom_does_not_drink : ~ P Tom
  ============================
   exists x : D, P x -> forall x0 : D, P x0
subgoal 2 is:
 ~ (exists x : D, ~ P x) -> exists x : D, P x -> forall x0 : D, P x0

Coq < exists Tom; intro Tom_drinks.
2 subgoals
  
  D : Set
  R : D -> D -> Prop
  P : D -> Prop
  d : D
  EM : forall A : Prop, A \/ ~ A
  Non_drinker : exists x : D, ~ P x
  Tom : D
  Tom_does_not_drink : ~ P Tom
  Tom_drinks : P Tom
  ============================
   forall x : D, P x
subgoal 2 is:
 ~ (exists x : D, ~ P x) -> exists x : D, P x -> forall x0 : D, P x0

Coq < absurd (P Tom); trivial.
1 subgoal
  
  D : Set
  R : D -> D -> Prop
  P : D -> Prop
  d : D
  EM : forall A : Prop, A \/ ~ A
  ============================
   ~ (exists x : D, ~ P x) -> exists x : D, P x -> forall x0 : D, P x0

Coq < intro No_nondrinker; exists d; intro d_drinks.
1 subgoal
  
  D : Set
  R : D -> D -> Prop
  P : D -> Prop
  d : D
  EM : forall A : Prop, A \/ ~ A
  No_nondrinker : ~ (exists x : D, ~ P x)
  d_drinks : P d
  ============================
   forall x : D, P x

Coq < intro Dick; elim (EM (P Dick)); trivial.
1 subgoal
  
  D : Set
  R : D -> D -> Prop
  P : D -> Prop
  d : D
  EM : forall A : Prop, A \/ ~ A
  No_nondrinker : ~ (exists x : D, ~ P x)
  d_drinks : P d
  Dick : D
  ============================
   ~ P Dick -> P Dick

Coq < intro Dick_does_not_drink; absurd (exists x, ~ P x); trivial.
1 subgoal
  
  D : Set
  R : D -> D -> Prop
  P : D -> Prop
  d : D
  EM : forall A : Prop, A \/ ~ A
  No_nondrinker : ~ (exists x : D, ~ P x)
  d_drinks : P d
  Dick : D
  Dick_does_not_drink : ~ P Dick
  ============================
   exists x : D, ~ P x

Coq < exists Dick; trivial.
Proof completed.

Coq < Qed.
elim (EM (exists x : _, ~ P x)).
 intro Non_drinker; elim Non_drinker; intros Tom Tom_does_not_drink.
   exists Tom; intro Tom_drinks.
    absurd (P Tom); trivial.
intro No_nondrinker; exists d; intro d_drinks.
  intro Dick; elim (EM (P Dick)); trivial.
  intro Dick_does_not_drink;  absurd (exists x : _, ~ P x); trivial.
  exists Dick; trivial.
drinker is defined

Coq < End Predicate_calculus.

Coq < Check refl_if.
refl_if
     : forall (D : Set) (R : D -> D -> Prop),
       (forall x y : D, R x y -> R y x) ->
       (forall x y z : D, R x y -> R y z -> R x z) ->
       forall x : D, (exists y : D, R x y) -> R x x

Coq < Check weird.
weird
     : forall (D : Set) (P : D -> Prop),
       D -> (forall x : D, P x) -> exists a : D, P a

Coq < Check drinker.
drinker
     : forall (D : Set) (P : D -> Prop),
       D ->
       (forall A : Prop, A \/ ~ A) ->
       exists x : D, P x -> forall x0 : D, P x0

open Printf

let pi = 4. *. atan 1.

module Array = struct
  include Array

  let for_all p a =
    fold_left (fun b x -> p x && b) true a
end

type vec2 = { x: float; y: float }

let vec2 x y = {x=x; y=y}

let zero = vec2 0. 0.

let of_list = function
    [x; y] -> vec2 x y
  | _ -> invalid_arg "Vec2.of_list"

let ( +| ) a b = {x = a.x +. b.x; y = a.y +. b.y}
let ( -| ) a b = {x = a.x -. b.x; y = a.y -. b.y}
let ( ~| ) a = {x = -. a.x; y = -. a.y}
let ( *| ) s r = {x = s *. r.x; y = s *. r.y}

let normal a = { x = a.y; y = -. a.x }
let dot a b = a.x *. b.x +. a.y *. b.y
let length2 r = dot r r
let length r = sqrt(length2 r)
let unitise r = 1. /. length r *| r

(* Get the time since the program started. *)
let time =
  let t = Unix.gettimeofday() in
  fun () -> Unix.gettimeofday() -. t

let width = ref 1 and height = ref 1

(* Reshape the viewport and store the width and height. *)
let reshape ~w ~h =
  GlDraw.viewport ~x:0 ~y:0 ~w ~h;
  width := max 1 w;
  height := max 1 h

(* Pass a single vertex to the OpenGL. *)
let vertex {x=x; y=y} =
  GlDraw.vertex ~x ~y ()

let translate r =
  GlMat.translate ~x:r.x ~y:r.y ()

let rotate angle =
  let angle = angle *. 180. /. pi in
  GlMat.rotate ~angle ~z:1. ()

let scale s =
  GlMat.scale ~x:s ~y:s ()

let protect f g =
  try
    f();
    g()
  with e ->
    g();
    raise e

let mat f =
  GlMat.push();
  protect f GlMat.pop

let render prim f =
  GlDraw.begins prim;
  protect f GlDraw.ends

let circle x = vec2 (sin x) (cos x)

(* Memoize OpenGL calls in a display list. *)
let gl_memoize f =
  let dl = ref None in
  fun () -> match !dl with
  | Some dl -> GlList.call dl
  | None ->
      let dl' = GlList.create `compile in
      f ();
      GlList.ends ();
      dl := Some dl'

let rec iter f l u = if l<u then (f l; iter f (l+1) u)

(* Render a ball at the origin. *)
let render_ball =
  gl_memoize
    (fun () ->
       let n = 36 in
       let aux i = circle (2. *. pi *. float i /. float n) in
       render `triangle_fan
  (fun () ->
     vertex zero;
     iter (fun i -> vertex (aux i)) 0 (n/4+1));
       render `triangle_fan
  (fun () ->
     vertex zero;
     iter (fun i -> vertex (aux i)) (n/2) (3*n/4+1));
       render `triangle_strip
  (fun () -> iter (fun i ->
       vertex (0.9 *| aux i);
       vertex (aux i)) 0 (n+1)))

type circle = { center: vec2; radius: float }

type ball = { circle: circle;
       velocity: vec2;
       angle: float;
       angular_velocity: float }

let make_ball ?(v=vec2 0.1 0.) ?(r=0.05) x y =
  { circle = { center = vec2 x y; radius = r };
    velocity = v;
    angle = 0.;
    angular_velocity = 0. }

type surface =
    Line of vec2 * vec2
  | Circle of vec2 * float

let surfaces = ref [Line (vec2 0. 0., vec2 0. 1.);
      Line (vec2 0. 1., vec2 1. 1.);
      Line (vec2 1. 1., vec2 1. 0.);
      Line (vec2 1. 0.2, vec2 0. 0.)]

(* Split balls. *)
let balls =
  ref [|{(make_ball 0.5 0.9) with velocity = vec2 0. (-1.)};
 {(make_ball 0.45 0.05) with velocity = vec2 0. 0.};
 {(make_ball 0.55 0.05) with velocity = vec2 0. 0.}|]
let surfaces = ref [Line (vec2 0. 0., vec2 0. 1.);
      Line (vec2 0. 1., vec2 1. 1.);
      Line (vec2 1. 1., vec2 1. 0.);
      Line (vec2 1. 0., vec2 0. 0.)]
let g = vec2 0. 0.1

let n_balls = try min 100 (max 0 (int_of_string(Sys.argv.(1)))) with _ -> 3

(* Funnel *)
let balls =
  let n = 10 in
  ref (Array.init n_balls
  (fun x -> make_ball ~v:(vec2 0. 0.) ~r:0.02
     (0.2 +. 0.03 *. float ((x/n) mod 2) +. 0.06 *. float (x mod n))
     (0.9 -. 0.04 *. float (x/n))))
let surfaces =
  let n = 128 in
  let aux i =
    let r = circle (2. *. pi *. float (i + n/4) /. float n) in
    vec2 (0.5 +. 0.5 *. r.x) (1. +. r.y) in
  ref (Array.to_list (Array.init n (fun i -> Line (aux (i-1), aux i))))
let surfaces = ref (Circle (vec2 0.37 0.3, 0.11) ::
        Circle (vec2 0.63 0.3, 0.11) ::
        !surfaces)
let g = vec2 0. 0.5

let display_ball ball =
  mat (fun () ->
  translate ball.circle.center;
  rotate ball.angle;
  scale ball.circle.radius;
  render_ball())

let display_balls () =
  Array.iter display_ball !balls

let display_surface = function
    Line (v1, v2) ->
      GlDraw.begins `lines;
      List.iter vertex [v1; v2];
      GlDraw.ends ()
  | Circle (c, r) ->
      GlMat.push();
      mat (fun () ->
      translate c;
      scale r;
      let n = 360 in
      GlDraw.begins `line_loop;
      for i=0 to n-1 do
        vertex (circle (2. *. pi *. float i /. float n))
      done;
      GlDraw.ends ())

let display_surfaces =
  gl_memoize (fun () -> List.iter display_surface !surfaces)

let display () =
  GlClear.clear [ `color; `depth ];
  Gl.enable `depth_test;
  GlFunc.depth_func `lequal;

  (* Initialise a orthogonal projection of the 2D scene. *)
  GlMat.mode `projection;
  GlMat.load_identity ();
  GlMat.ortho ~x:(0., 1.) ~y:(0., 1.) ~z:(0., 1.);
  GlMat.mode `modelview;
  GlMat.load_identity ();

  GlDraw.color (1., 1., 1.) ~alpha:1.;

  display_balls();
  display_surfaces();

  Gl.finish ();

  Unix.sleep 0;

  Glut.swapBuffers ()

let clamp l u (x : float) =
  if x<l then l else if x>u then u else x

let circle_circle c1 r1 c2 r2 =
  let s = c2 -| c1 in
  c1 +| 0.5 *. (length s +. r1 -. r2) *| unitise s

let circle_circle c1 r1 c2 r2 =
  let s = c2 -| c1 in
  let l = length s in
  let s = (1. /. l) *| s in
  c1 +| 0.5 *. (l +. r1 -. r2) *| s

(* Find the point of impact between a circle and a surface. *)
let point_of_impact circle = function
    Line (p1, p2) ->
      (* Find the closest approach of the finite line v1 -> v2 to the point
  r. *)
      let p21 = p2 -| p1 in
      let x = clamp 0. 1. (dot (circle.center -| p1) p21 /. length2 p21) in
      p1 +| x *| p21
  | Circle (c2, r2) -> circle_circle circle.center circle.radius c2 r2

let circle_circle_intersects c1 c2 =
  let p = circle_circle c1.center c1.radius c2.center c2.radius in
  length(c1.center -| p) < c1.radius

let rec update_ball dt (ball, impacts as accu) surface =
  let p = point_of_impact ball.circle surface in

  let d = ball.circle.center -| p in

  if length d > ball.circle.radius then accu else begin
    (* Local basis through center and perpendicular. *)
    let a = unitise d in
    let b = normal a in
    
    (* Resolve the velocity at the point of impact into components through the
       center and perpendicular. *)
    let dva = dot ball.velocity a in
    let dvb = dot ball.velocity b in
    if dva >= 0. then accu else
      { ball with
   velocity = ball.velocity +| 2. *. abs_float dva *| a -|
       0. *. ball.angular_velocity *. ball.circle.radius *| b;
   angular_velocity = -. dvb /. ball.circle.radius }, p::impacts
  end

(* Bisect the time slice until there is only one impact. *)
let rec update t t' balls =
  let dt = t' -. t in

  (* Ball-ball impacts. *)
  let balls', impacts =
    let balls = Array.copy balls in
    let impacts = Array.map (fun _ -> []) balls in
    let n = Array.length balls in

    for i=0 to n-1 do
      (* Ball-surface impacts *)
      (fun (b, is) ->
  balls.(i) <- b;
  impacts.(i) <- is)
 (List.fold_left (update_ball dt) (balls.(i), impacts.(i)) !surfaces);

      (* Ball-ball impacts. *)
      if i>0 then
 let b1 = balls.(i) in
 for j=0 to i-1 do
   let b2 = balls.(j) in
   let c1 = b1.circle and c2 = b2.circle in
   let p = circle_circle c1.center c1.radius c2.center c2.radius in
   if length(c1.center -| p) < c1.radius then begin
     let u1 = b1.velocity and u2 = b2.velocity in
     let da1 = b1.angular_velocity and da2 = b2.angular_velocity in
     let r1 = c1.radius and r2 = c2.radius in

     (* Find the velocity difference to the center-of-momentum frame. *)
     let com = 0.5 *| (u1 +| u2) in

     (* Move to COM frame. *)
     let u1 = u1 -| com and u2 = u2 -| com in
     let u = unitise (c2.center -| c1.center) in
     let v = normal u in
     let impulse = u2 -| u1 +| (da1 *. r1 -. da2 *. r2) *| v in
     let impulse_u = dot u impulse *| u in
     let impulse_v = dot v impulse in
     let v1 = u1 +| impulse_u and v2 = u2 -| impulse_u in
     let da1' = da1 +. impulse_v *. r1 in
     let da2' = da2 -. impulse_v *. r2 in

     (* Move from COM frame. *)
     let v1 = v1 +| com and v2 = v2 +| com in

     balls.(i) <- { balls.(i) with
        velocity = v1;
        angular_velocity = da1' };
     balls.(j) <- { balls.(j) with
        velocity = v2;
        angular_velocity = da2' };
     impacts.(i) <- p :: impacts.(i);
     impacts.(j) <- p :: impacts.(j);
   end
 done;
    done;

    for i=0 to n-1 do
      let b = balls.(i) in
      let r = b.circle.center and dr = b.velocity in
      let a = b.angle and da = b.angular_velocity in
      let rec aux dr = function
   [] ->
      { balls.(i) with
   circle = { balls.(i).circle with center = r +| dt *| dr };
   angle = mod_float (a +. dt *. da) (2. *. pi);
   velocity = dr -| (t' -. t) *| g }
 | p::t ->
     (* Make sure the velocity is not pointing towards the impact
        point. *)
     let d = unitise(r -| p) in
     aux (dr -| min 0. (dot dr d) *| d) t in
      balls.(i) <- aux dr impacts.(i);
      match impacts.(i) with
 [] | [_] -> ()
      | _ ->
   balls.(i) <- { balls.(i) with angular_velocity = 0. }
    done;
    balls, impacts in

  (* Bisect if there was at least one impact and the time slice was large
     enough. *)
  let aux = function [] | [_] -> true | _ -> false in
  if dt<0.01 && (Array.for_all aux impacts || dt < 1e-3) then balls' else
    let t2 = (t +. t') *. 0.5 in
    update t2 t' (update t t2 balls)

let old_time = ref 0.

let idle () =
  let time' = time() in
  balls := update !old_time time' !balls;
  old_time := time';
  Glut.postRedisplay ()

let () =
  ignore (Glut.init Sys.argv);
  Glut.initDisplayMode ~alpha:true ~double_buffer:true ~depth:true ();
  Glut.initWindowSize ~w:1024 ~h:1024;
  ignore (Glut.createWindow ~title:"Bouncing balls");
  GlClear.color (0., 0., 0.) ~alpha:0.;

  Gl.enable `blend;
  List.iter Gl.enable [`line_smooth; `polygon_smooth];
  List.iter (fun x -> GlMisc.hint x `nicest) [`line_smooth; `polygon_smooth];
  GlDraw.line_width 4.;
  GlFunc.blend_func ~src:`src_alpha ~dst:`one;

  Glut.reshapeFunc ~cb:reshape;
  Glut.displayFunc ~cb:display;
  Glut.idleFunc ~cb:(Some idle);
  Glut.keyboardFunc ~cb:(fun ~key ~x ~y -> if key=27 then exit 0);
  Glut.mainLoop ()
    

Ce que les réfugiés en disent


SpiceGuid il y a plus de 11 ans

Je découvre que le code OCaml est maintenant sensible à la case bisou



SpiceGuid il y a plus de 11 ans

C'est du code OCaml tiré de l'ouvrage OCaml for Scientists Smile



Zergy il y a plus de 11 ans

Mais à quoi sert donc le code source (en python) disponible dans ta fiche personnelle ?

C'est pour prendre la place d'Ivaldir ? icon_scratch



sasacool il y a plus de 11 ans

icon_surprised je ne savais même pas alors que je suis un fan "Des aventuriers du rail"



Ertaï il y a plus de 11 ans

Oui, j'ai même le jeu sur iPad qui permet de jouer à plusieurs sur le même iPad ou alors avec d'autres joueurs sur Internet Smile



sasacool il y a plus de 11 ans

Alors toi aussi tu joues aux Aventuriers du rail. Perso je trouve ce jeu super.


amin94916 il y a plus de 11 ans

sweat2



Hiruzen il y a plus de 12 ans

Moi perso, je me réveille à 6h maxi sourire3



Aka Guymelef il y a plus de 12 ans

Heureusement que tu es un grand flemmard de base, imagines que tu te sois réveiller à 8 heures heure française (ou moins) DoubleAccentCirconflexe



Ertaï il y a plus de 12 ans

Merci !

Au passage, je viens de me réveiller comme une fleur à midi heure française, ce qui correspond à 6 heures du matin heure locale, tout va bien, je ne suis pas du tout décalé sweat2



Aka Guymelef il y a plus de 12 ans

Bon vent d'Outre Atlantique icon_wink



Ertaï il y a plus de 12 ans

Une déclaration d'amour fraternel en public, il ne manquait plus que ça sur AG. sweat2



Cathaseris il y a plus de 12 ans

Heureusement qu'internet est là. J'ai presque pas le sentiment de perdre un pote comme ça.



Ertaï il y a plus de 12 ans

Je pars Mardi prochain, soit le 28 Février Smile



TSG il y a plus de 12 ans

Du coup, le jour de ton départ, c'est quand exactement?



SpiceGuid il y a plus de 12 ans

html, javascript, css, etc... Ragnarokplouf



Ertaï il y a plus de 12 ans

Evidemment ça m'intéresse. Je ne sais pas si je pourrai en faire quelque chose, mais ça m'intéresse Smile



Aka Guymelef il y a plus de 12 ans

Ertaï tu avais mentionné publier quelques articles à propos de l'intégration web (j'imagine tout ce qui est montage, javascript, css, etc...). Si tu n'as pas d'idées moi j'aurai un sujet où j'aimerais bien avoir ton avis sur la façon de procéder. Dis-moi si ça t'intéresse.



Dragoris il y a plus de 12 ans

Hey, je ne m'en suis aperçu que tard mais joyeuse fête du 13 août Hyppolyte !



Ertaï il y a plus de 12 ans

Nan mais c'est bien, on a transformé ma fiche personnelle en radio libre. Allez-y, défoulez-vous, quoi. icon_rolleyes



Aka Guymelef il y a plus de 12 ans

Tient je croyais que c'était le blog d'Ertaï ici ? Je m'âs trompé on dirait... icon_wink



Sevilla il y a plus de 12 ans

La vie n'est peut-être qu'une vaste illusion fumeuse ?

Attendez...je crois que je tiens une idée ! Ça peut vous paraître absurde, mais imaginez une seconde un malin génie non moins rusé et trompeur que puissant, qui emploierait toute son industrie à nous tromper sur notre existence...

D'ailleurs il y a un proverbe latin confortant mon idée: "Tere pera, numera castilla beni esùstis" qui signifie "la terre est ton père, nombreux en sont les châteaux bénis".

Méditez sur cette phrase.



TSG il y a plus de 12 ans

[Dérive de sujet incoming!]

Ben écoute ouais, si j'ai un pseudo, c'est pas pour qu'on m'appelle par mon prénom, et échanger des vidéos pour fap-fap-fap par MP, c'est par non-plus mon trip... Surtout avec quelqu'un dont je ne connais rien ou presque. Je veux dire, avec mon ami Whisperfrost, éventuellement on vas utiliser nos prénoms ou des pseudos plus récents, parce qu'on est pote depuis à peu près 4ans, on discute quotidiennement sur mon serveur mumble comme des gros geeks et on bosse sur nos univers fictifs. C'est du lourd quoi.

Après pour les passions et compagnie, c'est une question de point de vue, et je pense que ça dépend aussi de l'âge. Vu mon âge, m'être collé à l'idée de monter 20 personnages sur WoW au niveau max juste pour le challenge de la chose (à la façon du mec qui construit une tour Eiffel en allumettes), je trouve ça moins fumeux qu'un mec qui s'éclate encore avec des Lego à je ne sais pas exactement quel âge (mais je doute que tu sois plus jeune que moi). Je dis pas, j'aime les Lego, mais j'ai arrêté de faire quoique ce soit avec il y a bien 7 ou 8ans, et c'est déjà vachement. Du coup que tu me dise que mes persos c'est fumeux...



SpiceGuid il y a plus de 12 ans

Hé bien je veux dire qu'une voiturette en legos ça a quand même une certaine réalité ludique. Bien sûr ça ne consomme pas d'essence mais ça a un volant qui tourne et ça avance quand tu la pousses. Alors qu'une Nécromancienne de niveau 80 hé bien c'est plus fumeux, c'est du pur fantasme. C'est une remarque, pas désobligeante du tout, amicale même, une allusion à ton pseudo. Une façon de dire que je t'ai vu changé, qu'à ton arrivée tu étais The Shooted Gobelin et que maintenant tu es davantage Très Soigneux Graphiste.

Mais bon après si tu veux qu'on continue à s'échanger des mots doux on peut le faire par message privé. (Mais seulement si je peux t'appeler Quentin sinon c'est pas la peine, et j'ai cru comprendre que c'était pas négociable)



TSG il y a plus de 12 ans

Ah...
Tell me more, tell me more!



SpiceGuid il y a plus de 12 ans

Au niveau artistique.



TSG il y a plus de 12 ans

Pour savoir, la fumette, c'est à quel niveau?



Ertaï il y a plus de 12 ans

Peut-être devrait-t-on attendre la fin de nos déboires judiciaires, et de savoir si je pars aux Etats-Unis à la fin de l'année ?



SpiceGuid il y a plus de 12 ans

Bon alors cette assemblée générale c'est pour bientôt ou bien tu attends que TSG arrête la fumette ?



TSG il y a plus de 12 ans

Then it shall be AG Industries .



Ertaï il y a plus de 12 ans

Elle est très bien Smile

Pour le nom, j'aime bien AG Corp ou AG Industries. Ce dernier nom, pour la petite anecdote, est aussi le nom d'un fabriquant de bolide anti-grav (AG) dans WipeOut HD Smile



TSG il y a plus de 12 ans

J'ai trouvé celle-ci qui a pas l'air deg :

http://www.dafont.com/fr/electrofied.font



TSG il y a plus de 12 ans

Et comme nom d'entreprise fictive, tu verrais quoi, donc?

Je cherche une police qui colle à ce que tu m'as montré sur le site DaFont .



Ertaï il y a plus de 12 ans

Je n'ai pas encore de logo, Dieu merci, mais je peux déjà te donner une piste, j'aime bien la police du logo de la société NEC , un truc futuriste mais pas trop, et surtout bleu. Je suis flatté que tu veuilles utiliser encore une référence du Refuge pour un de tes travaux perso Smile



TSG il y a plus de 12 ans

Dis-moi, Ertaï, si tu étais, supposons, le PDG d'une entreprise de haute-technologie, tu aurais quoi comme logo?

Où comme nom pour l'entreprise?
Un truc genre "Ertaï Corp"?

Pour expliquer, je prépare sur 3DsMax les fameuses plaques volantes à surface énergétiques configurables (P-VÀSEC!), et je me disais que je pourrais mettre ton logo dessus, mais tu ne dois pas déjà en avoir un...
Je peux du coup écrire le nom de l'entreprise fictive dessus façon logo...



Ertaï il y a plus de 12 ans

Tant qu'à faire, autant utiliser un tableau, ce sera plus lisible, notamment pour savoir l'auteur et le poids de la map Smile



Vbenyamin il y a plus de 12 ans

C'était aéré et c'était le plan de base de sbire



Ertaï il y a plus de 12 ans

@Vbenyamin : Oui, c'est moi, il y avait une raison précise pour laquelle les lignes étaient dissociées ?



TSG il y a plus de 12 ans

Je le ne demande pas parce que je n'ai pas la prétention d'être un Grammar Nazi. Moi aussi je fais des fautes, notamment de conjugaison. C'est rare, mais ça arrive.



Vbenyamin il y a plus de 12 ans

Tu as édité le topic annuaire des maps? Pourquoi avoir ré-attaché les lignes ensembles?



Vbenyamin il y a plus de 12 ans

icon_surprised Le secret fondateur du mouvement?



Ertaï il y a plus de 12 ans

Il n'a pas encore osé le demander niark



Vbenyamin il y a plus de 12 ans

Un autre membre du club des grammars nazis?



Ertaï il y a plus de 12 ans

Merci TSG de faire respecter l'ordre orthographique sur mon profil deg



TSG il y a plus de 12 ans

Tu veux dire *ne fait que passer* , non? icon_wink



Durulum il y a plus de 12 ans

*Ne fait que passé* sourire3



Vbenyamin il y a plus de 12 ans

Ca remarche c'est bon



Vbenyamin il y a plus de 12 ans

Je ne le vois que lorsque je clique sur les derniers commentaires



Vbenyamin il y a plus de 12 ans

Je ne vois plus de bouton "edit" depuis ce matin... Normal?



mvb il y a plus de 12 ans

j'peux te demander en amis sur la play 3



mvb il y a plus de 12 ans

ok merci c'est sympa pour les fautes dsl j'ai écrit un peu trop vite par contre aka guimelef ne répond pas il doit être en vacance



Ertaï il y a plus de 12 ans

Tu peux passer par l'assistant de création en haut à droite, il t'indiquera les rubriques disponibles. Choisis simplement celle dont le thème est le plus proche de celui de ton article. Celui-ci pourra toujours être déplacé plus tard Smile



mvb il y a plus de 12 ans

Juste tu peux me dire ou déposer mes articles pcq je suis nouveau et je sais pasou les écrire.



Vbenyamin il y a plus de 12 ans

Bon bah d'accord...



Ertaï il y a plus de 12 ans

Ben non, même pas perplexe

Les données de base des deux vues sont les mêmes, ça ne peut être qu'un problème de mise en cache, mais pourtant il est censé être régénéré après la modification...



Vbenyamin il y a plus de 12 ans

Ha, je t'ai reperé tu as bien modifié le post de sbire pour actualiser la vue site du post! icon_razz



TSG il y a plus de 12 ans

C'est toujours ça. Si vous pouvez proposer une invitation à ^1Hunk ^7! , c'est pas Mister X (contrairement à ce que l'avatar peut faire croire) mais Supertang, qui était membre ici, autrefois. Avant que je découvre qu'AG avait un groupe Steam, j'avais moi-même fais un groupe pour AG, mais je l'ai fermé avant de vous rejoindre, et il était dedans depuis 2008.  Smile



Ertaï il y a plus de 12 ans

C'est fait, bienvenue dans le groupe, même s'il n'est pas très actif icon_wink



TSG il y a plus de 12 ans

BTW, faudra m'ajouter au groupe AG.  icon_razz



TSG il y a plus de 12 ans

Effectivement, j'ai copié le nom complet, m'enfin ça aurait été plus évident de mettre seulement "Hypolite", vu que c'est ça le pseudo qui sert à te trouver sur Steam.



Ertaï il y a plus de 12 ans

Il suffit de cliquer sur le lien "hypolite_petovan" dans le cadre "Contacter Ertaï" icon_wink



TSG il y a plus de 12 ans

Ertaï, ton compte Steam existe encore? Parce que "Hypolite Petovan" c'est introuvable. Tu as pas un second pseudo?



Nasher il y a plus de 13 ans

Et voilà, maintenant ça va être de ma faute...



TSG il y a plus de 13 ans

J'ai cru comprendre en lisant la présentation de Nasher que sire Ertaï a un profil Tronchelivre. Chouette.

Si tu veux, on peut se passer nos identifiants en MP, hmmm?



Ertaï il y a plus de 13 ans

Je n'ai plus de webcam sur mon ordinateur et je n'ai toujours pas d'appareil sur mon téléphone portable, ce qui explique l'absence de photo auto-prises depuis un certain temps. La lassitude n'a pas aidé, non plus.



SpiceGuid il y a plus de 13 ans

Ça fait 9 mois qu'on attend le prochain tee-shirt icon_frown



Durulum il y a plus de 13 ans

Hahaha icon_lol



Vbenyamin il y a plus de 13 ans

Oups x)



Ertaï il y a plus de 13 ans

Qui c'est le premier fayot qui a posté un message ? icon_razz



Vbenyamin il y a plus de 13 ans

x) Je poste un message sur un mur et tous le monde vient pour faire les fayos



El-popoche il y a plus de 13 ans

On va dépoussiérer tout çà !



Sbirematqui il y a plus de 13 ans

Zut, j'ai 700 articles de retard. icon_razz

Au fait, on le revoit quand le Ertaï sans lunette ? sourire3



Durulum il y a plus de 13 ans

P'tit passage rapido sur cette page plein de poussières, je vais peut être revenir avec un attrape poussière sourire3



Ertaï il y a plus de 13 ans

Et bien écoute, merci d'être passé Vbenyamin, même pour dire que cette page tombe en désuétude !



Vbenyamin il y a plus de 13 ans

Waaah! 6 Mois sans aucuns messages sur ton profil ça fait long... Bref, c'était mon petit passage. Bonne soirée!



TSG il y a plus de 13 ans

Soulstorm, ha ha.DoubleAccentCirconflexe

Moi je m'étais arrêté à Dark Crusade. Franchement, j'avais rarement vu de missions de jeu de stratégie dans une campagne solo aussi vide d'intérêt depuis Warcraft2. A tout casser, il y avait une mission bien par race, et 4 autres mini-missions du genre "tuer 100 ennemis dans cette map"...

Starcraft 2, ça c'est un vrai bon jeu de stratégie qu'il est bon et qu'il faut en manger.



Sbirematqui il y a plus de 13 ans

Da même que Soulstrom se vante de revisiter une partie du jeu, mais le fait de faire la transition du 1 au 2 fait un jeu "artificiel", avec de trop qui vient gâcher l'ensemble... icon_frown



Ertaï il y a plus de 13 ans

Soulstorm est la dernière extension de Warhammer 40,000 Dawn of War incluant les Soeurs de bataille. Mais effectivement je n'ai pas trouvé qu'elles apportaient grand-chose en terme de diversité de jeu par rapport aux autres factions.



Teauma il y a plus de 13 ans

soulstorm, connais pas :/



Sbirematqui il y a plus de 13 ans

Un joueur de Soulstrom ? Pour moi, ce dernier add-on était de trop, les trois premiers sont largement suffisants... Je vous raconte les parties endiablées qu'on fait en LAN en essayant de battre un PC dément à 2 vs 1, sur une carte à 8... icon_razz



Teauma il y a plus de 13 ans

"Si vous voulez bien, on se taillera des pipes plus tard les enfants"



Ertaï il y a plus de 13 ans

D'une part je dois passer beaucoup moins de temps à tripoter des puzzles en plastique que toi, et d'autre part je ne suis pas intervenu techniquement sur le forum depuis le dernier Changelog. Partant du principe simple que je ne peux pas tout faire en même temps, j'ai mis de côté les développements pendant que j'ai trop de temps et donc du temps pour jouer, avoir un avis et le rédiger.

Et ça se voit, sur les 5 derniers articles qui ont été publiés sur le site, 4 sont de gros articles que j'ai écrit à propos de jeux vidéos dont deux très récents. A partir de la moitié du mois, ma compagne remet les pieds sur le sol européen, tu auras donc toute latitude pour me coiffer au poteau et je pourrai me reconcentrer sur ma priorité sur le Refuge qui est quand même de le développer, et la vôtres d'y contribuer effectivement.

Ce que tu fais avec brio, d'ailleurs. A moi de tirer mon chapeau à celui qui a su prouver qu'une rubrique Rubik était nécessaire pour ses travaux.



SpiceGuid il y a plus de 13 ans

Moi ça ne m'intéresse pas de savoir quel est ton meilleur profil.

Par contre je constate qu'en plus d'assurer la maintenance et l'évolution du site vers toujours plus de sophistication, tu parviens quand même à me distancer sur le nombre d'articles publiés.

Et là je dis chapeau l'artiste !



Ertaï il y a plus de 14 ans

- Wow, quel beau profil !
- Je sais je sais... mais je préfère quand même mon profil gauche.



Sbirematqui il y a plus de 14 ans

Sauf que tu ne sais pas tout...

Mais je veux bien la médaille ! sourire3



Ertaï il y a plus de 14 ans

Hé hé, c'est le risque quand tu flirtes avec les possibles.

Cela dit tes incartades m'auront permis de leur trouver une parade durable, renforçant ainsi la sécurité du Refuge à long terme. Tu mériterais presque une médaille.



Sbirematqui il y a plus de 14 ans

T'inquiète, je me rappelle que c'était une super d'idée, qui marchait du tonnerre, mais gardée en réserve au cas où... Sauf qu'aussi... Dommage que notre QG c'est fait démantelé cry



Mazer Rackham il y a plus de 14 ans

Editer des vieux posts ?
Meme ça, ça doit pouvoir ce classifier ...



Sbirematqui il y a plus de 14 ans

Redis, juste pour voir... DoubleAccentCirconflexe'



Luminox il y a plus de 14 ans

Mais il reste encore l'Autre Solution! Tu sais, celle que j'ai proposé l'été dernier...

Celle-La, Elle marche à coup sûr! *wink wink*



Sbirematqui il y a plus de 14 ans

Ouais, en plus, le QG est maintenant inopérant depuis la mise à jour du système de classification des contenus... -_-



Luminox il y a plus de 14 ans

T'es bien le seul icon_razz

Et non sbire, c'est une mauvaise idée, il suffirait de clicker sur les nouveaux contenus pour le voir s'afficher...



Ertaï il y a plus de 14 ans

Je m'aime deg


Imaez il y a plus de 14 ans

Je craque !



Sbirematqui il y a plus de 14 ans

Tiens!! Mais on peut faire presque un QG parrallèle en postant sur un profil-fantôme...

Sinon, Ertaï, meneur des modérateur, programmeur de la meur (mort, mais meur, ça fait plus peur), serviteur absoluuuuuuu, plus gros posteur, et surtout, il met depuis longetemps en œuvre une politique pour prendre le pouvoir d'aeries!!!!!!!



Aka Guymelef il y a plus de 14 ans

Ave Grand Magos Phpéiste

Contacter Ertaï

par message privé :

par Twitter : @ MrPetovan

par Windows Live Messenger : ben.lort@tiscali.fr

par PlayStation Network : hypolite_petovan

par Steam : hypolite_petovan

Tout à propos d'Ertaï

Inscrit le: vendredi 19 juin 2009

Articles: 135

Posts: 3399

Site Web: Ma collection de tee-shirt

Date de naissance: 26/10/1984

Les derniers articles d'Ertaï

En voir plus

Ses articles préférés

Ertaï n'a pas encore marqué son appréciation pour un article !

© Copyright 2002-2024 Aeriesguard.com - Mentions légales
Aerie's Guard V 7.0
réalisé par Ertaï, designé par Ivaldir, illustré par Izual et Sophie Masure
Famfamfam