Created
March 13, 2012 22:19
-
-
Save bussiere/2032147 to your computer and use it in GitHub Desktop.
generate feneter in hacker style rulez
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# todo : | |
# Pouvoir doubler les bords ou le haut ex : ** | |
# Parser le html pour prendre que le affiché ex <a href="">titi</a> ne prendre que titi. | |
# ou encore recupérer la taille d'un formulaire. | |
# prevoir un systeme de ligne ou colonne aussi. | |
# Bussiere | |
string = ["totosdjfsdfsdfdsfsdfsdfsdfsdfsdft","titigsgsgsgsgsgsgs","tata"] | |
texte = """Qui n’a jamais eu besoin d’un coup de main, et aucune idée d’où trouver de l’aide ? | |
Qui n’a jamais fait le tour de tous ses contacts pour dépanner un ordinateur | |
en urgence, emprunter une machine à coudre ou demander | |
si quelqu’un a le numéro d’un serrurier ouvert un dimanche à 23h ? | |
Tout le monde a déjà eu affaire à l’ami d’un ami qui connaît un gars | |
qui peut nous aider, et tout le monde connaît l’angoisse qui va avec. | |
Jackpoint est un projet de réseau social d’entraide et de mise en relation, | |
dont le but est de simplifier ces petites démarches. | |
Né du constat de deux amis aux carnets d’adresses étendus et aux contacts variés | |
qui faisaient souvent appel l’un à l’autre, | |
Jackpoint est un projet de site internet où les membres pourront échanger coups de pouce | |
et conseils en supprimant les intermédiaires, | |
pour qu’il ne reste qu’un ensemble de compétences accessible à tous. | |
Plus encore, Jackpoint espère pouvoir rassembler diverses communautés aux thématiques communes, | |
qui ne partagent pas forcément entre eux (goths, geeks…). | |
Le projet s’inspire de sites comme Metafilter, Stackoverflow ou encore Parano.be. | |
#En quoi ça consiste ? | |
Jackpoint fonctionnera sur un système d’invitations. Les invités rempliront | |
un profil où il faudra renseigner leurs compétences, | |
les langues parlées et le matériel spécifique dont ils disposent (informations privées par défaut, | |
libre à eux de les montrer aux autres utilisateurs ou non), | |
et pourront ensuite poser des questions et demander conseil aux autres utilisateurs. | |
Un système de « poignées de main » permettra de visualiser comment les membres sont reliés entre eux. | |
Un membre invité sera à une poignée de main de celui | |
qui envoie l’invitation, et aura accès au réseau de ce dernier en tant que contacts à deux poignées de main, | |
et ainsi de suite. | |
#Demandes de coups de main | |
Lorsqu’un membre aura besoin d’un service, il mettra dans son message les tags des compétences dont, | |
selon lui, son problème relève. | |
Tous les utilisateurs disposant de cette compétence seront alertés du message et pourront y répondre. | |
Il sera ensuite possible de voter pour la réponsela plus pertinente. | |
Dans le cas d’un échange de service, il est possible de recevoir, en échange d’un coup de main, un jeton de service, | |
correspondant aux compétences que possède le demandeur, mais qui ne sont pas utiles pour l’instant. | |
Ces jetons sont transférables d’un utilisateur à un autre. | |
Il sera possible de demander un coup de main ouvertement, ou en tant qu’anonyme, si, par exemple, | |
cela concerne l’anniversaire surprise d’un membre inscrit. | |
Un système de karma permettra de récompenser les utilisateurs les plus actifs. | |
#Achats groupés | |
Une rubrique du site permettra aux membres de se rassembler pour faire un achat ensemble. | |
Par exemple, si une promotion propose 100m de tissu pour 100€ mais qu’une seule personne | |
ne peut pas mettre autant d’argent en jeu d’un coup, | |
elle peut proposer à d’autres de partager le coût et le stock de tissu. | |
#Annonces | |
Une autre rubrique permettra aux utilisateurs de passer des annonces d’achat ou vente, | |
mais aussi proposer des offres d’emplois, demander un stage… | |
#Wall SMS | |
Que faire si, un dimanche soir, à 23h, on casse une clé dans sa serrure en rentrant chez soi ? | |
Tout le monde n’a pas Internet sous la main, | |
ou le crédit de communication nécessaire pour appeler les informations. Jackpoint a peut-être la solution : | |
Un numéro de téléphone relié au serveur permettra, en cas de souci urgent, d’envoyer un SMS | |
qui sera publié sur le site. Les membres connectés pourront y répondre, réponses qui seront | |
transférées au téléphone d’où vient l’appel au secours. | |
#Lieux et évènements | |
Jackpoint permettra, en plus de permettre de s’entraider et trouver facilement une solution à ses problèmes, | |
de partager ses bonnes adresses,ou organiser des évènements. | |
Un système de tag donnera la possibilité aux membres d’entrer des lieux dans la base de données, | |
en donnant son avis. | |
Pratique, pour savoir où trouver une pharmacie ouverte la nuit, ou quel magasin aura le produit qu’on cherche. | |
De même un avis négatif permettra | |
aux membres de rester prudents quant à tel ou tel service. | |
Organiser une soirée, prévenir d’une convention ou d’un concert devient très simple grâce à Jackpoint. | |
Le site permettra d’avertir les utilisateurs d’un évènement qui peut intéresser, | |
mais dont on n’entend pas forcément parler. | |
Par exemple, une foire organisée par une commune qui n’a pas fait de publicité en dehors. | |
#Groupes, Workshops et tutoriaux | |
Le site ayant pour ambition de mettre en commun des connaissances, il sera possible | |
de faire partager ses passions aux autres utilisateurs, | |
qui pourront créer des groupes pour se rassembler et discuter autour d’un thème, | |
ou d’un projet rapprochant plusieurs thèmes ou compétences, | |
afin d’avoir une vue d’ensemble et apporter des points de vue variés. | |
Les utilisateurs pourront mettre en ligne des tutoriaux pour faire découvrir une de leurs | |
passions ou domaines de compétence. | |
De plus, ils pourront organiser des « workshop », pour se retrouver IRL et partager leur savoir, | |
avec du matériel et des démonstrations à l’appui. | |
Enfin, ils pourront aussi partager des articles sur un sujet qui les passionne | |
et réagir dessus avec les autres membres. | |
#Mécaniques | |
Jackpoint fonctionnera sur un système de « tags » inclus à chaque message, qui fera référence aux compétences, | |
lieux ou thèmes évoqués dans chaque message | |
pour un indexage facilité. | |
Même si le site ne sera accessible que sur invitation, les questions et réponses seront libres d’accès | |
et indexées par Google. | |
Seuls les utilisateurs pourront interagir, et de l’extérieur on ne saura pas qui est l’auteur des messages, | |
mais quelqu’un avec un problème similaire | |
pourra trouver, via les moteurs de recherche, les réponses données sur Jackpoint. | |
Chaque utilisateur pourra aussi télécharger une partie de la base de données sur son ordinateur, | |
pour pouvoir y accéder sans connexion internet. | |
Cette sauvegarde pourra servir en cas de panne informatique, pour remonter le site. | |
Un client mobile est aussi à l’étude, pour que Jackpoint soit accessible depuis les téléphones portables. | |
Ce projet est non marchand et libre de droits. Le site sera open source, et la base de données téléchargeable. | |
N’importe qui pourra réutiliser le code pour monter son propre carnet d’adresses Jackpoint. | |
Le but de cette démarche est que, en cas de problème, le site puisse tourner sans le webmaster. | |
La base de données pourra donc être téléchargée | |
et remontée ailleurs, avec un système de cryptage basé sur les mots de passe des utilisateurs, | |
qui garantira que les messages privés ne restent accessibles que par eux. | |
#Interface | |
L’interface aura un thème cyberpunk qui fait référence à l’origine du nom du projet : | |
dans Shadowrun, ce nom désigne un rendez-vous de hackers | |
et centre d’échange d’informations en tout genre. Il y a également une référence | |
à l’expression américaine « Jack of all trades ; master of none », | |
qui qualifie les gens capables de tout faire, un petit peu, et qui caractérise l’esprit du site. | |
En se connectant, l’utilisateur verra les notifications qu’il a reçues de la part de ceux | |
qui ont besoin de résoudre un problème. | |
Une banderole d’astuces (« tips ») défilera sur toutes les pages du site, pour donner de petits conseils | |
qui peuvent toujours servir. | |
Par exemple : « toujours garder un vieux téléphone portable dans sa voiture, | |
qui sera plus résistant niveau batterie qu’un smartphone en cas d’accident » | |
#Avancement du projet : | |
Le webmaster espère pouvoir proposer une version beta du site fin mars, et lancer Jackpoint d’ici au mois de juillet. | |
C’est un travail long et prenant qu’il effectue en plus de son emploi à plein temps, et de l’aide serait la bienvenue ! | |
Le moteur du site est fini, reste à coder l’interface utilisateurs. Seront lancés en premier : | |
L’inscription des membres et le rajout des compétences | |
La demande de coups de main | |
Le rajout de lieux et d’évènements | |
Le Wall SMS | |
Sincerely Yours | |
Jack Of All Trades | |
""" | |
tab = texte.splitlines() | |
def encadrement(string,hauteur="#",largeurg="#",largeurd="#",align="center"): | |
h = 0 | |
l = 0 | |
c = 0 | |
for t in string : | |
if len(t) > l : | |
l = len(t) | |
h += 1 | |
rajout = l / 20 | |
if rajout == 0 : | |
rajout = 1 | |
lignetop = (l + (rajout*2)+2*len(largeurg))*(hauteur) | |
total = lignetop+"\n" | |
for t in string : | |
if (align == "center"): | |
space = ((len(lignetop)-2-len(t))/2) | |
if (space == 0 ): | |
space = 1 | |
space1 = space | |
space2 = space | |
else : | |
space = 2 | |
space1 = rajout | |
space2 = (len(lignetop)-len(t)-rajout-len(largeurg))-1 | |
if len(largeurg+" "*space1+t+" "*space2+largeurd) < len(lignetop): | |
space1 += 1 | |
total += largeurg+" "*space1+t+" "*space2+largeurd+"\n" | |
total += lignetop+"\n" | |
return total | |
print encadrement(string) | |
print encadrement(string,hauteur="*",largeurg="*",largeurd="*") | |
print encadrement(string,hauteur="/",largeurg="/",largeurd="/") | |
print encadrement(string,hauteur=";",largeurg=";",largeurd=";") | |
print encadrement(string,hauteur="_",largeurg="(",largeurd=")") | |
print encadrement(tab,hauteur="*",largeurg="*",largeurd="*",align="left") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment