"…mais ce serait peut-être l'une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d'autre que du code…"

Archive for the ‘Web applications’ Category

Une grande nouvelle pour le monde python et django: « Google app engine »

Posted by patrick sur avril 8, 2008

http://www.techcrunch.com/2008/04/07/google-jumps-head-first-into-web-services-with-google-app-engine/ (« Google isn’t just talking about hosting applications in the cloud any more. Tonight at 9pm PT (7 april 2008) they’re launching Google App Engine (Update: The site is live), an ambitious new project that offers a full-stack, hosted, automatically scalable web application platform. It consists of Python application servers, BigTable database access (anticipated here and here) and GFS data store services. At first blush this is a full on competitor to the suite of web services offered by Amazon, including S3 (storage), EC2 (virtual servers) and SimpleDB (database)« )

A voir

http://code.google.com/appengine/articles/

http://code.google.com/appengine/articles/django.html (« Google App Engine and Django both have the ability to use the WSGI standard to run applications. As a result, it is possible to use nearly the entire Django stack on Google App Engine, including middleware. As a developer, the only necessary adjustment is modifying your Django data models to make use of the Google App Engine Datastore API to interface with the fast, scalable Google App Engine datastore. Since both Django and Google App Engine have a similar concept of models, as a Django developer, you can quickly adjust your application to use our datastore. »)

Posted in google, logiciel libre, python, Web Frameworks | Leave a Comment »

Comment poster du code python avec WordPress ? -> [sourcecode language="python"']xxxx [/sourcecode]

Posted by patrick sur janvier 21, 2008

Pour poster du code python, il faut utiliser dans la fenêtre de composition visuel de l’éditeur et placer le code python entre les balises suivantes: balises python

'['sourcecode language="python"']'  xxxx [/sourcecode]

supprimer les '' autour de '[' et ']'

Source: http://www.edwardandrewrobinson.com/source_code_to_wordpress.txt

Exemple 1:

indentation python
#This
#is an example
#of what your source code will look like
x = True
if x:
    print 'hello world'

Exemple 2:

sourcecode_python1.png
from django.utils.translation import ugettext as _
def my_view(request):
    output = _("Welcome to my site.")
    return HttpResponse(output)

Exemple 3:



exemple 3
def my_view(request):
    sentence = 'Welcome to my site.'
    output = _(sentence)
    return HttpResponse(output)

Posted in blogs, python, Web applications, wordpress | Tagué: | Leave a Comment »

Nouvelles de python pour la semaine du 14 au 20 janvier 2008

Posted by patrick sur janvier 21, 2008

En vrac, quelques nouvelles de python

================================
http://highscalability.com/youtube-architecture (« – encore sur la liste Tutor, on apprend que YouTube emploie Python: YouTube grew incredibly fast, to over 100 million video views per day, with only a handful of people responsible for scaling the site. How did they manage to deliver all that video to all those users? And how have they evolved since being acquired by Google?

Information Sources

  • Google Video

    Platform

  • Apache
  • Python
  • Linux (SuSe)
  • MySQL
  • psyco, a dynamic python->C compiler
  • lighttpd for video instead of Apache

    What’s Inside?

    The Stats

  • Supports the delivery of over 100 million videos per day.
  • Founded 2/2005
  • 3/2006 30 million video views/day
  • 7/2006 100 million video views/day
  • 2 sysadmins, 2 scalability software architects
  • 2 feature developers, 2 network engineers, 1 DBA
  • Web Servers

  • NetScalar is used for load balancing and caching static content.
  • Run Apache with mod_fast_cgi.
  • Requests are routed for handling by a Python application server.
  • Application server talks to various databases and other informations sources to get all the data and formats the html page.
  • Can usually scale web tier by adding more machines.
  • The Python web code is usually NOT the bottleneck, it spends most of its time blocked on RPCs.
  • Python allows rapid flexible development and deployment. This is critical given the competition they face.
  • Usually less than 100 ms page service times.
  • Use psyco, a dynamic python->C compiler that uses a JIT compiler approach to optimize inner loops.
  • For high CPU intensive activities like encryption, they use C extensions.
  • Some pre-generated cached HTML for expensive to render blocks.
  • Row level caching in the database.
  • Fully formed Python objects are cached.
  • Some data are calculated and sent to each application so the values are cached in local memory. This is an underused strategy. The fastest cache is in your application server and it doesn’t take much time to send precalculated data to all your servers. Just have an agent that watches for changes, precalculates, and sends….)
  • =============================
    http://www.oreillynet.com/onlamp/blog/2008/01/pymotw_threading.html (« Doug Hellman’s Python Module of the Week is all about threading. »)

    http://www.python.org/dev/peps/pep-0369/ (« This PEP proposes enhancements for the import machinery to add post import hooks. It is intended primarily to support the wider use of abstract base classes that is expected in Python 3.0.The PEP originally started as a combined PEP for lazy imports and post import hooks. After some discussion on the python-dev mailing list the PEP was parted in two separate PEPs « )

    http://www.python.org/dev/peps/pep-3119/ (… Abstract This is a proposal to add Abstract Base Class (ABC) support to Python 3000. It proposes:

    • A way to overload isinstance() and issubclass().
    • A new module abc which serves as an « ABC support framework ». It defines a metaclass for use with ABCs and a decorator that can be used to define abstract methods.
    • Specific ABCs for containers and iterators, to be added to the collections module.

    Much of the thinking that went into the proposal is not about the specific mechanism of ABCs, as contrasted with Interfaces or Generic Functions (GFs), but about clarifying philosophical issues like « what makes a set », « what makes a mapping » and « what makes a sequence ». There’s also a companion PEP 3141, which defines ABCs for numeric types. Acknowledgements Talin wrote the Rationale below [1] as well as most of the section on ABCs vs. Interfaces. For that alone he deserves co-authorship. The rest of the PEP uses « I » referring to the first author. In the domain of object-oriented programming, the usage patterns for interacting with an object can be divided into two basic categories, which are ‘invocation’ and ‘inspection’. Invocation means interacting with an object by invoking its methods. Usually this is combined with polymorphism, so that invoking a given method may run different code depending on the type of an object. Inspection means the ability for external code (outside of the object’s methods) to examine the type or properties of that object, and make decisions on how to treat that object based on that informationone of the criticisms of inspection by classic OOP theorists is the lack of formalisms and the ad hoc nature of what is being inspected. In a language such as Python, in which almost any aspect of an object can be reflected and directly accessed by external code, there are many different ways to test whether an object conforms to a particular protocol or not. For example, if asking ‘is this object a mutable sequence container?’, one can look for a base class of ‘list’, or one can look for a method named ‘__getitem__’. But note that although these tests may seem obvious, neither of them are correct, as one generates false negatives, and the other false positivesThis PEP proposes a particular strategy for organizing these tests known as Abstract Base Classes, or ABC. ABCs are simply Python classes that are added into an object’s inheritance tree to signal certain features of that object to an external inspector. Tests are done using isinstance(), and the presence of a particular ABC means that the test has passed…Specification The specification follows the categories listed in the abstract:

    • A way to overload isinstance() and issubclass().
    • A new module abc which serves as an « ABC support framework ». It defines a metaclass for use with ABCs and a decorator that can be used to define abstract methods.
    • Specific ABCs for containers and iterators, to be added to the collections module. »)

    http://www.webfaction.com/demos/django (« How to install a real-life Django application on our servers. Watch Demo« )

    http://www.vulnerabilite.com/securite-open-source-audit-faille-coverity-actualite-20080110223332.html (« Doté d’une enveloppe initiale de 300 000 dollars, le programme Open Source Hardening Project a été lancé en mars 2006 avec pour mécène le département américain de la sécurité intérieure ( DHS ). Ce programme dont la conduite a été confiée à l’Université de Standford et à la société Coverity, a pour objectif de passer au crible le code de plusieurs logiciels open source (écrits en C et C++) parmi les plus populaires afin d’identifier les failles présentes, et ainsi contribuer au renforcement de leur sécurité... La société basée à San Francisco a par ailleurs défini plusieurs niveaux dans le processus de correction de bugs, soit 3 au total et a annoncé mardi que 11 projets open source ont atteint le niveau le plus élevé ( Rung 2 ). En raison des efforts fournis pour assurer de façon proactive l’intégrité et la sécurité des applications développées, Coverity indique que les entreprises et particuliers peuvent choisir avec encore plus de confiance les logiciels open source suivants : Amanda, NTP, OpenPAM, OpenVPN, Overdose, Perl, PHP, Postfix, Python, Samba et TCL... Si tous les logiciels contrôles ne peuvent pas encore prétendre au Rung 2, certains le pourront dans les prochains mois mais en attendant, Firefox ou encore Apache restent cantonnés au Rung 1 (86 projets), voire au Rung 0 (173 projets) comme nmap ce qui signifie que les bugs détectés n’ont pas encore été corrigés« )

    http://holdenweb.blogspot.com/2008/01/resolver-released.html (« In yet another piece of good news for Python fans, Resolver Systems have released their first product. It’s a spreadsheet that you can manipulate in Python, and it’s received a lot of interest from the financial communities on both sides of the Atlantic. [You would not believe how much of the world’s financial dealing is controlled and managed by spreadsheets; it’s really quite scary]. Resolver One is written in IronPython by a team which includes the Fuzzyman (occasionally also known as Michael Foord), of Voidspace Techie Blog fame, and it’s currently the largest product developed in that languages, with a total codebase (including tests) of over 100 kloc. The company is bravely making the product available (though not, I believe, as open source) free for non-commercial use.« )

    Posted in 2008, Ironpython, python, Web applications, Web Frameworks | Tagué: , , , , , | Leave a Comment »

    Quelques nouvelles de python: Django, Python 3000, Ironpython, Zope/Plone

    Posted by patrick sur décembre 17, 2007

    Quelques nouvelles du monde python

    • django
    • python 3.0
    • zope/plone
    • ironpython

    Django:

    http://www.holovaty.com/blog/archive/2007/12/12/1311(« It’s here! At long last, the print copy of the Django Book has shipped. I received my author copies late last week and am still poking at them to make sure that, yes, a tangible book with my name on the cover has actually been printed, on real paper, by a real publisher. Now that the Django Book is finally in the can, I’m mulling the idea of writing another book — this time, a book about online journalism. In the past two years, I’ve been to (way too) many journalism-related events and conferences trying to spread the good word about « journalism via computer programming, » and I’ve detected a strong, I daresay furious, demand, from journalists at all levels in the org chart, for information about this new form of journalism. Higher-ups want to know why I want to take a shot at writing a manual, a manifesto, a practical guidebook to this emerging discipline of database-driven Web journalism. It would be a combination of high-level strategy and low-level technique, probably split cleanly into two parts (one for the suits, one for the non-suits) they should employ programmers; middle managers want to know how to find them and how to treat them; and working journalists want to learn these skills and strategies. The problem is that I can’t point them anywhere for in-depth information. This book would attempt to solve that. . »)

    Python 3.0

    • http://www.artima.com/weblogs/viewpost.jsp?thread=220341 (« This is just a quick post to let everyone know that Python 3.0a2 is released as of 10:30am PST (18:30 UTC) today (Friday December 7, 2007). I’m grateful to the many people who have contributed to this release, in particular new core developers Christian Heimes and Amaury Forgeot d’Arc.GHOP contestants who contributed documentation updates, and to Georg Brandl for collecting these and submitting them to Subversion. There are still many more tasks available! However, I do want to mention that based upon the feedback for 3.0a1, we’ve decided to make the ‘bytes’ type immutable, and create a separate mutable bytes type, ‘bytearray‘. These two types are mutually compatible, but in the majority of cases you’ll be using bytes, not bytearray. I should also note that we’ve run into an issue with the Windows installers — see the release page above. If anyone can help this, please write to python-dev at python.org. (The script that creates the installer is in the distribution as Tools/msi/msi.py.) And finally, a word of thanks to all the participants « )
    • http://simonwillison.net/2007/Dec/16/chapter/ (« Chapter 7: Form Processing. The chapter on newforms I contributed to “The Definitive Guide to Django” is now online, along with the rest of the published book. »)
    • http://www.lethain.com/entry/2007/dec/04/two-faced-django-part-1-building-project-exists-si/ (« This series of articles aims, in the clear step-by-step style of the Django tutorial, to take you through the process of building a Django application that exists as both a simple web application, and also as a Facebook application. The web and Facebook applications will store information in the same database, using the same models, and thus users of one interface will be able to interact with the other.« )
    • http://simonwillison.net/tags/python/ : un excellent recueil de nouvelles sur Django

    Zope, plone
    http://encolpe.wordpress.com/2007/12/02/archgenxml-et-le-futur-de-la-generation-de-code-sous-zopeplone/ (« ArchGenXML et le futur de la génération de code sous Zope/Plone. Cela faisait un bon moment que je n’avais pas écrit un billet ici… et pour cause: on temps libre est principalement occupé par le développement et les tests de la version 2.0 de ArchGenXML. Contrairement à la version 1.5 qui ciblait Plone 2.1avec une compatibilité Plone 2.5 cette version est construite autour du support de Plone 3.0 avec une compatibilité vers Plone 2.5…Les buts atteints de cette version sont le passage en egg de ce module, le support des profils Generic Setup , la génération des interfaces Zope3, la génération des tests unitaires et des tests fonctionnels en python et au format doctest. Des gros changement en perspective, et une incompatibilité avec la génération précédente. Nous restons bloqués en phase d’évaluation béta par manque testeurs. Nous cherchons en particulier des testeurs pour la partie génération de workflows…Du coté du futur de la génération de code, ArchGenXML génère déjà du code Zope 3 (pour son utilisaton dans Plone) et d’autres projets de CMS en python commencent à s’intéresser à cette possibilité (voir la branche Django)…L’autre nouveauté, plus contraignante celle-ci, est l’utilisation de nouveaux connecteurs dans les schémas UML pour symboliser les ‘adapter’. Les versions précédentes d’ArchGenXML se satisfaisaient d’éditeurs utilisant UML 1.4 et il faut à présent des éditeurs utilisant UML 2.0 au minimum pour cette nouvelle fonctionnalité. Exit donc les éditeurs tel que ArgoUML qui était le seul éditeur UML libre supportéPour l’instant nous allons continuer d’utiliser ArgoUML et Poseidon pour le développement des fonctionnalités d’ArchGenXML. En un mois j’ai testé umbrello, gaphor, Apollo pour eclipse et Papyrus. Papyrus est vraiment très intéressant et est développé au CEA. Mais cela reste une extension d’eclipse donc il faut faire du Java pour générer du Python… c’est un peu dommage.« )

    Ironpython

    http://www.voidspace.org.uk/python/weblog/arch_d7_2007_12_08.shtml#e899 (« the last few days I’ve been off work trying to get a chapter on Windows Presentation Foundation finished. I haven’t got as much of the writing as I would have liked done, but I have finished the research and completed two of the three examples. WPF is great for creating funky user interfaces, and comes with some great controls. Despite the emphasis on XAML it is also easy to use from code…More importantly, two more chapters of IronPython in Action are available in the Manning Early Access Program. I’m pretty proud of these chapters. Chapter 7 is on testing with IronPython (including functionally testing a GUI application) and chapter 8 is about deeper aspects of Python and interacting with the .NET framework. The information in section 8.4 is vital to any non-trivial interaction with .NET so I’m glad it has gone liveWPF FlowDocuments are cool by the way, very high level document viewing controls for very little effort – but another new markup to learn (a subset of XAML) to use them« )

    http://www.voidspace.org.uk/python/weblog/arch_d7_2007_12_08.shtml#e898 (…My talk is Python in your Browser with IronPython & Silverlight, the second one on the list!

    Silverlight is a new browser plugin from Microsoft. It is intended for media streaming, games and rich internet applications. It is cross-platform and cross-browser and comes with a rich programmers API.

    Through the Dynamic Language Runtime, Silverlight is fully programmable with IronPython – meaning that at last client side web applications can be written fully in Python. This talk will explore some of the things that you can do with IronPython in the browser.

    This includes making web apps run faster, writing ‘rich’ applications (or games), and embedding a Python interpreter into web pages for tutorials and documentation.

    It is a good year for IronPython talks (and so it should be). As well as my talk there are:

    • IronPython: The Road Ahead (48 – Jim Hugunin)
    • End-user computing without tears using Resolver, an IronPython spreadsheet (65 – Giles Thomas – the Resolver boss!)
    • Using .NET Libraries in CPython (103 – Mr. Feihong Hsu – a talk on Python.NET which definitely deserves more attention and is related to IronPython)

    There is also a talk by another Resolver developer (not on IronPython though):

    • Getting started with test-driven development (5 – Jonathan Hartley)

    It should be a great conference. Smile« )

    http://www.resolverhacks.net/ ( » Resolver is a powerful tool for collecting, handling and analysing ‘business data’. It inhabits the space somewhere between a traditional spreadsheet and a Rapid Application Development tool. With Resolver you can use the familiar spreadsheet interface to create applications, build powerful spreadsheets pulling in data from databases and financial data-streams, or implement business logic to be integrated into other IT systems. Its power and flexibility comes from the fact that it is fully programmable with Python code, using the .NET framework. This means that you can use just about any .NET or Python library within your spreadsheets. You can also easily develop libraries of functions and classes to be shared between your spreadsheets. Spreadsheets can be exported as code, enabling you to re-use business logic with other Python or .NET applications.Resolver has a few other novel features, like shared worksheets which can be editted simultaneously by multiple users on different machines. We’re sure that new and innovative uses for Resolver will develop, and hopefully this website will help uncover some of them! Resolver can import and export data from Excel, and there are interesting tricks for communicating with or even driving Excel. You can also reference cells inside an Excel spreadsheet from a Resolver spreadsheet.For a longer overview of the features of Resolver, read Resolver: What and Why?. »)

    http://www.voidspace.org.uk/python/weblog/arch_d7_2007_12_08.shtml#e897 (« The version released was 1.0 beta 4. This includes quite a few major changes since I last updated you about progress with Resolver. One of the major changes was that we made the API for working with spreadsheet objects simpler from user code. This was a lot of work, but I think it was worth it. The very worst side effect was that it broke most of my examples on the Resolver Hacks website. Today I have finally got around to updating it and putting new screenshots in (Resolver got prettier):

    There are around thirty pages of articles and examples to get you going with Resolver. Some of the most useful ones are:

    http://www.ironpython.info/index.php/Main_Page (« This wiki contains recipes and example code for IronPython. IronPython is a Microsoft port of the Python Programming Language to the .NET framework.

    Python is a dynamic language, used for a wide variety of purposes, with an emphasis on clean and expressive code. It allows the maximum flexibility for the developer, whilst maintaining readability of code.« )

    http://www.manning.com/foord/ («  IronPython in Action offers a comprehensive, hands-on introduction to Microsoft’s exciting new approach for programming the .NET framework. It approaches IronPython as a first class .NET language, fully integrated with the .NET environment, Visual Studio, and even the open-source Mono implementation. You’ll learn how IronPython can be embedded as a ready-made scripting language into C# and VB.NET programs, used for writing full applications or for web development with ASP. Even better, you’ll see how IronPython works in Silverlight for client-side web programming. IronPython opens up exciting new possibilities. Because it’s a dynamic language, it permits programming paradigms not easily available in VB and C#. In this book, authors Michael Foord and Christian Muirhead explore the world of functional programming, live introspection, dynamic typing and ‘duck typing’, metaprogramming, and more. IronPython in Action explores these topics with examples, making use of the Python interactive console to explore the .NET framework with live objects. The expert authors provide a complete introduction for programmers to both the Python language and the power of the .NET framework. The book also shows how to extend IronPython with C#, extending C# and VB.NET applications with Python, using IronPython with .NET 3.0 and Powershell, IronPython as a Windows scripting tool, and much more.« )

    http://ironpython-urls.blogspot.com/2007/12/mono-boo-python-gnome-ironpython.html (« Mono, Boo, Python, Gnome & IronPython. Miguel de Icaza has a blog entry responding to an article on ‘Mono Usage in the Enterprise’:

    It has some interesting comments on the role of Python in the Gnome project and IronPython and Boo on Mono: Python is indeed making great strides as a desktop development platform and am not sure that we are in the business of competing with it. If people like writing Python code, they should just keep writing python code. Myself, I like the IronPython variation of Python more. IronPython just happens to be JITed Python and in most tests it is faster than CPython. For the past year or so, we have also been in love with Boo, another .NET language. Boo has support for strong typing, so for certain scenarios you will get even better performing code (basically, when you can determine the type of a variable ahead of time, instead of having the variable be entierly late bound).« )


    Produits, bibliothèques Python

    http://wiki.secondlife.com/wiki/Eventlet (« Eventlet is a networking library written in Python. It achieves high scalability by using non-blocking io while at the same time retaining high programmer usability by using coroutines to make the non-blocking io operations appear blocking at the source code level.

    Eventlet runs on Python version 2.3 or greater, with the following dependenceis:

    • greenlet
    • (if running python versions < 2.4) a deque object in a collections module. One option is to copy this deque into a file called collections.py.


    Eventlet began life as Donovan Preston was talking to Bob Ippolito about coroutine-based non-blocking networking frameworks in Python. Most non-blocking frameworks require you to run the « main loop » in order to perform all network operations, but Donovan wondered if a library written using a trampolining style could get away with transparently running the main loop any time i/o was required, stopping the main loop once no more i/o was scheduled. Bob spent a few days during PyCon 2005 writing a proof-of-concept. He named it eventlet, after the coroutine implementation it used, greenlet. Donovan began using eventlet as a light-weight network library for his spare-time project Pavel, and also began writing some unittests.

    When Donovan started at Linden Lab in May of 2006, he added eventlet as an svn external in the indra/lib/python directory, to be a dependency of the yet-to-be-named backbone project (at the time, it was named restserv). However, including eventlet as an svn external meant that any time the externally hosted project had hosting issues, Linden developers were not able to perform svn updates. Thus, the eventlet source was imported into the linden source tree at the same location, and became a fork. Bob Ippolito has ceased working on eventlet and has stated his desire for Linden to take it’s fork forward to the open source world as « the » eventlet.« )

    http://www.artima.com/weblogs/viewpost.jsp?thread=217546 (« The Python Quick Reference has been the most excellent resource for many years, because it gives you an overview of the entire language and usually allows you to quickly find the solution you’re looking for. If it doesn’t, it has links directly into the Python documentation. Just so Richard Gruet and the others who work on the PQR know, you have lots of fans out there. Thanks for all your work…Before you fire up your comments, I continue to root for Ruby. I think it’s great that Sun is directly supporting it as the scripting language for the JVM (as far as I know none of the other languages are actually getting financial support). I am also attracted to the more dynamic features of the language like open classes and the like. As far as dynamic languages on the JVM, both Ruby and the upcoming new version of Jython seem to me to be the most attractive of the offerings.But to make Ruby easier, I suggest that Rubyists study from and plagiarize the PQR, and also learn from the « batteries included » approach in the Python standard libraries. Both of these are things that keep me going back to Python« )

    Posted in 2007, DotNet, Ironpython, python, RAD, RIA, Web applications | Tagué: , | Leave a Comment »

    Un nouveau framework web python basé sur Zope3: Hivurt

    Posted by patrick sur novembre 26, 2007

    Source: http://groups.google.com/group/comp.lang.python.announce/browse_thread/thread/d15eb12ba492c378?hl=en

    TOPIC: Hivurt new open source CMS 0.1.3pre-alfa released

    == 1 of 1 ==
    Date: Fri, Nov 23 2007 5:25 am
    From: Mikhail Kashkin

    Hi everybody,

    Key Solutions (http://keysolutions.ru/) and Hivurt team (http://hivurt.org/) proud to announce first public release of our Zope3-based content management system.

    Hivurt giving you strength of Zope 3 in easy to use environment.

    This is release aimed for developers and everybody who love new cool
    products, we want take first feedback from community and looking for
    new members.

    What you get:

    – Component architect
    – Easy switch between ZODB and Postgres data storage
    – Search and indexes
    – Easy editor UI (sorry we cut off some functionality, so there is still some dead links)
    – Easy frontend skin
    – L10n and i18n support, as in Zope 3

    What’s inside:
    – Pluggable Content Types and content types registry
    – Base conent types:
    – Folder
    – TextDocument
    – News Item
    – NewsFolder
    – Event
    – Event Folder
    – Site Folder
    – Form keeper, for quick and easy Feedback forms and quizes
    – Interface switcher, to easy switch interfaces provided by objects (we use it for quick skin switching)
    – Revolutionary SQLTools giving you freedom choose between ZODB and RDBMS, so you can easy integrate Hivurt in your company with existent infrastructure. Easy way to interact with existence data stored inside RDBMS as Zope objects (it is not only RDB Mapper)
    – Quick search and index
    – and many other features
    – Hivurt is fast, quick growing and supported.

    Requirements (You need to have before installing Hivurt)

    * Zope 3.3.x (3.4.x untested)
    * PostgreSQL 8.2
    * Python 2.4.4 with psycopg2 and json libs
    * Tested on Mac OS X and Linux (Ubunty and ALTLiniux)

    Hivurt released under **ZPL**.

    You can download it:

    – Release 0.1.3 http://hivurt.org/downloads/ks.hivurtcms-0.1.3.tar.gz

    Include 10 minutes Install tutorial and demo site inside.

    Links:

    – Project home-page – http://hivurt.org/
    – Blog – http://hivurt.wordpress.com/ (ok! we switch to something soon)
    – Bugs and translations – https://launchpad.net/hivurt/

    P.S. Wow! We made it.
    P.P.S. We are looking for new clients feel free to contacts us.


    Mikhail Kashkin, skype:mkashkin, jabber:mkashkin@gmail.com
    Key Solutions (http://keysolutions.ru/)
    Offshore Zope3 development

     

    Posted in bases de données, CMS, open source, python, Web applications | Tagué: , | Leave a Comment »

    Des nouvelles du monde python: ironpython, windmill, satchmo, grok + le réseau social ohloh.net

    Posted by patrick sur novembre 10, 2007

    Quelques nouvelles du monde python:

    • différentes mesures de la popularité du langage python sur http://www.langpop.com/. Le langage C vient en première position tandis que Python se situe entre la 6e et la 12e position suivant les outils de mesure.
    • la version 2.06a de Ironpython est sortie (« …this release includes all of the changes we have made in the past month. The most noteworthy differences include:
      • the IronPython project is now distributed under the Microsoft Public License (Ms-PL)
      • improved support of COM events under the –X:PreferComDispatch flag
      • the abstract syntax tree for IronPython is being hardened so to speak
      • we have included an updated DLR sample in the source zip file – ToyScript
      • Internally we have migrated our Visual Studio project and solution files over to a Visual Studio 2008 beta release. While we’ve modified these files in the source distribution of IronPython to be compatible with Visual Studio 2005 and the msbuild tool, it’s possible we may have missed something. If you experience any problems building IronPython from VS tools please let us know.
      • The ToyScript sample is not intended to be distributed with IronPython on a permanent basis and will likely be released in some other fashion in the not too distant future. »)
      • For whatever reasons, IronPython 2.0 Alpha 6 started to invoke delegate to abstract method. (Previous versions didn’t.) This triggered Mono bug 317488 which is apparently hard to fix. https://bugzilla.novell.com/show_bug.cgi?id=317488 I developed completely insane workarounds to avoid this problem. Now you can laugh (or weep). https://fepy.svn.sourceforge.net/svnroot/fepy/trunk/patches/latest/patch-317488
    • Source: http://www.voidspace.org.uk/python/weblog/ (« ...Web application testing with Windmill. A new (Python based) browser testing tool was just announced on the Testing in Python Mailing List. It comes out of the Chandler Project and claims to implement a larger set of a browser testability than Selenium: Windmill.
      • Windmill is an Open Source AJAX Web UI Testing framework written in Python and JavaScript originally for testing the Chandler Server WebInterface at OSAF. After spending time with Selenium we realized we had a variety of needs that weren’t being fulfilled and built Windmill from the ground up. Windmill implements cross browser testing, in-browser recording and playback, and functionality for fast accurate debugging and test environment integration. Support for Firefox, IE6/7, Safari on * *Windows, Linux and Mac OS 10.4 and 10.5.)
    • http://www.ohloh.net/projects/search?page=1&q=django (« Ohloh is an open source network that connects people through the software they create and use. Ici on recense les projets basés sur le framework web python Django. »)
    • http://www.satchmoproject.com/ (« ...Satchmo’s mission is to use Django to create an open source framework for creating unique and robust online stores. To provide maximum flexibility, Satchmo is licensed under the BSD license…. This project was started by a group of individuals that were interested in using the Django framework to create a robust shopping cart solution. After some more discussions, we have decided to focus on building a modular framework of shopping cart or eCommerce packages that can be easily put together to form a full store. Here’s a bunch of questions you might be asking yourself at this point… Why use Django? First off, we wanted to use Python for the project. Many of us have experience with similar PHP based projects and we quickly realized that they tend to break down pretty quickly under the unwieldy syntax, lack of good OO support and hackish nature of many of the projects. Once we decided on Python, there were many frameworks to evaluate. They all have tradeoffs but there are some things we really liked about Django:
      • Robust, scalable system that has been used on major commercial sites
      • Clean separation of program logic from presentation
      • Nice abstraction of SQL (but with the capability to code SQL if required)
      • Solid documentation
      • URL mapping capabilities will be very useful for a shopping cart solution
      • Out of the box admin capabilities making it easy to get up and running & provide enhanced security for multiple users in a store.

    This list is not exhaustive and there could be endless debate and flamewars on the choices but we’ve all reached this decision independently and encourage you to investigate & make your own choice….« )

    • http://grok.zope.org/ (« Grok is a web application framework for Python developers. It is aimed at both beginners and very experienced web developers. Grok has an emphasis on agile development. Grok is easy and powerful. You will likely have heard about many different web frameworks for Python as well as other languages. Why should you consider Grok?
      • Grok offers a lot of building blocks for your web application.
      • Grok is informed by a lot of hard-earned wisdom.

    Grok accomplishes this by being based on Zope 3, an advanced object-oriented web framework. While Grok is based on Zope 3, and benefits a lot from it, you do not need to know Zope at all in order to get productive with Grok« )

    ..etc, etc…

    Posted in Ironpython, python, REST, tests, Web applications | Tagué: , , , , | Leave a Comment »

    Quelques outils pour développer une application open source: Une application open source basée sur JEE 5 et JBoss Seam: Nuxeo5

    Posted by patrick sur novembre 7, 2007

    Les applications Java sont souvent employées dans des environnements assez lourds. Cette situation cependant s’améliore grâce à l’utilisation d’outils open source utilisés dans d’autres projets et également grâce à la mise en oeuvre de  serveurs d’applications Java EE 5 qui implémentent les fonctionnalités extrêmement attendues telles qu’Enterprise JavaBeans 3.0 (EJB3), Java Persistence API (JPA) et JavaServer Faces (JSF).. Voulant aussi aussi parler des logiciels libres en entreprise, on s’intéressera à Nuxeo 5 qui utilise Jboss Seam en tant que composant de son framework web.

    ECM (Enterprise Content Management) : la gestion de contenu (en anglais Enterprise Content Management, ECM) vise à gérer l’ensemble des contenus d’une entreprise. Il s’agit de prendre en compte les informations sous forme électronique, qui ne sont pas structurées, comme les documents électroniques, par opposition à celles déjà structurées dans les bases de données. À titre d’exemple, on va pouvoir gérer l’ensemble des informations d’un dossier client : courriers papier, courriels, fax, contrats, etc., dans une même infrastructure)

    Nuxeo 5 est une plateforme complète de gestion de contenu d’entreprise, robuste et extensible, développée selon un modèle de logiciel libre par la société Nuxeo et une communauté de contributeurs, en utilisant des technologies Java EE open source.La plateforme Nuxeo couvre l’ensemble du spectre fonctionnel et technique de l’ECM :- Gestion documentaire (GED)- Travail collaboratif– Gestion des processus métiers (workflow documentaire)- Gestion de la conformité légale ou réglementaire

    – Gestion des documents d’archives (Records Management)

    – Gestion des contenus multimédias

    Gestion des connaissances (KM)

    Historique de Nuxeo 5: « …La finalisation de Java Enterprise Edition 5.0 (Java EE 5) était attendue en 2007 et Nuxeo voulait être en mesure de tirer parti de nouvelles fonctionnalités extrêmement attendues telles qu’Enterprise JavaBeans 3.0 (EJB3), Java Persistence API (JPA) et JavaServer Faces (JSF). Le projet de migration vers Java EE 5 a été lancé avec pour objectif de livrer la plateforme Nuxeo 5 au 4ème trimestre 2006..

    En ce qui concerne Java open source, un seul nom s’est imposé : JBoss.
    « Le choix de JBoss Application Server fut évident car il se trouve au
    cœur d’un package logiciel open source dont nous avions déjà testé
    plusieurs modules indispensables à notre projet, »

    …Nuxeo 5 utilise:

    – JBoss Cache pour fournir le stockage temporaire distribué de la plateforme ECM pour les données d’accès fréquent,

    – JBoss jBPM pour fournir la gestion des processus commerciaux et les flux de travaux,

    – JBoss Rules pour permettre la création de règles commerciales,

    – et JBoss Seam, qui est une structure innovante de programmation de composants, pour fournir une couche Web dynamique et extensible qui unifie les fonctionnalités Java EE5 telles qu’EJB3 et JSF, ainsi que les technologies Web 2.0 telles qu’Asynchronous JavaScript et XML (Ajax).

    …Enfin, en tant que fournisseur de solutions open source, Nuxeo a
    apprécié le processus de développement ouvert et collaboratif de
    JBoss, qui a bien accueilli la participation et la contribution des clients,
    des partenaires et des particuliers. Ceci est l’antithèse du logiciel
    commercial, dont le développement se fait à huis clos et qui est fourni
    dans une boîte noire
    . Grâce à son expérience utilisateur avec JBoss
    Enterprise Middleware, Nuxeo est en mesure de contribuer à la direction
    du développement de JBoss. Et pour finir, cela signifie avoir droit à la
    parole et être entendu.

    Autres sources:

    http://www.michaelyuan.com/blog/2006/11/14/seam-without-ejb3/ (« Seam has always supported POJO components in addition to EJB3 components. You can use Seam POJOs to replace EJB3 session beans and Hibernate POJOs to replace EJB3 entity beans« )

    http://www.jboss.com/products/seam ou – http://labs.jboss.com/jbossseam/ (« JBoss Seam is a powerful new application framework for building next generation Web 2.0 applications by unifying and integrating technologies such as Asynchronous JavaScript and XML (AJAX), Java Server Faces (JSF), Enterprise Java Beans (EJB3), Java Portlets and Business Process Management (BPM). Seam has been designed from the ground up to eliminate complexity at the architecture and the API level. It enables developers to assemble complex web applications with simple annotated Plain Old Java Objects (POJOs), componentized UI widgets and very little XML.« )

    http://labs.jboss.com/jbossejb3/ (« Enterprise Java Beans (EJB) 3.0 is a deep overhaul and simplification of the EJB specification. EJB 3.0’s goals are to simplify development, facilitate test driven development, and focus more on writing plain old java objects (POJOs) rather than on complex EJB APIs. EJB 3.0 has fully embraced Java Annotations introduced in JDK 5.0 and also simplifies the API for CMP entity beans by using Hibernate as the EJB 3.0 Java Persistence engine.« )

    http://www.michaelyuan.com/blog/about/ (« Welcome to my blog site! My name is Michael Yuan. I am a technologist, author, and open source advocate based in Austin, Texas. I currently work as a Technology Evangelist at the JBoss division of Red Hat Inc. Before joining JBoss, I was an independent software consultant in the field of mobile end-to-end solutions« ) et son flux RSS (http://www.michaelyuan.com/blog/category/seam/feed/)

    http://www.redhat.com/developers/rhds/index.html (« Red Hat Developer Studio is a set of eclipse-based development tools that are pre-configured for JBoss Enterprise Middleware Platforms and Red Hat Enterprise Linux. Developers are not required to use Red Hat Developer Studio to develop on JBoss Enterprise Middleware and/or Red Hat Linux. But, many find these pre-configured tools offer significant time-savings and value, making them more productive and speeding time to deployment« )

    – Learn more about Seam here, and find a list of commonly answered questions here. Or, follow this road map to get started with Seam right away! You can view a recorded Seam webinar.

    http://blogs.nuxeo.com/sections/blogs/fermigier/2007_03_08_nuxeo-s-open-source-projects-trully-community-driven-hell-yes-they (« Fortunately, the short answer is “of course we are community-driven”. With Dion’s criteria, I can confidently self-grade us at A+ (or 20/20, for french-educated people). Here are the criteria and my comments)

    http://www.nuxeo.org/sections/documentation/ (« Learn Nuxeo EP 5.1 basics with some video demos« )

    http://www.nuxeo.org/sections/community/ (« The Nuxeo projects are open source (licensed under the LGPL) and developed with the participation of the community. We mean « participation » here as either: working as a core developer, contributor, third-party component developer (we have designed Nuxeo 5 to be very easily extensible by independent people, to create an « architecture of participation »), tests (unit tests, integration tests or functional tests) writer, Maven / Eclipse specialist, documentation writer / proofreader, etc.« )

    Here is a list of what you can do to get involved with the Nuxeo 5 development:

    http://maven.nuxeo.org/ (« This website is the Apache Maven site for the Nuxeo EP As stated on the nuxeo.org site, « Nuxeo 5 is an innovative, standards-based, open source platform for ECM applications. Its component-based and service-oriented architecture makes it easy to customize and extend, making developers more efficient and ultimately, happier ». For more general information about the project, we strongly suggest that you go to the Nuxeo.org website. What you will find on this site are highly technical, developers-focussed, information related to the project. These information are generated by the build tool we use (and we recommend to third-parties that which to use or extend the platform), Apache Maven, from the source code and meta-information developers put in the source. open source ECM platform. »)

    http://maven.nuxeo.org/source-repository.html (« This project uses Subversionhttp://svnbook.red-bean.com/ to manage its source code. Instructions on Subversion use can be found at . »)

    – Accès aux sources

    • Anonymous access

    The source can be checked out anonymously from SVN with this command:

    $ svn checkout http://svn.nuxeo.org/nuxeo/nuxeo-ep/trunk nuxeo-ecm
    • Developer access

    Everyone can access the Subversion repository via HTTPS, but Committers must checkout the Subversion repository via HTTPS.

    $ svn checkout https://svn.nuxeo.org/nuxeo/nuxeo-ep/trunk nuxeo-ecm

    http://in.relation.to/Bloggers/Seam2IsOut (« …the most important thing about the new release is simply that the codebase is much cleaner. The migration to JSF 1.2 allowed us to solve many problems and remove quite a few hacks. We also repackaged built-in components according to a much more logical schema…« )

    http://en.wikipedia.org/wiki/Apache_Maven (« Maven is a software tool for Java programming language project management and automated software build. It is similar in functionality to the Apache Ant tool (and to a lesser extent, PHP’s PEAR and Perl’s CPAN), but has a simpler build configuration model, based on an XML format. Maven is hosted by the Apache Software Foundation, where it was formerly part of the Jakarta Project. Maven uses a construct known as a Project Object Model (POM) to describe the software project being built, its dependencies on other external modules and components, and the build order…« )

    http://fr.wikipedia.org/wiki/JBoss (« JBoss Application Server est un serveur d’applications J2EE Libre entièrement écrit en Java, publié sous licence LGPL. Parce que le logiciel est écrit en Java, JBoss Application Server peut être utilisé sur tout système d’exploitation fournissant une machine virtuelle Java (JVM). Les développeurs du cœur de JBoss ont tous été employés par une société de services appelée « JBoss Inc. ». Celle-ci a été créée par Marc Fleury, le concepteur de la première version de JBoss. Le projet est sponsorisé par un réseau mondial de partenaires et utilise un business model fondé sur le service. En avril 2006, Red Hat a racheté JBoss Inc. En février 2007 Marc Fleury quitte le groupe Red Hat. JBoss Application Server implémente entièrement l’ensemble des services J2EE. Cela inclue JBoss Portal, JBoss Seam, Tomcat et les frameworks Hibernate, jBPM, et Rules. »)

    http://fr.wikipedia.org/wiki/Subversion_(logiciel)  (« Subversion (en abrégé svn) est un système de gestion de versions, distribué sous licence Apache et BSD. Il a été conçu pour remplacer CVS. Ses auteurs s’appuient volontairement sur les mêmes concepts (notamment sur le principe du dépôt centralisé et unique) et considèrent que le modèle de CVS est le bon, et que seule son implémentation est en cause. Le projet a été lancé en février 2000 par CollabNet, avec l’embauche par Jim Blandy de Karl Fogel, qui travaillait déjà sur un nouveau gestionnaire de version. »)

    http://en.wikipedia.org/wiki/Enterprise_JavaBean (« Enterprise Java Bean is a managed, server-side component architecture for modular construction of enterprise applications.The EJB specification is one of the several Java APIs in the Java Platform, Enterprise Edition. The EJB specification was originally developed in 1997 by  IBM and later adopted by Sun Microsystems (EJB 1.0 and 1.1) and enhanced under the Java Community Process as JSR 19 (EJB 2.0), JSR 153 (EJB 2.1) and JSR 220 (EJB 3.0). The EJB specification intends to provide a standard way to implement the back-end ‘business’ code typically found in enterprise applications (as opposed to ‘front-end’ user-interface code). Such code was frequently found to reproduce the same types of problems, and it was found that solutions to these problems are often repeatedly re-implemented by programmers. Enterprise Java Beans were intended to handle such common concerns as persistence, transactional integrity, and security in a standard way, leaving programmers free to concentrate on the particular problem at hand.)

    http://en.wikipedia.org/wiki/Java_Persistence_API (« …The Java Persistence API was defined as part of the EJB 3.0 specification, which is itself part of the Java EE 5 platform..The Java Persistence API is designed for relational persistence, with many of the key areas taken from object-relational mapping tools such as Hibernate and TopLink. It is generally accepted that the Java Persistence API is a significant improvement on the EJB 2.0 specification…Many enterprise Java developers have been using lightweight persistent objects provided by open-source frameworks or Data Access Objects instead of entity beans because entity beans and enterprise beans were considered too heavyweight and complicated, and they could only be used in Java EE application servers. Many of the features of the third-party persistence frameworks were incorporated into the Java Persistence API, and projects like Hibernate and TopLink are now implementations of the Java Persistence API…« )

    http://en.wikipedia.org/wiki/Red_Hat (« Red Hat, Inc. (NYSERHT) is one of the larger and more recognized companies dedicated to open source software. It is also the largest distributor of the Linux operating system. Red Hat was founded in 1995 and has its corporate headquarters in Raleigh, North Carolina. The company is best known for its enterprise-class operating system, Red Hat Enterprise Linux and more recently through the acquisition of open source enterprise middleware vendor JBoss. Red Hat provides operating system platforms along with middleware, applications, and management solutions, as well as support, training, and consulting services. »)

    Posted in AJAX, Architecture logicielle, Gestion de version, java, JEE, open source, Web applications, Web Frameworks, web2.0 | Tagué: , , , , , , , , | Leave a Comment »

    Rich Internet Application : JavaFX,Adobe/Flex,Silverlight,Moonlight…

    Posted by patrick sur novembre 4, 2007

    Comme d’habitude un point d’entrée pour savoir ce qu’est une application RIA est l’article de Wikipedia:

    RIAs typically:

    Le numéro 102 de Programmez! consacre une bonne partie de ses articles à Rich Internet Application.

    Comme c’est un monde en pleine effervescence on ne fera qu’énumérer les techniques en cours de développement (voir Articles p.32, p.36). Les principales solutions techniques pour faire des « clients riches »:

    • les frameworks Javascript (« Dojo, jQuery, Prototype/Script.aculo.us, Yahoo UI »)
    • JavaServer Faces (JSF): p.32 H. Darmet « ..avec une extension AJAX (comme a4jsf ou ICEFaces) est la solution reine de type « Ajax Hybride » dans le monde Java. Avantages: productivité (avec Seam), ubiquité, sécurité et robustesse…Prise en compte de l’existant que s’il est JSF »
    • Google Web Toolkit (GWT): « …solution de type Ajax total qui favorise les aspects performance, ubiquité, robustesse et sécurité grâce à un ingénieux système de développement en Java… »
    • ASP.NET AJAX (« …proche de JSF avec une extension AJAX. Solution remarquablement outillée par Visual Studio. La prise en compte d’un existant ASP.NET est très aisée.« )
    • Flex(Adobe) : …est la solution de type « applet like » la plus populaire (on estime aux alentours de 97% le nombre de machines équipées du Flash Player), ce qui rend par conséquent les applications Flex relativement multi plates-formes et facilement déployables). Elle en a tous les avantages qui sont les mêmes que celles d’une architecture « Ajax total ». Voir http://planete-accessibilite.com/#article_pa_2
    • Silverlight / Moonlight (« …la solution « applet like » du monde .NET…Elle reprend le principe de construction déclarative de l’IHM popularisé par Flex. L’ubiquité est encore assez limitée. L’outillage avec Visual Studio reste le point fort. »)
    • JavaFX (« ..est la solution « applet-like » du monde Java. Les avantages et limites sont ceux rencontrés par Silverlight, avec moins de crédibilité et de maturité…page 45. « …JavaFX est un produit finalement mal connu: il est présenté comme une solution RIA, mais c’est en fait une nouvelle solution pour construire des applications Swing qu’elles soient RIA ou non. L’intérêt de JavaFX est donc à la fois ailleurs et plus large…toute équipe qui développe une application graphique basée sur swing devrait s’intéresser à JavaFX… »)
    • OpenLaszlo est une plateforme de développement d’applications riches, en open source. Ses applications sont développées via une solution qui produit, à partir du même code source, une application en DHTML (HTML, DOM, CSS et Javascript) ou Flash.
    • XUL/XULRunner (« XUL, pour XML-based User interface Language, est un langage de description d’interfaces graphiques basé sur XML créé dans le cadre du projet Mozilla. XUL se prononce zoul en anglais (pour rimer avec cool, mais aussi en hommage au demi-dieu Zoul dans le film S.O.S. Fantômes). Couplé avec le XULRunner, environnement d’exécution multiplateforme, il forme un couple permettant de créer des Rich Desktop Application« )

    Autres sources:

    Posted in AJAX, DotNet, IDE-GUI, java, RIA, Web applications | Tagué: , , , , , , , , , , , , , , , , , , | 1 Comment »

    OpenSocial : les APIs « sociales » open source de Google

    Posted by patrick sur novembre 3, 2007

    L’article que j’ai écrit le 30 octobre mérite d’être complété. Google qui était en retrait des réseaux sociaux (Orkut) fait une entrée fracassante avec son API « OpenSocial ».

    Source: http://fr.techcrunch.com/2007/10/31/google-lance-jeudi-opensocial-premiers-details/
    Rédigé par Ouriel Ohayon

    Google avait annoncé un plan important concernant sa stratégie de réseau social qui devait être annoncé le 5 novembre. Nous avons révélé de plus amples détails récemment sur ce projet au nom de code “Maka-Maka”. Mais il semble que la réalité va bien au dela de nos attentes. Le projet de Google portera le nom de OpenSocial et ne sera pas un méta-réseau social comme on aurait pu l’imaginer. Il s’agit en fait d’une séries d’API qui permettent à des développeurs de créer des applications compatibles avec toutes les plateformes sociales qui désirent participer au programme.

    Il ne s’agit donc pas d’une n-ième plateforme sociale. L’autre avantage est que ces APIs ne vont pas nécessiter d’apprendre, contrairement à Facebook, un nouveau langage (FBML) et un développeur n’aura plus à choisir la plateforme sociale pour laquelle il doit développer son application. Il pourra même utiliser ses codes existants en Javascript et Html et légèrement les modifier pour mettre cela en place. Il y a 3 types d’API:

    • Celles pour le profil utilisateur,
    • celles pour le réseau social
    • et celles pour le flux d’activités (news feed)

    Si un site accepte de participer, il devra retourner les données appropriées en utilisant ces APIs.Il n’y a pas de précisions concernant certains points clefs comme par exemple la possibilité d’inclure de la publicité ou le mode d’inscription pour user de ces APIs.

    Pour son lancement Google annoncera plusieurs partenaires partagés en “hôte” et “développeurs”. Les Hotes sont ceux qui hébergeent les applications et les développeurs ceux qui les développent. Orkut, Salesforce, LinkedIn, Ning, Hi5, Plaxo, Friendster, Viadeo et Oracle seront les premiers hotes et Flixster, iLike, RockYou et Slide seront les premiers développeurs. Zlio sera la première startup française également partenaire du programme mise à jour: Viadéo serait le second acteur français à faire partie de ce programme

    Comme je l’avais signalé dans ce billet, avec la prolifération des plateformes sociales, un développeur doit faire face à un dilemme quand il s’agit de créer son application et doit soit choisir sa plateforme soit multiplier les efforts pour être présent sur les principales plateformes. Google souhaite rendre ce dilemme caduque et va faciliter la vie des développeurs.

    Autres sources:

    • http://code.google.com/apis/opensocial/ ( » The web is more interesting when you can build apps that easily interact with your friends and colleagues. But with the trend towards more social applications also comes a growing list of site-specific APIs that developers must learn. OpenSocial provides a common set of APIs for social applications across multiple websites. With standard JavaScript and HTML, developers can create apps that access a social network’s friends and update feeds. »)
    • La vidéo: http://www.youtube.com/GoogleDevelopers
    • http://actu.abondance.com/2007/10/opensocial-des-apis-sociales-en-open.html (« Le projet, qui avait au départ reçu le nom de code « Maka-Maka » (ou « MakaMaka ») chez Google, devrait être dévoilé au grand jour demain 1er novembre sous le nom d’OpenSocial : il s’agit d’API (Application Program Interface ou bibliothèques de fonctions pour programmeurs) qui permettra aux développeurs informatiques de créer des applications compatibles avec les réseaux sociaux existants ou tout du moins ceux qui désirent être associés à ce programme. Trois types d’APIs devraient être proposés : profil utilisateur, réseau social lui-même et flux (news feed). Parmi les premiers réseaux pressentis pour participer à ce programme, on trouverait Orkut, Salesforce, LinkedIn, Ning, Hi5, Plaxo, Friendster, Viadeo et Oracle (pour l’instant, Facebook ne semble pas listé…). Pour les premiers développeurs, on trouverait Flixster, iLike, RockYou, Slide et Zlio (la société gérée par Jérémie Berrebi ) pour la France.« )
    • http://opensocialapis.blogspot.com/ ()
    • http://groups.google.com/group/opensocial-api/about
    • Developer Documentation (« The OpenSocial API is a set of common APIs for building social applications on many websites. There are two ways to access the OpenSocial API: client-side using the JavaScript API and server-side using RESTful data APIs…The People and Friends data API allows client applications to view and update People Profiles and Friend relationships using AtomPub GData APIs with a Google data schema. Your client application can request a list of a user’s Friends and query the content in an existing Profile…The Activities data API allows client applications to view and publish « actions » in the OpenSocial platform using AtomPub GData APIs with a Google data schema. Your client application can use the API to create new entries, edit or delete existing entries, and view lists of entries…The Persistence data API allows client applications to view and update key/value content using AtomPub GData APIs with a Google data schema. Your client application can edit or delete content for an existing application, user, or gadget instance, and query the content in an existing feed »)
    • http://code.google.com/apis/opensocial/articles/tutorial.html ( » This tutorial will walk you through the steps required to build a simple social gadget where you can give gifts to your friends. You can find the complete sample code in the opensocial-resources project on Google Code. This demo used the SocialNorms utilities, also part of the opensocial-resources project. These utilities encapsulate some common OpenSocial idioms, making it easier to write social gadgets. Use of SocialNorms for your own gadgets is entirely optional — if you want more control over the data exchanged, feel free to use the APIs directly. Feel free to copy the sample gadget source code and make changes as you go along. Your gadget will need to be hosted publicly, and you can use the Google Gadget Editor, Google Page Creator, Project Hosting on Google Code, or any other webhosting service to host your gadget.« )

    Ajout du mercredi 7 novembre 2007. Reçu sur la liste « inuxfr-news@linuxfr.org »

    o Internet: OpenSocial, un pas de plus vers une « société des réseaux sociaux »
    ---------------------------------------------------------------------------
    Auteur: epot ( http://linuxfr.org/~epot ) @ 23:21
    Thème: Communaute
    
        Depuis jeudi, Google Code ( http://en.wikipedia.org/wiki/Google_Code )
    héberge le projet OpenSocial ( http://code.google.com/apis/opensocial/ ),
    un ensemble d'API qui vont permettre le développement de programmes communs
    pour un certain nombre de sites de réseaux sociaux (
    http://fr.wikipedia.org/wiki/R%C3%A9seau_social ) (voir liste en référence
    [1]).
    
    Avant jeudi, tout programmeur souhaitant développer une application pour
    réseaux sociaux devait apprendre l'API, la syntaxe et parfois même un
    nouveau langage de chacun des réseaux (quand ceux-ci proposaient une API
    accessible de l'extérieur !). Maintenant, OpenSocial permet d'accéder aux
    fonctions de base, au plus petit commun dénominateur entre tous les réseaux
    sociaux participant.
    
    L'API permet ainsi d'accéder : - À l'information de profil ; - À l'information des connaissances ;
    - Aux activités (événements, flux RSS, etc.).
    Un des avantages d'OpenSocial est de se baser sur des langages existants
    (Javascript ( http://fr.wikipedia.org/wiki/Javascript ), HTML (
    http://fr.wikipedia.org/wiki/HTML ) et Flash (
    http://fr.wikipedia.org/wiki/Adobe_Flash )) là où la concurrence (Facebook
    ( http://fr.wikipedia.org/wiki/Facebook ), pour ne pas la citer) impose
    FBML ( http://wiki.developers.facebook.com/index.php/FBML ) [2] par
    exemple). Le code source des exemples est sous licence libre, tout comme la
    documentation. OpenSocial promet de libérer le code source nécessaire aux
    API proprement dites (voir la FAQ (
    http://code.google.com/apis/opensocial/faq.html ) [3]).
    
    Finalement, on arrive petit à petit à une vraie société (ou fédération) de
    réseaux sociaux, où peu importe le site/réseau dans lequel vous êtes
    affilié, vous pourrez utiliser les mêmes applications (qui a parlé de
    standardisation ?). Web 2.0 ( http://en.wikipedia.org/wiki/Web_2 ) [4], les
    applications arrivent !
    
    [fr] - Journal à l'origine de la dépêche ( http://linuxfr.org/redirect/54340.html )
    [en] - [1] Projet OpenSocial ( http://linuxfr.org/redirect/54341.html )
    [en] - [2] FBML ( http://linuxfr.org/redirect/54342.html )
    [en] - [3] FAQ d'OpenSocial ( http://linuxfr.org/redirect/54343.html )
    [en] - [4] Web 2.0 ( http://linuxfr.org/redirect/54344.html )
    [en] - [5] Facebook and Data Control (Bruce Scheier) ( http://linuxfr.org/redirect/54345.html )

    Posted in open source, REST, Web applications, web2.0 | Tagué: , , , , , , , , , | 1 Comment »

    GUILDE: Conférences EyeOS le 15/11/2007 et Ruby le 19/12/2007

    Posted by patrick sur novembre 2, 2007

    La GUILDE a le plaisir de vous annoncer que les deux prochaines conférences Guilde sont planifiées :

    • EyeOS, le bureau web, par Hans B Pufal, jeudi 15 novembre
    • Ruby et Ruby on Rails, par Laurent Julliard, mercredi 19 décembre

    Annonce détaillée pour EyeOS: Conférence EyeOS Jeudi 15 novembre de 19:30 à 21:45, par Hans B Pufal, développeur EyeOS, à l’ENSIMAG, campus de Saint Martin d’Hères, Amphi E.

    EyeOS est un environnement de bureau libre (sous licence GNU/GPL) basé sur une interface Web. Il permet à l’utilisateur d’accéder à son bureau, ses fichiers et ses applications eyeOS à partir de tout navigateur, sur n’importe quel ordinateur, en n’ayant besoin que d’un système de base et d’une connexion internet. EyeOS est écrit en PHP, un langage de script libre. On peut ainsi l’installer sur la plupart des systèmes d’exploitation existants en tant que serveur. Il est également possible d’utiliser un serveur eyeOS existant en se créant simplement un compte. De plus en plus d’applications sont disponibles pour eyeOS, des applications de bureautique (traitement de texte, tableur, etc.) aux jeux, en passant par des applications internet (messagerie instantanée, mail, etc.). Il est donc possible de réaliser toutes les tâches courantes à partir d’un simple navigateur.

    Communication: N’hésitez pas à relayer l’annonce ou à mettre un lien vers cette page: http://www.guilde.asso.fr/rencontres/20071115.

    Vous pouvez également imprimer et diffuser les affiches (PDF) : couleur ou noir et blanc.

    Posted in Guilde, IDE-GUI, php, ruby, Web applications | Tagué: , , , | Leave a Comment »