28173 sujets

CSS et mise en forme, CSS3

Pages :
Bonjour,
J'aurais aimé créer une page contenant deux parties séparées horizontalement dont la hauteur de la première serait fixe et que la deuxième occupe toute la place restante.
Pour que ce soit plus clair, j'aimerais faire comme le modèle 13 mais que la partie du haut ait une hauteur fixe.
J'ai réussi à le faire mais en utilisant du javascript Smiley ohwell Smiley ohwell Smiley ohwell donc c'est pas top

Quelqu'un aurait une idée??
Modifié par sousoulebarbu (11 Jul 2006 - 01:02)
Bonjour sousoulebarbu,

Le problème que tu rencontre, je suppose, est de récupérer la valeur en auto que tu veux attribuer au width du contenu en fonction de la résolution de l'écran pour éviter d'avoir le scroll "global".

J'ai bien peur que si tu veux vraiment avoir une valeur fixe en px pour ton header, hors javascript (ou autre code) pas de solutions hélas.

A mois que tu crées des feuilles de style alternatives que tu auras testé sur les différentes résolutions, et encore tu risque de te retrouver confronté au gens qui ont des barres supplémentaires sur leurs navigateurs.

C'est là tout l'intéret du design "fluide" proposé dans le modèle 13, s'adapter complètement.

Ceci dit, je dis peut être des bétises, mais franchement je ne crois pas.

Bon courage,
Aymeric
Je me doutais un peu que ce n'était pas possible sinon je pense que les webmasters auraient appliqués ce style sur le modèle 13.
Quelqu'un aurait une autre idée???
sousoulebarbu a écrit :
Quelqu'un aurait une autre idée???

Un bloc conteneur général en height: 100%, avec dedans le header en position absolue. Ensuite, le premier élément après le header devra avoir une marge haute ou un padding (plutôt un padding, en fait) de la hauteur du header, pour que le contenu ne passe pas dessous.

Le conteneur général sera en overflow: auto.

Bref, un truc du genre est jouable, mais ça demande de bien jouer son coup, en particulier d'éviter l'apparition d'une barre de défilement vertical pour html, en faisant attention aux problèmes potentiels de fusion des marges.
mpop...je vais me pendre tellement c'était simple. Smiley decu

Tainnn y'a pas à dire, dés qu'on est pris dans autre chose on perd les reflexes.

Comme quoi, je le dis et redis, réfléchir aux problèmes des autres ça permet de pratiquer un maximum et c'est bon aussi pour soi.

Aymeric, sur ce je retourne à mes programmes de formation...
Salut,

Il est également possible de déterminer la hauteur d'un élément par les propriétés "top" et "bottom".
Ainsi on peut spécifier à la boîte de commencer par exemple à 50px du haut (top:50x) et d'aller jusqu'en bas (bottom: 0)

Petit hic : ce ne fonctionne pas avec IE 5/6 (IE7 oui).
Pour IE 6, il est possible en quirks mode d'utiliser le modèle de boîte de microsoft.
Mais si on souhaite qu'IE 6 interprète le document en mode standard, on peut utiliser en commentaire conditionnel quelque chose comme :
height: expression(document.documentElement.clientHeight -50 -0);
en tenant compte du padding ou bordure.

Voici un exemple pour le premier cas, et un autre pour le second.

Reste IE mac qui supporte la propriété "box-sizing" qui permet de faire la même chose qu'avec le modèle de boîte à la microsoft. (mais là pas de commentaire conditionnel possible)
Modifié par Alan (11 Jul 2006 - 18:51)
La solution de mpop présente un inconvénient trés casse-pied : si le bloc principal contient une ancre du type
<a name="mon_ancre">Texte de l'ancre</a>
lorsque l'on clic sur un lien désignant cette ancre
<a href="#mon_ancre">texte du lien</a>
le texte contenant l'ancre ne se positionne pas en tête de bloc, comme cela devrait être le cas, mais sous le header.
En clair, il est impossible d'utiliser les ancres avec cette solution. Smiley decu

Je préfère nettement la solution d'Alan (et surtout l'exemple N°2) qui ne présente pas cet inconvénient et qui fonctionne avec tous les navigateurs grâce à sa prise en compte des particularité d'Internet Explorer. Smiley smile

Ca serait bien que l'exemple d'Alan soit ajouté dans la liste des modèles.
Modifié par zapman (12 Jul 2006 - 04:27)
zapman a écrit :
Ca serait bien que l'exemple d'Alan soit ajouté dans la liste des modèles.

Je ne pense pas que ça soit possible, vu que cette solution est loin d'être une solution standard (enfin, la base est standard, mais non supportée par le principal navigateur du marché), et demande certains bidouillages.
mpop a écrit :
Un bloc conteneur général en height: 100%, avec dedans le header en position absolue. Ensuite, le premier élément après le header devra avoir une marge haute ou un padding (plutôt un padding, en fait) de la hauteur du header, pour que le contenu ne passe pas dessous.

Le conteneur général sera en overflow: auto.

À la réflexion, il me semble que le header doive se trouver en dehors du bloc conteneur général, sinon il disparaît vers le haut lors du scroll.
mpop a écrit :

À la réflexion, il me semble que le header doive se trouver en dehors du bloc conteneur général, sinon il disparaît vers le haut lors du scroll.

Je viens de tester ça:
CSS:
body {
	margin: 0; 
	padding: 0;
	overflow: hidden;
}
html {
	overflow: hidden;
}
#top { 
	height: 50px;
	background: #818FB1;
	margin: 0; 
	padding: 0;	
	position: absolute;
	top: 0;
	left: 0;
	width:100%
}
#content {
	position: absolute;
	top: 0;
	left: 0;
	width:100%;
	height:100%;
	overflow: auto;
	background: #B9DEE1;
	margin-top: 50px;
}

html:
<div id="content">
	Contenu

       Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur  consectetuer faucibus nibh. Fusce metus. Praesent ipsum metus, eleifend  eget, dapibus eu, posuere eu, sapien. Nunc nec dui. Sed purus lorem,  mollis eget, luctus quis, consequat eget, leo. Quisque mattis lacus et  quam. Aenean dignissim feugiat lectus. Nulla feugiat dui nec lorem.  Proin lacinia mauris ac dui. Duis molestie quam sit amet eros. 
	  Nulla tincidunt lacinia sapien. Fusce eget elit. Nunc metus nunc,  elementum semper, tempor vel, gravida eu, lorem. In vel mauris.  Suspendisse potenti. Lorem ipsum dolor sit amet, consectetuer  adipiscing elit. Curabitur egestas. Vestibulum enim. Suspendisse lorem.  Sed volutpat luctus leo. Quisque imperdiet tincidunt leo. In eu pede.  Etiam pellentesque metus eu velit. 
	  Mauris ante ante, laoreet venenatis, pulvinar nec, aliquet nec,  turpis. Etiam ac lorem. Morbi non metus ac ante mattis aliquam. Ut  tortor. Quisque non ipsum ut lectus euismod sodales. Etiam varius  interdum odio. Proin venenatis commodo odio. Cras at dui id sem  faucibus tristique. Integer ac diam. Sed ultricies lectus. Ut vehicula,  est vel iaculis molestie, neque diam vestibulum nulla, et facilisis  sapien sem vel libero. Fusce et arcu non justo feugiat consequat. Sed  eu mi eu tellus viverra malesuada. Pellentesque non ligula. Nunc  vehicula ante id nisi. Morbi consequat, nibh sed pharetra tempus,  tellus felis tincidunt lectus, eget tristique neque tortor feugiat  lacus. Nam elementum risus ut massa. Curabitur mi. 

	  Suspendisse sodales blandit mi. In hac habitasse platea dictumst.  Proin in tortor vitae sapien euismod dictum. Vestibulum id nisi. Class  aptent taciti sociosqu ad litora torquent per conubia nostra, per  inceptos hymenaeos. Integer non nunc. Pellentesque sed nibh eu erat  laoreet placerat. Sed quis nulla non magna eleifend interdum. Fusce  consectetuer, nisi eget porta auctor, pede nisi blandit massa, non  varius neque est vel dui. Curabitur dapibus commodo eros. Aenean libero  ante, porta nec, sodales et, lobortis id, est. Vestibulum blandit urna  ut ante. Nulla eleifend eros gravida purus. Donec eu felis. Donec  porta, nulla nec laoreet nonummy, turpis enim nonummy lectus, ac  posuere neque ante eget tellus. In tincidunt dui eget nunc. Donec  tincidunt arcu non velit. Pellentesque commodo, dui a luctus facilisis,  elit sem auctor nisi, sit amet ullamcorper tellus lacus eu metus. 
	  In tincidunt dignissim pede. Nam elementum. Nunc ullamcorper. Etiam  dignissim vulputate elit. Duis tempor placerat ante. Donec vel quam.  Proin nec risus. In fringilla. Maecenas ut magna. Praesent volutpat  risus a orci. Duis libero odio, consectetuer et, semper ac, placerat  eu, eros. Donec tempus, orci in porttitor lobortis, est lorem iaculis  dolor, a ultrices neque magna id lorem. Aliquam at tortor. Sed  suscipit, augue a porta ultricies, metus massa ullamcorper nisi, at  aliquet nulla orci eu sem. Ut et ligula pharetra odio tempor rhoncus.  Suspendisse vehicula condimentum libero. Pellentesque ac nulla. Sed  dictum. In ut massa. Quisque non orci. 
	  Donec id ipsum. Nam est nisi, tincidunt et, posuere ac, ultrices in,  urna. Suspendisse feugiat blandit lacus. Donec eu lectus. Nunc rutrum  libero nec mauris. Integer ornare, erat et dapibus consequat, sapien  felis pretium sapien, sit amet volutpat sapien nisi nec arcu. Vivamus  sit amet neque. Pellentesque habitant morbi tristique senectus et netus  et malesuada fames ac turpis egestas. Quisque ipsum. Mauris blandit,  velit nec ultrices tempor, justo massa suscipit lorem, at rhoncus justo  lectus non dui. Sed ultrices. Etiam porttitor mauris ut nunc. Etiam  metus. Aenean at est. Proin mattis massa quis elit. 
	  Sed dapibus. Praesent nisi elit, porttitor quis, blandit vel,  suscipit vitae, justo. Nunc varius eros non justo. Aliquam erat  volutpat. Nullam feugiat magna id elit. Suspendisse potenti. Aliquam  vitae diam. Sed enim. Nulla non quam at ante mattis interdum. Aliquam  mattis, tellus et tincidunt faucibus, risus nunc varius sem, ac  pellentesque quam elit non enim. Duis fermentum, nisi sed ultricies  ultricies, orci mauris cursus metus, quis eleifend tellus leo consequat  velit. Quisque vitae lacus ac libero vehicula lobortis. Nunc lorem sem,  tincidunt ut, volutpat quis, rutrum nec, enim. 
	  In hac habitasse platea dictumst. Mauris malesuada. Praesent nonummy  eros vel velit. Integer neque. Sed nisi. Nullam pretium mi a enim.  Donec feugiat. Maecenas sodales diam nec turpis. Suspendisse quam erat,  ultricies et, rutrum a, molestie eget, felis. Morbi diam dui, ornare  ut, posuere vitae, dapibus a, nibh. 
	  Aenean ut nulla. Donec faucibus commodo lorem. Pellentesque  consectetuer lorem id mauris. Mauris vestibulum. Quisque turpis risus,  elementum quis, bibendum eu, faucibus eget, lectus. Nullam ut ante in  ligula tristique condimentum. Phasellus vulputate sodales urna.  Maecenas suscipit justo. Sed dolor. Morbi ac risus. Praesent ac sem  quis massa eleifend feugiat. Quisque ac lacus. Fusce ultricies congue  tortor. 

	  Suspendisse id augue in nibh bibendum pellentesque. Duis dui. Cras  auctor. Proin vitae est eu sapien accumsan rhoncus. Donec tempor. Etiam  malesuada, mi in sagittis tincidunt, metus augue vestibulum risus,  nonummy faucibus nisi orci vel velit. Donec bibendum pretium dolor.  Vestibulum velit. Cras metus ligula, eleifend quis, hendrerit et,  feugiat vel, massa. Nunc vitae risus ut massa tincidunt elementum. In  luctus sagittis augue. Sed eget urna. Proin quis ipsum sit amet erat  vulputate sodales. Aenean ipsum. 
	  Curabitur molestie purus vel elit. Suspendisse malesuada.  Suspendisse bibendum enim sit amet turpis. Morbi dapibus magna. Nulla  laoreet tellus et ipsum. Donec consequat aliquam ipsum. In et tellus  ornare lorem vestibulum vestibulum. Sed dignissim gravida ipsum. Donec  eu risus sit amet sem scelerisque volutpat. Integer non lorem. Cras  imperdiet dapibus arcu. Etiam ultricies, erat vitae gravida luctus,  metus massa porttitor augue, euismod vehicula nibh nibh et felis.  Integer et eros. Nunc elit. Vivamus lacinia. Praesent pede lorem,  fermentum eget, eleifend et, aliquam ac, lectus. 
	  Fusce sapien sapien, viverra vitae, vestibulum sit amet, consequat  non, nisi. Morbi scelerisque mauris non nulla. Nulla tempor. Nunc  consequat. Cras sit amet sem. Vivamus dictum, erat in blandit blandit,  libero nisi vulputate ipsum, vitae tincidunt orci velit vel enim.  Aenean at lacus. Aenean dignissim orci in arcu. Fusce vel nibh. Sed  placerat erat eu tellus. Suspendisse aliquet sapien sit amet risus  venenatis adipiscing. Nunc molestie condimentum ante. Maecenas dictum.  Morbi nec velit. Sed eu pede at leo nonummy eleifend. Sed est pede,  semper ac, convallis quis, pretium vel, risus. Vestibulum ante ipsum  primis in faucibus orci luctus et ultrices posuere cubilia Curae;  Maecenas malesuada. Curabitur eget magna. Aliquam nonummy, risus ac  aliquam tristique, justo purus placerat lectus, ut suscipit lorem felis  eu tellus. 
	  In eu ligula. Etiam eu neque id est iaculis dictum. Phasellus  aliquam velit in dui lobortis gravida. Vestibulum posuere. Phasellus  quis elit a pede varius semper. Phasellus nisi velit, ullamcorper a,  vulputate quis, blandit vitae, nulla. Maecenas eu lacus. Nunc nonummy,  libero in fringilla viverra, dolor purus faucibus lacus, et congue odio  ipsum vel magna. Vestibulum vel massa non magna lobortis placerat.  Pellentesque orci nibh, scelerisque vitae, luctus non, suscipit eu,  dui. Nulla malesuada libero non odio aliquet convallis. In sed erat.  Nam nunc. Phasellus quis ipsum. 
	  Nullam convallis turpis nec massa. Suspendisse in eros. Lorem ipsum  dolor sit amet, consectetuer adipiscing elit. Nulla vel magna in ipsum  pretium blandit. Sed vel pede. Morbi eleifend turpis ac est. Sed  feugiat elit euismod ipsum dictum aliquet. Cras euismod volutpat odio.  Aliquam dolor eros, accumsan vitae, cursus hendrerit, pulvinar non,  ante. Duis tempor lacinia massa. Phasellus et libero eget pede blandit  mattis. Donec iaculis. Integer in est ac erat varius egestas. Morbi  purus. Integer erat nisl, porta id, malesuada vel, egestas eu, leo. 
	  Cras volutpat, augue eget gravida vehicula, est sapien sodales sem,  id facilisis sapien justo vel enim. Nunc ac mauris. Praesent quis quam  nec sem hendrerit aliquet. Aliquam ipsum leo, varius venenatis, commodo  nec, vehicula vitae, magna. Sed in lorem in urna auctor vestibulum.  Maecenas id justo. Proin magna. Praesent mollis ipsum eget ligula.  Aliquam blandit libero nec ligula. Sed consequat, est ac tincidunt  euismod, massa pede consequat est, nec scelerisque odio leo vel quam.  Vestibulum ante ipsum primis in faucibus orci luctus et ultrices  posuere cubilia Curae; Proin feugiat dui. Aliquam erat volutpat. Cras  elementum, erat a tincidunt vehicula, justo nulla rhoncus nibh, a  posuere dui libero vel enim. Nullam vestibulum, mauris ac ornare  fermentum, orci tellus ultrices leo, euismod tempus diam massa sed  magna. 
</div>
<div id="top">
	Header
</div>

Mais le problème c'est que la hauteur du bloc conteneur et calculé à partir du bas du margin-top, donc ça dépasse vers le bas.
En le remplaçant par padding, le haut (chez ie et ff) et le bas (chez ff) de la barre de défilement ne snt pas visible....Y aurait-il quelque chose que j'ai mal fait?

Même si la technique d'Alan est compliquée, je pense que je vais l'utiliser car c'est la seule qui semble fonctionner
En tout cas, merci à tous de vous être penché sur mon problème
sousoulebarbu a écrit :
Mais le problème c'est que la hauteur du bloc conteneur et calculé à partir du bas du margin-top, donc ça dépasse vers le bas.
En le remplaçant par padding, le haut (chez ie et ff) et le bas (chez ff) de la barre de défilement ne snt pas visible....Y aurait-il quelque chose que j'ai mal fait?

Le truc, c'est qu'il ne faut pas utiliser la moindre marge, padding ou bordure pour le conteneur général, sinon ça se rajoute à la hauteur de 100%, et 100%+50px ça fait plus que 100%, d'où les problèmes de scroll.

Le principe est de faire que le header s'affiche par dessus le conteneur. Ensuite, pour que le début du contenu ne soit pas recouvert par le header, on attribue au premier élément dans le conteneur une padding-top de la hauteur nécessaire.

Pour le placement des blocs, ça marche. Par contre, je ne suis pas sûr de l'efficacité de cette méthode pour l'utilisation des barres de défilement.
Sinon, il est recommandé de placer le header en premier dans le code. Ça ne change rien graphiquement, mais ça change tout pour l'accessibilité avec les navigateurs non graphiques ou les lecteurs d'écran.

Edit : ça marche (avec des z-index qui vont bien), mais la barre de défilement est cachée par le header sur les 50px du haut, ce qui est un peu perturbant.
Modifié par mpop (12 Jul 2006 - 22:26)
mpop a écrit :
mais la barre de défilement est cachée par le header sur les 50px du haut, ce qui est un peu perturbant.

Oui, c'est ce que j'aimerais éviter, je vais utiliser le code d'alan dans ce cas.
Merci encore à tous d'avoir pris le temps de me répondre.
Bonjour,

sousoulebarbu a écrit :
Bonjour,
J'aurais aimé créer une page contenant deux parties séparées horizontalement dont la hauteur de la première serait fixe et que la deuxième occupe toute la place restante.


Utiliser des frames et une DTD frameset. Ils ont été fait notamment pour cela.

Le reste n'est que bidouillage Smiley cligne
Modifié par Laurent Denis (12 Jul 2006 - 22:58)
À vrai dire, Alan propose deux solutions alternatives.
L'une a nécessite qu'IE6 utilise le modèle de boîte traditionnel (et non pas le modèle de boîte CSS standard), ce qui est provoqué par la présence d'un prologue XML en début de code. En jouant bien sur les critères du commentaire conditionnel, on peut se débrouiller pour que ça passe bien dans IE 5, 6 et 7.
Principal problème : IE6 est en mode quirks, ce qui n'est pas une bonne nouvelle pour le reste de la mise en page du site…

La deuxième solution ne pose pas ce problème, mais repose sur du Javascript. Si javascript désactivé…
sousoulebarbu a écrit :
J'ai toujours lu partout qu'il ne fallait pas utiliser de frames, vos opinions??


HTML 4.01 frameset et XHTML1.0 frameset sont des DTD tout à faire propres, convenables et fréquentables, quand elles répondent aux besoins exprimés.

Les standards commencent par là: assumer la DTD dont on a besoin Smiley cligne

<edit>
Ou renoncer au besoin malavisé, bien-sûr.

Dans ce cas précis, les hauteurs sont l'un des espaces incontrôlables dont l'utilisateur a besoin pour que ça marche chez lui. Le Web repose actuellement, en gros, sur le scroll vertical et la non-maîtrise des hauteurs côté auteur. En attendant les media queries et/ou le protocole CC/PP qui permettront de négocier les styles et le contenu en fonction de la résolution du client, cet espace est vraiment indispensable.

On peut bidouiller des solutions apparentes, bien-sûr. Ou on peut assumer et retourner aux formats plus anciens et problématiques par ailleurs qui le permettent incidemment. Mais, et c'est l'important, on ne le fera pas de manière satisfaisante en termes de qualité en forçant les formats stricts et transitionnels actuels à le faire. Ils ne sont pas faits pour ça.
</>
Modifié par Laurent Denis (12 Jul 2006 - 23:18)
mpop a écrit :
La deuxième solution ne pose pas ce problème, mais repose sur du Javascript. Si javascript désactivé…


Moins de 1% des internautes naviguent avec Explorer en ayant désactivé le JavaScript. Ceux là ne verront pas les ascenseurs.

Compte tenu des termes de la demande de soussouslebarbu, je ne pense pas qu'il existe une autre solution présentant un inconvénient plus faible que celui-là.
zapman a écrit :


Moins de 1% des internautes naviguent avec Explorer en ayant désactivé le JavaScript. Ceux là ne verront pas les ascenseurs.


Que voilà un chiffre intéressant. Il répondrait enfin à une question qu'un tas de gens se sont posé.

Une source ? Hum ?
Laurent Denis a écrit :


Que voilà un chiffre intéressant. Il répondrait enfin à une question qu'un tas de gens se sont posé.

Une source ? Hum ?


Je citais de mémoire une étude Xiti sur laquelle je ne parviens pas à remettre la main malgré de longues recherches.

Histoire d'avoir quelque chose à répondre, j'ai fureté un peu partout et la source la plus crédible que j'ai pu trouver est celle-ci :
http://www.w3schools.com/browsers/browsers_stats.asp
qui donne un chiffre nettement différent de celui de Xiti : 10%

Et bien soit, mea maxima culpa, si le problème concerne 10% des utilisateurs, on ne peut pas les laisser en plan !
Je viens de tester avec succès ce qui suit pour offrir une alternative aux internautes ayant désactivé le javascript :

<!--[if IE]>
	<NOSCRIPT>
		<STYLE>
			HTML {OVERFLOW: auto;}
		</STYLE>
	</NOSCRIPT>
<![ endif]-->

C'est quelques lignes sont à ajouter à la fin des styles définis par Alan. Elles font en sorte qu'un navigateur sans Javascript puisse scroller la page en mode traditionnel. Les blocs fixes ne sont plus fixes, mais au moins le site reste parfaitement naviguable.

Laurent Denis a écrit :


HTML 4.01 frameset et XHTML1.0 frameset sont des DTD tout à faire propres, convenables et fréquentables, quand elles répondent aux besoins exprimés.

Les standards commencent par là: assumer la DTD dont on a besoin Smiley cligne

<edit>
Ou renoncer au besoin malavisé, bien-sûr.

Dans ce cas précis, les hauteurs sont l'un des espaces incontrôlables dont l'utilisateur a besoin pour que ça marche chez lui. Le Web repose actuellement, en gros, sur le scroll vertical et la non-maîtrise des hauteurs côté auteur. En attendant les media queries et/ou le protocole CC/PP qui permettront de négocier les styles et le contenu en fonction de la résolution du client, cet espace est vraiment indispensable.

On peut bidouiller des solutions apparentes, bien-sûr. Ou on peut assumer et retourner aux formats plus anciens et problématiques par ailleurs qui le permettent incidemment. Mais, et c'est l'important, on ne le fera pas de manière satisfaisante en termes de qualité en forçant les formats stricts et transitionnels actuels à le faire. Ils ne sont pas faits pour ça.
</>


Je trouve ce discours trés théorique pour 2 raisons :
1- Compte tenu du parc absolument considérable de PC dans le monde, j'ai bien peur qu'il faille attendre plus d'une décénie avant que les standards actuels ne puisse être considérés comme "remplacés" par d'autres, quels qu'ils soient. Même dans 10 ans, il est probable qu'il restera quelques pourcents d'internautes naviguant avec IE 6. Et croire que les standards à venir ne présenteront aucun problème de compatibilité est à mon avis hypothétique. Je préfère être plus pragmatique et rechercher, pour chaque problème, une solution qui fonctionne aujourd'hui.
2- Je n'adhère pas à l'affirmation "les standards actuels ne sont pas fait pour ça". La norme CSS telle qu'elle se présente aujourd'hui est à mon sens parfaitement adaptée au besoin. Il se trouve simplement que IE ne l'implémente pas entièrement. Gérer ce navigateur par des commandes spécifiques me semble donc logique et cohérent à défaut d'être satisfaisant d'un point de vue intellectuel. En refusant d'exploiter les possibilités des standards actuels, on se prive par contre des bénéfices du progrès qu'ils apportent et on bloque leur évolution.

En résumé, et puisque tu proposes trés noblement d'assumer ses choix et ses besoins, je suggère d'assumer aussi le monde tel qu'il se présente aujourd'hui : imparfait. La recherche d'une solution "parfaite" dans un monde imparfait est illusoire. Contentons nous de solutions qui marchent dans la plupart des cas. Audiard disait : "2 cons qui marchent iront toujours plus loin qu'un intellectuel assis".
Modifié par zapman (13 Jul 2006 - 03:21)
Pages :